2001-09-27 Michael Snyder <msnyder@redhat.com>
authorMichael Snyder <msnyder@vmware.com>
Thu, 27 Sep 2001 21:35:56 +0000 (21:35 +0000)
committerMichael Snyder <msnyder@vmware.com>
Thu, 27 Sep 2001 21:35:56 +0000 (21:35 +0000)
        * 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
gdb/testsuite/gdb.base/constvars.exp
gdb/testsuite/gdb.base/volatile.exp
gdb/testsuite/lib/gdb.exp

index cde3417cee9f76c3459f94c720b31ca3f54a87e9..1e8f1d84d555c2508058593c5ec9705b03fea2ab 100644 (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
index 1a33a8a19ca6a37a01967370c05b06d02056eb30..35420e2839dec0bc74885e2938e1078a681d3860 100644 (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"
 }
 
index 0bff1e763d0af83b18b14734cd67562fd4d9ac7b..23bd04e041c8d31932a90ee860eefc42f658ced7 100644 (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 $" {
index 3d1ef7174d74650569308315b8bf852910d381ef..6388877ee03a56c50349e1883930e60843e9c838 100644 (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;