1 // RUN: %clang_cc1 -triple i686-pc-linux -emit-llvm < %s | FileCheck %s
2 // All of these should uses the memory representation of _Bool
3 
4 // CHECK-LABEL: %struct.teststruct1 = type { i8, i8 }
5 // CHECK-LABEL: @test1 = common global %struct.teststruct1
6 struct teststruct1 {_Bool a, b;} test1;
7 
8 // CHECK-LABEL: @test2 = common global i8* null
9 _Bool* test2;
10 
11 // CHECK-LABEL: @test3 = common global [10 x i8]
12 _Bool test3[10];
13 
14 // CHECK-LABEL: @test4 = common global [0 x i8]* null
15 _Bool (*test4)[];
16 
17 // CHECK-LABEL: define void @f(i32 %x)
f(int x)18 void f(int x) {
19   // CHECK: alloca i8, align 1
20   _Bool test5;
21 
22   // CHECK: alloca i8, i32 %{{.*}}, align 1
23   _Bool test6[x];
24 }
25