aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog17
-rw-r--r--gdb/testsuite/gdb.base/constvars.exp102
-rw-r--r--gdb/testsuite/gdb.base/volatile.exp123
-rw-r--r--gdb/testsuite/lib/gdb.exp14
4 files changed, 153 insertions, 103 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index cde3417..1e8f1d8 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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
diff --git a/gdb/testsuite/gdb.base/constvars.exp b/gdb/testsuite/gdb.base/constvars.exp
index 1a33a8a..35420e2 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 0bff1e7..23bd04e 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 3d1ef71..6388877 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;