2001-09-27 Michael Snyder <msnyder@redhat.com>

* lib/gdb.exp (test_debug_format): New proc.
	(setup_xfail_format): Use new proc test_debug_format.
	* gdb.base/constvars.exp (local_compiler_xfail_check): New
	proc; use new service proc test_debug_format.
	Replace all other "gcc_compiled" tests with this test.
	* gdb.base/volatile.exp (local_compiler_xfail_check): New
	proc; use new service proc test_debug_format.
	Replace all other "gcc_compiled" tests with this test.
This commit is contained in:
Michael Snyder 2001-09-27 21:35:56 +00:00
parent 56e2d25ab5
commit b55a47712d
4 changed files with 153 additions and 103 deletions

View File

@ -1,3 +1,20 @@
2001-09-27 Michael Snyder <msnyder@redhat.com>
* lib/gdb.exp (test_debug_format): New proc.
(setup_xfail_format): Use new proc test_debug_format.
* gdb.base/constvars.exp (local_compiler_xfail_check): New
proc; use new service proc test_debug_format.
Replace all other "gcc_compiled" tests with this test.
* gdb.base/volatile.exp (local_compiler_xfail_check): New
proc; use new service proc test_debug_format.
Replace all other "gcc_compiled" tests with this test.
2001-09-27 Michael Snyder <msnyder@redhat.com>
* gdb.base/cvexpr.exp: New file.
* gdb.base/cvexpr.c: New file
Test for expressions using const and volatile keywords.
2001-09-26 Corinna Vinschen <vinschen@redhat.com>
* gdb.base/constvars.exp: Check for different orders of keywords

View File

