xref: /llvm-project/clang/test/CodeGenCXX/cxx11-trivial-initializer-struct.cpp (revision c5de4dd1eab00df76c1a68c5f397304ceacb71f2)
1 // RUN: %clang_cc1 -std=c++11 -emit-llvm -o %t-c++11.ll %s -triple x86_64-apple-darwin10
2 // RUN: FileCheck %s < %t-c++11.ll
3 // RUN: %clang_cc1 -std=c++17 -emit-llvm -o %t-c++17.ll %s -triple x86_64-apple-darwin10
4 // RUN: FileCheck %s < %t-c++17.ll
5 // RUN: %clang_cc1  -std=c++98 -emit-llvm -o %t.ll %s -triple x86_64-apple-darwin10
6 // RUN: %clang_cc1  -std=c++03 -emit-llvm -o %t-c++03.ll %s -triple x86_64-apple-darwin10
7 // RUN: diff %t-c++11.ll  %t-c++17.ll
8 // RUN: diff %t.ll  %t-c++03.ll
9 
10 struct sAFSearchPos {
11     unsigned char *pos;
12     unsigned char count;
13 };
14 
15 static volatile struct sAFSearchPos testPositions;
16 // CHECK: @_ZL13testPositions = internal global %struct.sAFSearchPos zeroinitializer
17 
18 static volatile struct sAFSearchPos arrayPositions[100][10][5];
19 // CHECK: @_ZL14arrayPositions = internal global [100 x [10 x [5 x %struct.sAFSearchPos]]] zeroinitializer
20 
main()21 int main() {
22   return testPositions.count + arrayPositions[10][4][3].count;
23 }
24