Work around issue with GCC 8.5 and earlier

For some reason, GCC 8.5 is unable to recognize this as constructing a
span. Stashing the initializer list into an array first seems to avoid
the issue.

Change-Id: I0a50a732d5ecd370d5eee4e722001d8e198e90d0
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/74147
Commit-Queue: Adam Langley <agl@google.com>
Auto-Submit: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/tls_record.cc b/ssl/tls_record.cc
index 996ca18..7a02883 100644
--- a/ssl/tls_record.cc
+++ b/ssl/tls_record.cc
@@ -246,10 +246,11 @@
   *out_consumed = in.size() - CBS_len(&cbs);
 
   // In TLS 1.3, during the handshake, skip ChangeCipherSpec records.
+  static const uint8_t kChangeCipherSpec[] = {SSL3_MT_CCS};
   if (ssl_has_final_version(ssl) &&
       ssl_protocol_version(ssl) >= TLS1_3_VERSION && SSL_in_init(ssl) &&
       type == SSL3_RT_CHANGE_CIPHER_SPEC &&
-      Span<const uint8_t>(body) == Span<const uint8_t>({SSL3_MT_CCS})) {
+      Span<const uint8_t>(body) == kChangeCipherSpec) {
     ssl->s3->empty_record_count++;
     if (ssl->s3->empty_record_count > kMaxEmptyRecords) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_TOO_MANY_EMPTY_FRAGMENTS);