From b55a47712d086798248e912a18b8a4e4419e2c83 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Thu, 27 Sep 2001 21:35:56 +0000 Subject: [PATCH] 2001-09-27 Michael Snyder * 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. --- gdb/testsuite/ChangeLog | 17 ++++ gdb/testsuite/gdb.base/constvars.exp | 102 ++++++++++++---------- gdb/testsuite/gdb.base/volatile.exp | 123 +++++++++++++++------------ gdb/testsuite/lib/gdb.exp | 14 ++- 4 files changed, 153 insertions(+), 103 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index cde3417cee9..1e8f1d84d55 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,20 @@ +2001-09-27 Michael Snyder + + * 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 + + * 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 * gdb.base/constvars.exp: Check for different orders of keywords diff --git a/gdb/testsuite/gdb.base/constvars.exp b/gdb/testsuite/gdb.base/constvars.exp index 1a33a8a19ca..35420e2839d 100644 --- a/gdb/testsuite/gdb.base/constvars.exp +++ b/gdb/testsuite/gdb.base/constvars.exp @@ -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" } diff --git a/gdb/testsuite/gdb.base/volatile.exp b/gdb/testsuite/gdb.base/volatile.exp index 0bff1e763d0..23bd04e041c 100644 --- a/gdb/testsuite/gdb.base/volatile.exp +++ b/gdb/testsuite/gdb.base/volatile.exp @@ -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 $" { diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 3d1ef7174d7..6388877ee03 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -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; -- 2.30.2