| 1 | // RUN: %clang_cc1 -triple arm64 %s -verify -emit-llvm -o - | FileCheck %s |
| 2 | // expected-no-diagnostics |
| 3 | |
| 4 | // Make sure we don't enter an infinite loop (rdar://21942503) |
| 5 | |
| 6 | int vals1[] = { |
| 7 | [__objc_yes] = 1, |
| 8 | [__objc_no] = 2 |
| 9 | }; |
| 10 | // CHECK: @vals1 = global [2 x i32] [i32 2, i32 1] |
| 11 | |
| 12 | int vals2[] = { |
| 13 | [true] = 3, |
| 14 | [false] = 4 |
| 15 | }; |
| 16 | // CHECK: @vals2 = global [2 x i32] [i32 4, i32 3] |
| 17 | |
| 18 | int vals3[] = { |
| 19 | [false] = 1, |
| 20 | [true] = 2, |
| 21 | 5 |
| 22 | }; |
| 23 | // CHECK: @vals3 = global [3 x i32] [i32 1, i32 2, i32 5] |
| 24 | |
| 25 | int vals4[2] = { |
| 26 | [true] = 5, |
| 27 | [false] = 6 |
| 28 | }; |
| 29 | // CHECK: @vals4 = global [2 x i32] [i32 6, i32 5] |
| 30 | |
| 31 | int vals5[3] = { |
| 32 | [false] = 1, |
| 33 | [true] = 2, |
| 34 | 6 |
| 35 | }; |
| 36 | // CHECK: @vals5 = global [3 x i32] [i32 1, i32 2, i32 6] |
| 37 | |
| 38 | enum SomeEnum : unsigned char { |
| 39 | blah = 255 |
| 40 | }; |
| 41 | char vals6[] = { |
| 42 | [blah] = 'a' |
| 43 | }; |
| 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" |
| 45 | |