2004-04-01 Jim Blandy * gdb.stabs/exclfwd.exp, gdb.stabs/exclfwd1.c, gdb.stabs/exclfwd2.c, gdb.stabs/exclfwd.h: New test. Index: gdb/testsuite/gdb.stabs/exclfwd.exp =================================================================== RCS file: gdb/testsuite/gdb.stabs/exclfwd.exp diff -N gdb/testsuite/gdb.stabs/exclfwd.exp *** gdb/testsuite/gdb.stabs/exclfwd.exp 1 Jan 1970 00:00:00 -0000 --- gdb/testsuite/gdb.stabs/exclfwd.exp 1 Apr 2004 20:13:05 -0000 *************** *** 0 **** --- 1,68 ---- + # 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" + gdb_test "ptype v3" "type = const char ." Index: gdb/testsuite/gdb.stabs/exclfwd.h =================================================================== RCS file: gdb/testsuite/gdb.stabs/exclfwd.h diff -N gdb/testsuite/gdb.stabs/exclfwd.h *** gdb/testsuite/gdb.stabs/exclfwd.h 1 Jan 1970 00:00:00 -0000 --- gdb/testsuite/gdb.stabs/exclfwd.h 1 Apr 2004 20:13:05 -0000 *************** *** 0 **** --- 1 ---- + typedef struct a a_t; Index: gdb/testsuite/gdb.stabs/exclfwd1.c =================================================================== RCS file: gdb/testsuite/gdb.stabs/exclfwd1.c diff -N gdb/testsuite/gdb.stabs/exclfwd1.c *** gdb/testsuite/gdb.stabs/exclfwd1.c 1 Jan 1970 00:00:00 -0000 --- gdb/testsuite/gdb.stabs/exclfwd1.c 1 Apr 2004 20:13:05 -0000 *************** *** 0 **** --- 1,14 ---- + #include "exclfwd.h" + + struct a + { + int x, y; + }; + + a_t v1; + + int + main () + { + } + Index: gdb/testsuite/gdb.stabs/exclfwd2.c =================================================================== RCS file: gdb/testsuite/gdb.stabs/exclfwd2.c diff -N gdb/testsuite/gdb.stabs/exclfwd2.c *** gdb/testsuite/gdb.stabs/exclfwd2.c 1 Jan 1970 00:00:00 -0000 --- gdb/testsuite/gdb.stabs/exclfwd2.c 1 Apr 2004 20:13:05 -0000 *************** *** 0 **** --- 1,9 ---- + #include "exclfwd.h" + + struct a + { + const char *c; + }; + + a_t v2; + const char *v3;