blob: 1773f269fe1fac363295fb04c9d89d823f60c098 [file] [log] [blame]
Richard Smith50309282019-08-30 22:52:55 +00001// RUN: %clang_cc1 -triple arm64 %s -verify -emit-llvm -o - -Wno-c99-designator | FileCheck %s
Argyrios Kyrtzidis4746c2f2015-07-27 23:16:53 +00002// expected-no-diagnostics
3
4// Make sure we don't enter an infinite loop (rdar://21942503)
5
6int vals1[] = {
7 [__objc_yes] = 1,
8 [__objc_no] = 2
9};
10// CHECK: @vals1 = global [2 x i32] [i32 2, i32 1]
11
12int vals2[] = {
13 [true] = 3,
14 [false] = 4
15};
16// CHECK: @vals2 = global [2 x i32] [i32 4, i32 3]
17
18int vals3[] = {
19 [false] = 1,
20 [true] = 2,
21 5
22};
23// CHECK: @vals3 = global [3 x i32] [i32 1, i32 2, i32 5]
24
25int vals4[2] = {
26 [true] = 5,
27 [false] = 6
28};
29// CHECK: @vals4 = global [2 x i32] [i32 6, i32 5]
30
31int vals5[3] = {
32 [false] = 1,
33 [true] = 2,
34 6
35};
36// CHECK: @vals5 = global [3 x i32] [i32 1, i32 2, i32 6]
Argyrios Kyrtzidis27058192015-07-28 00:01:13 +000037
38enum SomeEnum : unsigned char {
39 blah = 255
40};
41char 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"