Move compile-time asserts to the top-level.

It's still the case that we have many old compilers that can't cope with
anything else ☹.

Change-Id: Ie5a1987cd5164bdbde0c17effaa62aecb7d12352
Reviewed-on: https://boringssl-review.googlesource.com/5320
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
index 5d490b5..c7090ae 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -990,6 +990,14 @@
 
 #define kNumExtensions (sizeof(kExtensions) / sizeof(struct tls_extension))
 
+OPENSSL_COMPILE_ASSERT(kNumExtensions <=
+                           sizeof(((SSL *)NULL)->s3->tmp.extensions.sent) * 8,
+                       too_many_extensions_for_bitset);
+OPENSSL_COMPILE_ASSERT(kNumExtensions <=
+                           sizeof(((SSL *)NULL)->s3->tmp.extensions.received) *
+                               8,
+                       too_many_extensions_for_bitset);
+
 static const struct tls_extension *tls_extension_find(uint32_t *out_index,
                                                       uint16_t value) {
   unsigned i;
@@ -1042,9 +1050,6 @@
     return NULL; /* should never occur. */
   }
 
-  OPENSSL_COMPILE_ASSERT(
-      kNumExtensions <= sizeof(s->s3->tmp.extensions.sent) * 8,
-      too_many_extensions_for_bitset);
   s->s3->tmp.extensions.sent = 0;
 
   size_t i;
@@ -1646,10 +1651,6 @@
       return 0;
     }
 
-    OPENSSL_COMPILE_ASSERT(
-        kNumExtensions <= sizeof(s->s3->tmp.extensions.received) * 8,
-        too_many_extensions_for_bitset);
-
     unsigned ext_index;
     const struct tls_extension *const ext =
         tls_extension_find(&ext_index, type);
@@ -1882,10 +1883,7 @@
 
   uint32_t received = 0;
   size_t i;
-
-  OPENSSL_COMPILE_ASSERT(
-      kNumExtensions <= sizeof(received) * 8,
-      too_many_extensions_for_bitset);
+  assert(kNumExtensions <= sizeof(received) * 8);
 
   /* There may be no extensions. */
   if (CBS_len(cbs) == 0) {