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