diff options
Diffstat (limited to 'test/FrontendC++/2009-10-27-crash.cpp')
-rw-r--r-- | test/FrontendC++/2009-10-27-crash.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/FrontendC++/2009-10-27-crash.cpp b/test/FrontendC++/2009-10-27-crash.cpp new file mode 100644 index 0000000..ead55e4 --- /dev/null +++ b/test/FrontendC++/2009-10-27-crash.cpp @@ -0,0 +1,42 @@ +// RUN: %llvmgxx -emit-llvm -S %s + +typedef struct +{ + unsigned short a : 1; + unsigned short b : 2; + unsigned short c : 1; + unsigned short d : 1; + unsigned short e : 1; + unsigned short f : 1; + unsigned short g : 2; + unsigned short : 7; + union + { + struct + { + unsigned char h : 1; + unsigned char i : 1; + unsigned char j : 1; + unsigned char : 5; + }; + struct + { + unsigned char k : 3; + unsigned char : 5; + }; + }; + unsigned char : 8; +} tt; + +typedef struct +{ + unsigned char s; + tt t; + unsigned int u; +} ttt; + +ttt X = { + 4, + { 0 }, + 55, +}; |