Try to reduce the size of the array used for compile-time testing by
authorChandler Carruth <chandlerc@gmail.com>
Sat, 16 Jun 2012 09:25:11 +0000 (09:25 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 16 Jun 2012 09:25:11 +0000 (09:25 +0000)
making the bounds all '1', and chunking it a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158598 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/Support/AlignOfTest.cpp

index b86f2bd9c5b7288ad6db57f3415a6fc2d0e6a6bd..c413451f9046ef8a4cfb99d8bf142395cc4ac57c 100644 (file)
@@ -67,50 +67,54 @@ struct V7 : virtual V2, virtual V6 { virtual ~V7(); };
 struct V8 : V5, virtual V6, V7 { double zz; virtual ~V8(); };
 
 // Ensure alignment is a compile-time constant.
-char LLVM_ATTRIBUTE_UNUSED test_arr
-  [AlignOf<char>::Alignment]
-  [AlignOf<short>::Alignment]
-  [AlignOf<int>::Alignment]
-  [AlignOf<long>::Alignment]
-  [AlignOf<long long>::Alignment]
-  [AlignOf<float>::Alignment]
-  [AlignOf<double>::Alignment]
-  [AlignOf<long double>::Alignment]
-  [AlignOf<void *>::Alignment]
-  [AlignOf<int *>::Alignment]
-  [AlignOf<double (*)(double)>::Alignment]
-  [AlignOf<double (S6::*)()>::Alignment]
-  [AlignOf<A1>::Alignment]
-  [AlignOf<A2>::Alignment]
-  [AlignOf<A4>::Alignment]
-  [AlignOf<A8>::Alignment]
-  [AlignOf<SA1>::Alignment]
-  [AlignOf<SA2>::Alignment]
-  [AlignOf<SA4>::Alignment]
-  [AlignOf<SA8>::Alignment]
-  [AlignOf<S1>::Alignment]
-  [AlignOf<S2>::Alignment]
-  [AlignOf<S3>::Alignment]
-  [AlignOf<S4>::Alignment]
-  [AlignOf<S5>::Alignment]
-  [AlignOf<S6>::Alignment]
-  [AlignOf<D1>::Alignment]
-  [AlignOf<D2>::Alignment]
-  [AlignOf<D3>::Alignment]
-  [AlignOf<D4>::Alignment]
-  [AlignOf<D5>::Alignment]
-  [AlignOf<D6>::Alignment]
-  [AlignOf<D7>::Alignment]
-  [AlignOf<D8>::Alignment]
-  [AlignOf<D9>::Alignment]
-  [AlignOf<V1>::Alignment]
-  [AlignOf<V2>::Alignment]
-  [AlignOf<V3>::Alignment]
-  [AlignOf<V4>::Alignment]
-  [AlignOf<V5>::Alignment]
-  [AlignOf<V6>::Alignment]
-  [AlignOf<V7>::Alignment]
-  [AlignOf<V8>::Alignment];
+char LLVM_ATTRIBUTE_UNUSED test_arr1
+  [AlignOf<char>::Alignment > 0]
+  [AlignOf<short>::Alignment > 0]
+  [AlignOf<int>::Alignment > 0]
+  [AlignOf<long>::Alignment > 0]
+  [AlignOf<long long>::Alignment > 0]
+  [AlignOf<float>::Alignment > 0]
+  [AlignOf<double>::Alignment > 0]
+  [AlignOf<long double>::Alignment > 0]
+  [AlignOf<void *>::Alignment > 0]
+  [AlignOf<int *>::Alignment > 0]
+  [AlignOf<double (*)(double)>::Alignment > 0]
+  [AlignOf<double (S6::*)()>::Alignment > 0];
+char LLVM_ATTRIBUTE_UNUSED test_arr2
+  [AlignOf<A1>::Alignment > 0]
+  [AlignOf<A2>::Alignment > 0]
+  [AlignOf<A4>::Alignment > 0]
+  [AlignOf<A8>::Alignment > 0]
+  [AlignOf<SA1>::Alignment > 0]
+  [AlignOf<SA2>::Alignment > 0]
+  [AlignOf<SA4>::Alignment > 0]
+  [AlignOf<SA8>::Alignment > 0];
+char LLVM_ATTRIBUTE_UNUSED test_arr3
+  [AlignOf<S1>::Alignment > 0]
+  [AlignOf<S2>::Alignment > 0]
+  [AlignOf<S3>::Alignment > 0]
+  [AlignOf<S4>::Alignment > 0]
+  [AlignOf<S5>::Alignment > 0]
+  [AlignOf<S6>::Alignment > 0];
+char LLVM_ATTRIBUTE_UNUSED test_arr4
+  [AlignOf<D1>::Alignment > 0]
+  [AlignOf<D2>::Alignment > 0]
+  [AlignOf<D3>::Alignment > 0]
+  [AlignOf<D4>::Alignment > 0]
+  [AlignOf<D5>::Alignment > 0]
+  [AlignOf<D6>::Alignment > 0]
+  [AlignOf<D7>::Alignment > 0]
+  [AlignOf<D8>::Alignment > 0]
+  [AlignOf<D9>::Alignment > 0];
+char LLVM_ATTRIBUTE_UNUSED test_arr5
+  [AlignOf<V1>::Alignment > 0]
+  [AlignOf<V2>::Alignment > 0]
+  [AlignOf<V3>::Alignment > 0]
+  [AlignOf<V4>::Alignment > 0]
+  [AlignOf<V5>::Alignment > 0]
+  [AlignOf<V6>::Alignment > 0]
+  [AlignOf<V7>::Alignment > 0]
+  [AlignOf<V8>::Alignment > 0];
 
 TEST(AlignOfTest, BasicAlignmentInvariants) {
   // For a very strange reason, many compilers do not support this. Both Clang