aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp/anon-union.cc
diff options
context:
space:
mode:
authorMichael Chastain <mec@google.com>2003-08-23 03:55:59 +0000
committerMichael Chastain <mec@google.com>2003-08-23 03:55:59 +0000
commit1105b7eff4c333814e2f260a4ff3df45057a78a4 (patch)
tree7cf20e2e8c5617c7de559da699df9c0b3dc813ae /gdb/testsuite/gdb.cp/anon-union.cc
parentdd21ace235665bd33a51862fe2293c43224c0e59 (diff)
downloadgdb-1105b7eff4c333814e2f260a4ff3df45057a78a4.zip
gdb-1105b7eff4c333814e2f260a4ff3df45057a78a4.tar.gz
gdb-1105b7eff4c333814e2f260a4ff3df45057a78a4.tar.bz2
2003-08-22 Michael Chastain <mec@shout.net>
* gdb.cp: New directory. * gdb.cp/*: Copy from gdb.c++/*. * gdb.c++/*: Remove. * Makefile.in: Change gdb.c++ to gdb.cp. * configure.in: Ditto. * configure: Regnerate.
Diffstat (limited to 'gdb/testsuite/gdb.cp/anon-union.cc')
-rw-r--r--gdb/testsuite/gdb.cp/anon-union.cc55
1 files changed, 55 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/anon-union.cc b/gdb/testsuite/gdb.cp/anon-union.cc
new file mode 100644
index 0000000..0b3fd13
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/anon-union.cc
@@ -0,0 +1,55 @@
+
+struct Foo {
+ union {
+ int zero;
+ unsigned int one;
+ } num1;
+ struct X {
+ int rock;
+ unsigned int rock2;
+ };
+ union {
+ int pebble;
+ X 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;
+};
+
+
+int main()
+{
+ Foo foo = {0, 0};
+
+ foo.paper = 33;
+ foo.pebble = 44;
+ foo.mux = 55;
+
+ Bar bar = {0};
+
+ union {
+ int z;
+ unsigned int w;
+ }; w = 0;
+
+ bar.x = 33;
+
+ w = 45;
+
+}