@ -72,6 +72,19 @@ if ![runto_main] then {
continue
}
get_debug_format
proc local_compiler_xfail_check { } {
global gcc_compiled;
if {$gcc_compiled} then {
if { ![test_debug_format "HP"] \
&& ![test_debug_format "DWARF 2"] } then {
setup_xfail "*-*-*"
}
}
}
send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
send_gdb "cont\n"
@ -107,7 +120,7 @@ send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
# test function parameters
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
send_gdb "ptype qux1\n"
gdb_expect {
-re "type = int \\(const char, const char, const char \\*, char \\* const\\).*$gdb_prompt $" {
@ -120,8 +133,6 @@ gdb_expect {
# test vars and pointers
proc do_constvar_tests {} {
global gcc_compiled
gdb_test "print lave" " = 66 'B'"
gdb_test "ptype lave" "type = char"
gdb_test "print lavish" " = 10 '\\\\n'"
@ -129,136 +140,137 @@ proc do_constvar_tests {} {
gdb_test "print lax" " = 20"
gdb_test "ptype lax" "type = short.*"
gdb_test "print lecherous" " = 30"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lecherous" "type = (unsigned short|short unsigned)( int)?"
gdb_test "print lechery" " = 40"
gdb_test "ptype lechery" "type = long.*"
gdb_test "print lectern" " = 50"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lectern" "type = (unsigned long|long unsigned)( int)?"
gdb_test "print leeway" " = 60"
gdb_test "ptype leeway" "type = float"
gdb_test "print legacy" " = 70"
gdb_test "ptype legacy" "type = double"
gdb_test "print laconic" " = 65 'A'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype laconic" "type = const char"
gdb_test "print laggard" " = 1 '.001'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype laggard" "type = const unsigned char"
gdb_test "print lagoon" " = 2"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lagoon" "type = const short( int)?"
gdb_test "print laity" " = 3"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype laity" "type = const (unsigned short|short unsigned)( int)?"
gdb_test "print lambent" " = 4"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lambent" "type = const long( int)?"
gdb_test "print laminated" " = 5"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype laminated" "type = const (unsigned long|long unsigned)( int)?"
gdb_test "print lampoon" " = 6"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lampoon" "type = const float"
gdb_test "print languid" " = 7"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype languid" "type = const double"
gdb_test "print *legend" " = 66 'B'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype legend" "type = const char \\*"
gdb_test "print *legerdemain" " = 10 '\\\\n'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype legerdemain" "type = const unsigned char \\*"
gdb_test "print *leniency" " = 20"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype leniency" "type = const short( int)? \\*"
gdb_test "print *leonine" " = 30"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype leonine" "type = const (unsigned short|short unsigned)( int)? \\*"
gdb_test "print *lesion" " = 40"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lesion" "type = const long( int)? \\*"
gdb_test "print *lethal" " = 50"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lethal" "type = const (unsigned long|long unsigned)( int)? \\*"
gdb_test "print *lethargic" " = 60"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lethargic" "type = const float \\*"
gdb_test "print *levity" " = 70"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype levity" "type = const double \\*"
gdb_test "print *lewd" " = 65 'A'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lewd" "type = const char \\* const"
gdb_test "print *lexicographer" " = 1 '.001'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lexicographer" "type = const unsigned char \\* const"
gdb_test "print *lexicon" " = 2"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lexicon" "type = const short( int)? \\* const"
gdb_test "print *liaison" " = 3"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype liaison" "type = const (unsigned short|short unsigned)( int)? \\* const"
gdb_test "print *libation" " = 4"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype libation" "type = const long( int)? \\* const"
gdb_test "print *libelous" " = 5"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype libelous" "type = const (unsigned long|long unsigned)( int)? \\* const"
gdb_test "print *libertine" " = 6"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype libertine" "type = const float \\* const"
gdb_test "print *libidinous" " = 7"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype libidinous" "type = const double \\* const"
gdb_test "print *languish" " = 65 'A'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype languish" "type = const char \\*"
gdb_test "print *languor" " = 1 '.001'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype languor" "type = const unsigned char \\*"
gdb_test "print *lank" " = 2"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lank" "type = const short( int)? \\*"
gdb_test "print *lapidary" " = 3"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lapidary" "type = const (unsigned short|short unsigned)( int)? \\*"
gdb_test "print *larceny" " = 4"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype larceny" "type = const long( int)? \\*"
gdb_test "print *largess" " = 5"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype largess" "type = const (unsigned long|long unsigned)( int)? \\*"
gdb_test "print *lascivious" " = 6"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lascivious" "type = const float \\*"
gdb_test "print *lassitude" " = 7"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lassitude" "type = const double \\*"
gdb_test "print *lamprey" " = 66 'B'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lamprey" "type = char \\* const"
gdb_test "print *lariat" " = 10 '\\\\n'"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lariat" "type = unsigned char \\* const"
gdb_test "print *laudanum" " = 20"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype laudanum" "type = short( int)? \\* const"
gdb_test "print *lecithin" " = 30"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lecithin" "type = (unsigned short|short unsigned)( int)? \\* const"
gdb_test "print *leviathan" " = 40"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype leviathan" "type = long( int)? \\* const"
gdb_test "print *libretto" " = 50"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype libretto" "type = (unsigned long|long unsigned)( int)? \\* const"
gdb_test "print *lissome" " = 60"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype lissome" "type = float \\* const"
gdb_test "print *locust" " = 70"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype locust" "type = double \\* const"
}

View File

@ -79,6 +79,19 @@ if ![runto_main] then {
continue
}
get_debug_format
proc local_compiler_xfail_check { } {
global gcc_compiled;
if {$gcc_compiled} then {
if { ![test_debug_format "HP"] \
&& ![test_debug_format "DWARF 2"] } then {
setup_xfail "*-*-*"
}
}
}
send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
send_gdb "cont\n"
@ -105,140 +118,140 @@ send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
# As of Feb 1999, GCC does not issue info about volatility of vars, so
# these tests are all expected to fail if GCC is the compiler. -sts
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vox" "type = volatile char.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype victuals" "type = volatile unsigned char.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vixen" "type = volatile short.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype vitriol" "type = volatile unsigned short.*"
local_compiler_xfail_check
gdb_test "ptype vitriol" "type = volatile (unsigned short|short unsigned)( int)?.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vellum" "type = volatile long.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype valve" "type = volatile unsigned long.*"
local_compiler_xfail_check
gdb_test "ptype valve" "type = volatile (unsigned long|long unsigned)( int)?.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vacuity" "type = volatile float.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vertigo" "type = volatile double.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vampire" "type = volatile char \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype viper" "type = volatile unsigned char \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype vigour" "type = volatile short \\*.*"
local_compiler_xfail_check
gdb_test "ptype vigour" "type = volatile short( int)? \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype vapour" "type = volatile unsigned short \\*.*"
local_compiler_xfail_check
gdb_test "ptype vapour" "type = volatile (unsigned short|short unsigned)( int)? \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype ventricle" "type = volatile long \\*.*"
local_compiler_xfail_check
gdb_test "ptype ventricle" "type = volatile long( int)? \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype vigintillion" "type = volatile unsigned long \\*.*"
local_compiler_xfail_check
gdb_test "ptype vigintillion" "type = volatile (unsigned long|long unsigned)( int)? \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vocation" "type = volatile float \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype veracity" "type = volatile double \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vapidity" "type = volatile char \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype velocity" "type = volatile unsigned char \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype veneer" "type = volatile short \\* volatile.*"
local_compiler_xfail_check
gdb_test "ptype veneer" "type = volatile short( int)? \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype video" "type = volatile unsigned short \\* volatile.*"
local_compiler_xfail_check
gdb_test "ptype video" "type = volatile (unsigned short|short unsigned)( int) \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype vacuum" "type = volatile long \\* volatile.*"
local_compiler_xfail_check
gdb_test "ptype vacuum" "type = volatile long( int)? \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
gdb_test "ptype veniality" "type = volatile unsigned long \\* volatile.*"
local_compiler_xfail_check
gdb_test "ptype veniality" "type = volatile (unsigned long|long unsigned)( int)? \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vitality" "type = volatile float \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype voracity" "type = volatile double \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype victor" "type = const volatile char.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vicar" "type = const volatile unsigned char.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype victory" "type = const volatile char \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vicarage" "type = const volatile unsigned char \\*.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vein" "type = volatile char \\* const.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vogue" "type = volatile unsigned char \\* const.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype cavern" "type = const volatile char \\* const.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype coverlet" "type = const volatile unsigned char \\* const.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype caveat" "type = const char \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype covenant" "type = const unsigned char \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vizier" "type = const volatile char \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vanadium" "type = const volatile unsigned char \\* volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vane" "type = char \\* const volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype veldt" "type = unsigned char \\* const volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype cove" "type = const char \\* const volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype cavity" "type = const unsigned char \\* const volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vagus" "type = volatile char \\* const volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vagrancy" "type = volatile unsigned char \\* const volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vagary" "type = const volatile char \\* const volatile.*"
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
gdb_test "ptype vendor" "type = const volatile unsigned char \\* const volatile.*"
# test function parameters
if {$gcc_compiled} then { setup_xfail "*-*-*" }
local_compiler_xfail_check
send_gdb "ptype qux2\n"
gdb_expect {
-re "type = int \\(volatile unsigned char, const volatile int, volatile short, volatile long \\*, float \\* volatile, const volatile signed char \\* const volatile\\).*$gdb_prompt $" {

View File

@ -1424,15 +1424,23 @@ proc get_debug_format { } {
# expected to fail, 0 otherwise (or if it is unknown). Must have
# previously called get_debug_format.
proc setup_xfail_format { format } {
proc test_debug_format { format } {
global debug_format
if [string match $debug_format $format] then {
setup_xfail "*-*-*"
return 1;
}
return 0
}
}
proc setup_xfail_format { format } {
set ret [test_debug_format format];
if [expr $ret != 0] then {
setup_xfail "*-*-*"
}
return $ret;
}
proc gdb_step_for_stub { } {
global gdb_prompt;