diff options
Diffstat (limited to 'clang/test/CodeGen/2010-07-14-ref-off-end.c')
-rw-r--r-- | clang/test/CodeGen/2010-07-14-ref-off-end.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/CodeGen/2010-07-14-ref-off-end.c b/clang/test/CodeGen/2010-07-14-ref-off-end.c new file mode 100644 index 0000000..580ae88 --- /dev/null +++ b/clang/test/CodeGen/2010-07-14-ref-off-end.c @@ -0,0 +1,24 @@ +// RUN: %clang_cc1 %s -emit-llvm -triple i386-apple-darwin -o - | FileCheck %s +extern void abort(); +extern void exit(int); +struct T +{ +unsigned i:8; +unsigned c:24; +}; +f(struct T t) +{ +struct T s[1]; +s[0]=t; +return(char)s->c; +} +main() +{ +// CHECK: getelementptr inbounds [1 x %struct.T]* %s, i32 0, i32 0 +// CHECK: getelementptr inbounds [1 x %struct.T]* %s, i32 0, i32 0 +struct T t; +t.i=0xff; +t.c=0xffff11; +if(f(t)!=0x11)abort(); +exit(0); +} |