From 5c98409bd6064e84adfbfaded8484f8215843253 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Thu, 22 Apr 2004 21:11:56 +0000 Subject: [PATCH] * gdb.stabs/exclfwd.exp, gdb.stabs/exclfwd1.c, gdb.stabs/exclfwd2.c, gdb.stabs/exclfwd.h: New test. --- gdb/testsuite/ChangeLog | 5 ++ gdb/testsuite/gdb.stabs/exclfwd.exp | 72 +++++++++++++++++++++++++++++ gdb/testsuite/gdb.stabs/exclfwd.h | 22 +++++++++ gdb/testsuite/gdb.stabs/exclfwd1.c | 34 ++++++++++++++ gdb/testsuite/gdb.stabs/exclfwd2.c | 30 ++++++++++++ 5 files changed, 163 insertions(+) create mode 100644 gdb/testsuite/gdb.stabs/exclfwd.exp create mode 100644 gdb/testsuite/gdb.stabs/exclfwd.h create mode 100644 gdb/testsuite/gdb.stabs/exclfwd1.c create mode 100644 gdb/testsuite/gdb.stabs/exclfwd2.c diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9e512ebf41b..d11849cc22e 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-04-22 Jim Blandy + + * gdb.stabs/exclfwd.exp, gdb.stabs/exclfwd1.c, + gdb.stabs/exclfwd2.c, gdb.stabs/exclfwd.h: New test. + 2004-04-21 Michael Chastain * gdb.stabs/weird.exp: Accept full pathname for $binfile. diff --git a/gdb/testsuite/gdb.stabs/exclfwd.exp b/gdb/testsuite/gdb.stabs/exclfwd.exp new file mode 100644 index 00000000000..05ab97c0fb0 --- /dev/null +++ b/gdb/testsuite/gdb.stabs/exclfwd.exp @@ -0,0 +1,72 @@ +# Copyright 2004 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@gnu.org + +if $tracelevel { + strace $tracelevel +} + +# +# test running programs +# +set prms_id 0 +set bug_id 0 + +set testfile exclfwd +set binfile ${objdir}/${subdir}/${testfile} + +foreach file {exclfwd1 exclfwd2} { + if {[gdb_compile "${srcdir}/${subdir}/${file}.c" "${file}.o" object {debug}] != ""} { + gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." + } +} + +if {[gdb_compile "exclfwd1.o exclfwd2.o" ${binfile} executable {debug}] != "" } { + gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if ![runto_main] then { + perror "couldn't run to breakpoint" + continue +} + +get_debug_format + +set eol "\[ \t\]*\[\n\r\]+" + +gdb_test "ptype v1" "type = struct a {$eol + int x;$eol + int y;$eol +}$eol" + +if { [test_debug_format "stabs"] } then { + setup_kfail "gdb/1602" *-*-* +} +gdb_test "ptype v2" "type = struct a {$eol + const char .c;$eol +}$eol" + +if { [test_debug_format "stabs"] } then { + setup_kfail "gdb/1603" *-*-* +} +gdb_test "ptype v3" "type = const char ." diff --git a/gdb/testsuite/gdb.stabs/exclfwd.h b/gdb/testsuite/gdb.stabs/exclfwd.h new file mode 100644 index 00000000000..3f064b12857 --- /dev/null +++ b/gdb/testsuite/gdb.stabs/exclfwd.h @@ -0,0 +1,22 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2004 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@gnu.org */ + +typedef struct a a_t; diff --git a/gdb/testsuite/gdb.stabs/exclfwd1.c b/gdb/testsuite/gdb.stabs/exclfwd1.c new file mode 100644 index 00000000000..a7574e5098b --- /dev/null +++ b/gdb/testsuite/gdb.stabs/exclfwd1.c @@ -0,0 +1,34 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2004 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@gnu.org */ + +#include "exclfwd.h" + +struct a +{ + int x, y; +}; + +a_t v1; + +int +main () +{ +} diff --git a/gdb/testsuite/gdb.stabs/exclfwd2.c b/gdb/testsuite/gdb.stabs/exclfwd2.c new file mode 100644 index 00000000000..f7de01544be --- /dev/null +++ b/gdb/testsuite/gdb.stabs/exclfwd2.c @@ -0,0 +1,30 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2004 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@gnu.org */ + +#include "exclfwd.h" + +struct a +{ + const char *c; +}; + +a_t v2; +const char *v3; -- 2.30.2