summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2010-03-09 21:32:27 +0000
committerDevang Patel <dpatel@apple.com>2010-03-09 21:32:27 +0000
commit4f26205ba8a596e06b5111ca8eb796bfe7c55737 (patch)
tree445ef73270efaeb5f22f5ada4d076f46ef5bc8be /clang/test
parent3dde457b949bdd11cbb891c1047d2b6c243c0ab6 (diff)
downloadbcm5719-llvm-4f26205ba8a596e06b5111ca8eb796bfe7c55737.tar.gz
bcm5719-llvm-4f26205ba8a596e06b5111ca8eb796bfe7c55737.zip
More then one anonymous aggregates on one line creates chaos when MDNode uniquness is combined with RAUW operation. Right solution is to avoid using RAUW.
This fixes PR 6554. llvm-svn: 98083
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGenCXX/2010-03-09-AnonAggregate.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/2010-03-09-AnonAggregate.cpp b/clang/test/CodeGenCXX/2010-03-09-AnonAggregate.cpp
new file mode 100644
index 00000000000..99883d82636
--- /dev/null
+++ b/clang/test/CodeGenCXX/2010-03-09-AnonAggregate.cpp
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -g -S -o %t %s
+// PR: 6554
+// More then one anonymous aggregates on one line creates chaos when MDNode uniquness is
+// combined with RAUW operation.
+// This test case causes crashes if malloc is configured to trip buffer overruns.
+class MO {
+
+ union { struct { union { int BA; } Val; int Offset; } OffsetedInfo; } Contents;
+
+};
+
+class MO m;
OpenPOWER on IntegriCloud