summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/2009-03-08-ZeroEltStructCrash.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGen/2009-03-08-ZeroEltStructCrash.c')
-rw-r--r--clang/test/CodeGen/2009-03-08-ZeroEltStructCrash.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGen/2009-03-08-ZeroEltStructCrash.c b/clang/test/CodeGen/2009-03-08-ZeroEltStructCrash.c
new file mode 100644
index 0000000..b530eb7
--- /dev/null
+++ b/clang/test/CodeGen/2009-03-08-ZeroEltStructCrash.c
@@ -0,0 +1,14 @@
+// RUN: %clang_cc1 -emit-llvm %s -o -
+// PR3744
+struct Empty {};
+struct Union {
+ union {
+ int zero_arr[0];
+ } contents;
+};
+static inline void Foo(struct Union *u) {
+ int *array = u->contents.zero_arr;
+}
+static void Bar(struct Union *u) {
+ Foo(u);
+}