summaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2003-06-29 20:32:23 +0000
committerDaniel Jacobowitz <dan@debian.org>2003-06-29 20:32:23 +0000
commit73429cb9e07c579b20b98968eb368b235449da88 (patch)
tree5cdfb125e3a3948e9cfbc0ef32182bb0989d23ec /gdb/testsuite
parent1a91fd633326dc16c4ec2c76dfdb9e51c436d192 (diff)
downloadgdb-73429cb9e07c579b20b98968eb368b235449da88.tar.gz
* 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')
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.base/completion.exp16
-rw-r--r--gdb/testsuite/gdb.base/complex.c49
-rw-r--r--gdb/testsuite/gdb.base/complex.exp63
4 files changed, 126 insertions, 8 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 429139dff26..3dd9b3cb56a 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2003-06-29 Daniel Jacobowitz <drow@mvista.com>
+ * gdb.base/completion.exp: Tab-complete "complet" instead of
+ "compl".
+ * gdb.base/complex.exp, gdb.base/complex.c: New files.
+
+2003-06-29 Daniel Jacobowitz <drow@mvista.com>
+
* gdb.base/constvars.exp: Remove most xfails for GCC 3.x.
* gdb.base/volatile.exp: Likewise.
diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp
index 9c721b113f6..1ac5a5092d3 100644
--- a/gdb/testsuite/gdb.base/completion.exp
+++ b/gdb/testsuite/gdb.base/completion.exp
@@ -677,7 +677,7 @@ gdb_test "cd ${fullsrcdir}" \
"Working directory [string_to_regexp ${fullsrcdir}].*" \
"cd to \${srcdir}"
-send_gdb "file ./gdb.base/compl\t"
+send_gdb "file ./gdb.base/complet\t"
sleep 1
gdb_expect {
-re "^file ./gdb.base/completion\\.exp $"\
@@ -688,17 +688,17 @@ gdb_expect {
{ send_gdb "n\n"
gdb_expect {
-re "\r\nProgram not killed\\.\r\n$gdb_prompt $"\
- { pass "complete 'file ./gdb.base/compl'"}
- -re ".*$gdb_prompt $" { fail "complete 'file ./gdb.base/compl'"}
- timeout {fail "(timeout) complete 'file ./gdb.base/compl'"}
+ { pass "complete 'file ./gdb.base/complet'"}
+ -re ".*$gdb_prompt $" { fail "complete 'file ./gdb.base/complet'"}
+ timeout {fail "(timeout) complete 'file ./gdb.base/complet'"}
}
}
- -re ".*$gdb_prompt $" { fail "complete 'file ./gdb.base/compl'"}
- timeout {fail "(timeout) complete 'file ./gdb.base/compl'"}
+ -re ".*$gdb_prompt $" { fail "complete 'file ./gdb.base/complet'"}
+ timeout {fail "(timeout) complete 'file ./gdb.base/complet'"}
}
}
- -re ".*$gdb_prompt $" { fail "complete 'file ./gdb.base/compl'" }
- timeout { fail "(timeout) complete 'file ./gdb.base/compl'" }
+ -re ".*$gdb_prompt $" { fail "complete 'file ./gdb.base/complet'" }
+ timeout { fail "(timeout) complete 'file ./gdb.base/complet'" }
}
send_gdb "info func marke\t"
diff --git a/gdb/testsuite/gdb.base/complex.c b/gdb/testsuite/gdb.base/complex.c
new file mode 100644
index 00000000000..98cdd29d0ea
--- /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 ();
+}
diff --git a/gdb/testsuite/gdb.base/complex.exp b/gdb/testsuite/gdb.base/complex.exp
new file mode 100644
index 00000000000..f3f25e561b7
--- /dev/null
+++ b/gdb/testsuite/gdb.base/complex.exp
@@ -0,0 +1,63 @@
+# Copyright 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+set bug_id 0
+
+set testfile complex
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+set options debug
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $options] != "" } {
+ # No support for __complex__, presumably.
+ unsupported "print complex packed value in C"
+ unsupported "print complex value in C"
+ return 0
+}
+
+# Start with a fresh gdb.
+
+if [get_compiler_info ${binfile}] {
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load $binfile
+
+if [runto f2] then {
+ get_debug_format
+ if {$gcc_compiled == 2 && [test_debug_format "DWARF 2"]} then {
+ setup_xfail "*-*-*"
+ }
+ gdb_test "p *y" "\\\$\[0-9\]* = \{c = 42 '\\*', f = 1 \\+ 0 \\* I\}" \
+ "print complex packed value in C"
+}
+
+if [runto f4] then {
+ gdb_test "p *y" "\\\$\[0-9\]* = \{c = 42 '\\*', f = 1 \\+ 0 \\* I\}" \
+ "print complex value in C"
+}
+
+return 0