summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStuart Hastings <stuart@apple.com>2010-06-23 00:31:14 +0000
committerStuart Hastings <stuart@apple.com>2010-06-23 00:31:14 +0000
commitc0efbd5b31d736d778db08abd8c169cbea05a225 (patch)
tree28c0609e89d2c98d8ee5a5275f64d4fa4d56b713
parent2a33a0deef6fa3c16e09666553703e6adefaf908 (diff)
downloadbcm5719-llvm-c0efbd5b31d736d778db08abd8c169cbea05a225.tar.gz
bcm5719-llvm-c0efbd5b31d736d778db08abd8c169cbea05a225.zip
Less incorrect handling of zero-length bitfields. Radars 7992077 and 8093043.
llvm-svn: 106611
-rw-r--r--llvm/test/FrontendC++/2010-06-22-BitfieldInit.cpp20
-rw-r--r--llvm/test/FrontendC++/2010-06-22-ZeroBitfield.cpp5
2 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/FrontendC++/2010-06-22-BitfieldInit.cpp b/llvm/test/FrontendC++/2010-06-22-BitfieldInit.cpp
new file mode 100644
index 00000000000..1cfe1f9f6fd
--- /dev/null
+++ b/llvm/test/FrontendC++/2010-06-22-BitfieldInit.cpp
@@ -0,0 +1,20 @@
+// RUN: %llvmgxx -g -c %s
+struct TEST2
+{
+ int subid:32;
+ int :0;
+};
+
+typedef struct _TEST3
+{
+ TEST2 foo;
+ TEST2 foo2;
+} TEST3;
+
+TEST3 test =
+ {
+ {0},
+ {0}
+ };
+
+int main() { return 0; }
diff --git a/llvm/test/FrontendC++/2010-06-22-ZeroBitfield.cpp b/llvm/test/FrontendC++/2010-06-22-ZeroBitfield.cpp
new file mode 100644
index 00000000000..c979f8d9b91
--- /dev/null
+++ b/llvm/test/FrontendC++/2010-06-22-ZeroBitfield.cpp
@@ -0,0 +1,5 @@
+// RUN: %llvmgxx -g -c %s
+struct s8_0 { unsigned : 0; };
+struct s8_1 { double x; };
+struct s8 { s8_0 a; s8_1 b; };
+s8 f8() { return s8(); }
OpenPOWER on IntegriCloud