aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/complex.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2003-06-29 20:32:23 +0000
committerDaniel Jacobowitz <drow@false.org>2003-06-29 20:32:23 +0000
commitf1c2644b9200419c3ba04bb7d4223968fb593e1d (patch)
tree408b6f40d197466d4ae923b820edb9f7cdedf8bf /gdb/testsuite/gdb.base/complex.c
parent180803508ccf513d06e13c10a5aba4ef4776a390 (diff)
downloadbinutils-f1c2644b9200419c3ba04bb7d4223968fb593e1d.zip
binutils-f1c2644b9200419c3ba04bb7d4223968fb593e1d.tar.gz
binutils-f1c2644b9200419c3ba04bb7d4223968fb593e1d.tar.bz2
* gdb.base/completion.exp: Tab-complete "complet" instead of
"compl". * gdb.base/complex.exp, gdb.base/complex.c: New files.
Diffstat (limited to 'gdb/testsuite/gdb.base/complex.c')
-rw-r--r--gdb/testsuite/gdb.base/complex.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/complex.c b/gdb/testsuite/gdb.base/complex.c
new file mode 100644
index 0000000..98cdd29
--- /dev/null
+++ b/gdb/testsuite/gdb.base/complex.c
@@ -0,0 +1,49 @@
+/* Test taken from GCC. Verify that we can print a structure containing
+ a complex number. */
+
+typedef __complex__ float cf;
+struct x { char c; cf f; } __attribute__ ((__packed__));
+struct unpacked_x { char c; cf f; };
+extern void f4 (struct unpacked_x*);
+extern void f3 (void);
+extern void f2 (struct x*);
+extern void f1 (void);
+int
+main (void)
+{
+ f1 ();
+ f3 ();
+ exit (0);
+}
+
+void
+f1 (void)
+{
+ struct x s;
+ s.f = 1;
+ s.c = 42;
+ f2 (&s);
+}
+
+void
+f2 (struct x *y)
+{
+ if (y->f != 1 || y->c != 42)
+ abort ();
+}
+
+void
+f3 (void)
+{
+ struct unpacked_x s;
+ s.f = 1;
+ s.c = 42;
+ f4 (&s);
+}
+
+void
+f4 (struct unpacked_x *y)
+{
+ if (y->f != 1 || y->c != 42)
+ abort ();
+}