[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / CodeGenObjCXX / designated-initializers.mm
blob1542f1778fc77c8b57272e93536274bec9a740c6
1 // RUN: %clang_cc1 -triple arm64 %s -verify -emit-llvm -o - -Wno-c99-designator | FileCheck %s
2 // expected-no-diagnostics
4 // Make sure we don't enter an infinite loop (rdar://21942503)
6 int vals1[] = {
7   [__objc_yes] = 1,
8   [__objc_no] = 2
9 };
10 // CHECK: @vals1 ={{.*}} global [2 x i32] [i32 2, i32 1]
12 int vals2[] = {
13   [true] = 3,
14   [false] = 4
16 // CHECK: @vals2 ={{.*}} global [2 x i32] [i32 4, i32 3]
18 int vals3[] = {
19   [false] = 1,
20   [true] = 2,
21   5
23 // CHECK: @vals3 ={{.*}} global [3 x i32] [i32 1, i32 2, i32 5]
25 int vals4[2] = {
26   [true] = 5,
27   [false] = 6
29 // CHECK: @vals4 ={{.*}} global [2 x i32] [i32 6, i32 5]
31 int vals5[3] = {
32   [false] = 1,
33   [true] = 2,
34   6
36 // CHECK: @vals5 ={{.*}} global [3 x i32] [i32 1, i32 2, i32 6]
38 enum SomeEnum : unsigned char {
39   blah = 255
41 char vals6[] = {
42   [blah] = 'a'
44 // CHECK: @vals6 ={{.*}} global [256 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a"