a bitfield stress test to exercise various parts of the front-end.
authorChris Lattner <sabre@nondot.org>
Fri, 19 Sep 2003 05:22:10 +0000 (05:22 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 19 Sep 2003 05:22:10 +0000 (05:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8602 91177308-0d34-0410-b5e6-96231b3b80d8

test/CFrontend/2003-09-18-BitfieldTests.c [new file with mode: 0644]

diff --git a/test/CFrontend/2003-09-18-BitfieldTests.c b/test/CFrontend/2003-09-18-BitfieldTests.c
new file mode 100644 (file)
index 0000000..e8435ca
--- /dev/null
@@ -0,0 +1,28 @@
+
+typedef struct BF {
+  int A : 1;
+  char B;
+  int C : 13;
+} BF;
+
+char *test1(BF *b) {
+  return &b->B;        // Must be able to address non-bitfield
+}
+
+void test2(BF *b) {    // Increment and decrement operators
+  b->A++;
+  --b->C;
+}
+
+void test3(BF *b) {
+   b->C = 12345;        // Store
+}
+
+int test4(BF *b) {
+  return b->C;         // Load
+}
+
+void test5(BF *b, int i) { // array ref
+  b[i].C = 12345;
+}
+