summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.c++/anon-union.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.c++/anon-union.cc')
-rw-r--r--gdb/testsuite/gdb.c++/anon-union.cc54
1 files changed, 54 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.c++/anon-union.cc b/gdb/testsuite/gdb.c++/anon-union.cc
new file mode 100644
index 00000000000..c58a3068223
--- /dev/null
+++ b/gdb/testsuite/gdb.c++/anon-union.cc
@@ -0,0 +1,54 @@
+
+struct Foo {
+ union {
+ int zero;
+ unsigned int one;
+ } num1;
+
+ union {
+ int pebble;
+ struct {
+ int rock;
+ unsigned int rock2;
+ } x;
+ union {
+ int qux;
+ unsigned int mux;
+ };
+ unsigned int boulder;
+ };
+ union {
+ int paper;
+ unsigned int cloth;
+ };
+ union {
+ int two;
+ unsigned int three;
+ } num2;
+};
+
+union Bar {
+ int x;
+ unsigned int y;
+};
+
+Foo foo;
+Bar bar;
+
+int main()
+{
+ foo.paper = 33;
+ foo.pebble = 44;
+ foo.mux = 55;
+
+ bar.x = 33;
+
+ union
+ {
+ int z;
+ unsigned int w;
+ };
+
+ w = 45;
+
+}