-# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 1999, 2003, 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
set prms_id 0
set bug_id 0
+# Use the same test program constvars.c.
+
set testfile "constvars"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+# Create and source the file that provides information about the compiler
+# used to compile the test case.
+if [get_compiler_info ${binfile}] {
+ return -1;
}
-remote_exec build "rm -f ${binfile}.ci"
-if [get_compiler_info ${binfile}] {
- return -1
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable debug ] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
gdb_exit
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-source ${binfile}.ci
-
#
# set it up at a breakpoint so we can play with the variable values
#
continue
}
+get_debug_format
+
+proc local_compiler_xfail_check { } {
+ if { [test_compiler_info gcc-2-*] } then {
+ if { ![test_debug_format "HP"] \
+ && ![test_debug_format "DWARF 2"] } then {
+ setup_xfail "*-*-*"
+ }
+ }
+
+ global hp_cc_compiler
+ if { $hp_cc_compiler } {
+ setup_xfail "hppa*-*-hpux*"
+ }
+}
+
send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
send_gdb "cont\n"
timeout { fail "(timeout) continue to marker1" }
}
+# 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
-send_gdb "ptype vox\n"
-gdb_expect {
- -re "type = volatile char.*$gdb_prompt $" { pass "ptype vox" }
- -re ".*$gdb_prompt $" { fail "ptype vox" }
- timeout { fail "(timeout) ptype vox" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vox" "type = volatile char.*"
-send_gdb "ptype victuals\n"
-gdb_expect {
- -re "type = volatile unsigned char.*$gdb_prompt $" { pass "ptype victuals" }
- -re ".*$gdb_prompt $" { fail "ptype victuals" }
- timeout { fail "(timeout) ptype victuals" }
-}
+local_compiler_xfail_check
+gdb_test "ptype victuals" "type = volatile unsigned char.*"
-send_gdb "ptype vixen\n"
-gdb_expect {
- -re "type = volatile short.*$gdb_prompt $" { pass "ptype vixen" }
- -re ".*$gdb_prompt $" { fail "ptype vixen" }
- timeout { fail "(timeout) ptype vixen" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vixen" "type = volatile short.*"
-send_gdb "ptype vitriol\n"
-gdb_expect {
- -re "type = volatile unsigned short.*$gdb_prompt $" { pass "ptype vitriol" }
- -re ".*$gdb_prompt $" { fail "ptype vitriol" }
- timeout { fail "(timeout) ptype vitriol" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vitriol" "type = volatile (unsigned short|short unsigned)( int)?.*"
-send_gdb "ptype vellum\n"
-gdb_expect {
- -re "type = volatile long.*$gdb_prompt $" { pass "ptype vellum" }
- -re ".*$gdb_prompt $" { fail "ptype vellum" }
- timeout { fail "(timeout) ptype vellum" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vellum" "type = volatile long.*"
-send_gdb "ptype valve\n"
-gdb_expect {
- -re "type = volatile unsigned long.*$gdb_prompt $" { pass "ptype valve" }
- -re ".*$gdb_prompt $" { fail "ptype valve" }
- timeout { fail "(timeout) ptype valve" }
-}
+local_compiler_xfail_check
+gdb_test "ptype valve" "type = volatile (unsigned long|long unsigned)( int)?.*"
-send_gdb "ptype vacuity\n"
-gdb_expect {
- -re "type = volatile float.*$gdb_prompt $" { pass "ptype vacuity" }
- -re ".*$gdb_prompt $" { fail "ptype vacuity" }
- timeout { fail "(timeout) ptype vacuity" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vacuity" "type = volatile float.*"
-send_gdb "ptype vertigo\n"
-gdb_expect {
- -re "type = volatile double.*$gdb_prompt $" { pass "ptype vertigo" }
- -re ".*$gdb_prompt $" { fail "ptype vertigo" }
- timeout { fail "(timeout) ptype vertigo" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vertigo" "type = volatile double.*"
-send_gdb "ptype vampire\n"
-gdb_expect {
- -re "type = volatile char \\*.*$gdb_prompt $" { pass "ptype vampire" }
- -re ".*$gdb_prompt $" { fail "ptype vampire" }
- timeout { fail "(timeout) ptype vampire" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vampire" "type = volatile char \\*.*"
-send_gdb "ptype viper\n"
-gdb_expect {
- -re "type = volatile unsigned char \\*.*$gdb_prompt $" { pass "ptype viper" }
- -re ".*$gdb_prompt $" { fail "ptype viper" }
- timeout { fail "(timeout) ptype viper" }
-}
+local_compiler_xfail_check
+gdb_test "ptype viper" "type = volatile unsigned char \\*.*"
-send_gdb "ptype vigour\n"
-gdb_expect {
- -re "type = volatile short \\*.*$gdb_prompt $" { pass "ptype vigour" }
- -re ".*$gdb_prompt $" { fail "ptype vigour" }
- timeout { fail "(timeout) ptype vigour" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vigour" "type = volatile short( int)? \\*.*"
-send_gdb "ptype vapour\n"
-gdb_expect {
- -re "type = volatile unsigned short \\*.*$gdb_prompt $" { pass "ptype vapour" }
- -re ".*$gdb_prompt $" { fail "ptype vapour" }
- timeout { fail "(timeout) ptype vapour" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vapour" "type = volatile (unsigned short|short unsigned)( int)? \\*.*"
-send_gdb "ptype ventricle\n"
-gdb_expect {
- -re "type = volatile long \\*.*$gdb_prompt $" { pass "ptype ventricle" }
- -re ".*$gdb_prompt $" { fail "ptype ventricle" }
- timeout { fail "(timeout) ptype ventricle" }
-}
+local_compiler_xfail_check
+gdb_test "ptype ventricle" "type = volatile long( int)? \\*.*"
-send_gdb "ptype vigintillion\n"
-gdb_expect {
- -re "type = volatile unsigned long \\*.*$gdb_prompt $" { pass "ptype vigintillion" }
- -re ".*$gdb_prompt $" { fail "ptype vigintillion" }
- timeout { fail "(timeout) ptype vigintillion" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vigintillion" "type = volatile (unsigned long|long unsigned)( int)? \\*.*"
-send_gdb "ptype vocation\n"
-gdb_expect {
- -re "type = volatile float \\*.*$gdb_prompt $" { pass "ptype vocation" }
- -re ".*$gdb_prompt $" { fail "ptype vocation" }
- timeout { fail "(timeout) ptype vocation" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vocation" "type = volatile float \\*.*"
-send_gdb "ptype veracity\n"
-gdb_expect {
- -re "type = volatile double \\*.*$gdb_prompt $" { pass "ptype veracity" }
- -re ".*$gdb_prompt $" { fail "ptype veracity" }
- timeout { fail "(timeout) ptype veracity" }
-}
+local_compiler_xfail_check
+gdb_test "ptype veracity" "type = volatile double \\*.*"
-send_gdb "ptype vapidity\n"
-gdb_expect {
- -re "type = volatile char \\* volatile.*$gdb_prompt $" { pass "ptype vapidity" }
- -re ".*$gdb_prompt $" { fail "ptype vapidity" }
- timeout { fail "(timeout) ptype vapidity" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vapidity" "type = volatile char \\* volatile.*"
-send_gdb "ptype velocity\n"
-gdb_expect {
- -re "type = volatile unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype velocity" }
- -re ".*$gdb_prompt $" { fail "ptype velocity" }
- timeout { fail "(timeout) ptype velocity" }
-}
+local_compiler_xfail_check
+gdb_test "ptype velocity" "type = volatile unsigned char \\* volatile.*"
-send_gdb "ptype veneer\n"
-gdb_expect {
- -re "type = volatile short \\* volatile.*$gdb_prompt $" { pass "ptype veneer" }
- -re ".*$gdb_prompt $" { fail "ptype veneer" }
- timeout { fail "(timeout) ptype veneer" }
-}
+local_compiler_xfail_check
+gdb_test "ptype veneer" "type = volatile short( int)? \\* volatile.*"
-send_gdb "ptype video\n"
-gdb_expect {
- -re "type = volatile unsigned short \\* volatile.*$gdb_prompt $" { pass "ptype video" }
- -re ".*$gdb_prompt $" { fail "ptype video" }
- timeout { fail "(timeout) ptype video" }
-}
+local_compiler_xfail_check
+gdb_test "ptype video" "type = volatile (unsigned short|short unsigned)( int) \\* volatile.*"
-send_gdb "ptype vacuum\n"
-gdb_expect {
- -re "type = volatile long \\* volatile.*$gdb_prompt $" { pass "ptype vacuum" }
- -re ".*$gdb_prompt $" { fail "ptype vacuum" }
- timeout { fail "(timeout) ptype vacuum" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vacuum" "type = volatile long( int)? \\* volatile.*"
-send_gdb "ptype veniality\n"
-gdb_expect {
- -re "type = volatile unsigned long \\* volatile.*$gdb_prompt $" { pass "ptype veniality" }
- -re ".*$gdb_prompt $" { fail "ptype veniality" }
- timeout { fail "(timeout) ptype veniality" }
-}
+local_compiler_xfail_check
+gdb_test "ptype veniality" "type = volatile (unsigned long|long unsigned)( int)? \\* volatile.*"
-send_gdb "ptype vitality\n"
-gdb_expect {
- -re "type = volatile float \\* volatile.*$gdb_prompt $" { pass "ptype vitality" }
- -re ".*$gdb_prompt $" { fail "ptype vitality" }
- timeout { fail "(timeout) ptype vitality" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vitality" "type = volatile float \\* volatile.*"
-send_gdb "ptype voracity\n"
-gdb_expect {
- -re "type = volatile double \\* volatile.*$gdb_prompt $" { pass "ptype voracity" }
- -re ".*$gdb_prompt $" { fail "ptype voracity" }
- timeout { fail "(timeout) ptype voracity" }
-}
+local_compiler_xfail_check
+gdb_test "ptype voracity" "type = volatile double \\* volatile.*"
-send_gdb "ptype victor\n"
-gdb_expect {
- -re "type = const volatile char.*$gdb_prompt $" { pass "ptype victor" }
- -re ".*$gdb_prompt $" { fail "ptype victor" }
- timeout { fail "(timeout) ptype victor" }
-}
+local_compiler_xfail_check
+gdb_test "ptype victor" "type = const volatile char.*"
-send_gdb "ptype vicar\n"
-gdb_expect {
- -re "type = const volatile unsigned char.*$gdb_prompt $" { pass "ptype vicar" }
- -re ".*$gdb_prompt $" { fail "ptype vicar" }
- timeout { fail "(timeout) ptype vicar" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vicar" "type = const volatile unsigned char.*"
-send_gdb "ptype victory\n"
-gdb_expect {
- -re "type = const volatile char \\*.*$gdb_prompt $" { pass "ptype victory" }
- -re ".*$gdb_prompt $" { fail "ptype victory" }
- timeout { fail "(timeout) ptype victory" }
-}
+local_compiler_xfail_check
+gdb_test "ptype victory" "type = const volatile char \\*.*"
-send_gdb "ptype vicarage\n"
-gdb_expect {
- -re "type = const volatile unsigned char \\*.*$gdb_prompt $" { pass "ptype vicarage" }
- -re ".*$gdb_prompt $" { fail "ptype vicarage" }
- timeout { fail "(timeout) ptype vicarage" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vicarage" "type = const volatile unsigned char \\*.*"
-send_gdb "ptype vein\n"
-gdb_expect {
- -re "type = volatile char \\* const.*$gdb_prompt $" { pass "ptype vein" }
- -re ".*$gdb_prompt $" { fail "ptype vein" }
- timeout { fail "(timeout) ptype vein" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vein" "type = volatile char \\* const.*"
-send_gdb "ptype vogue\n"
-gdb_expect {
- -re "type = volatile unsigned char \\* const.*$gdb_prompt $" { pass "ptype vogue" }
- -re ".*$gdb_prompt $" { fail "ptype vogue" }
- timeout { fail "(timeout) ptype vogue" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vogue" "type = volatile unsigned char \\* const.*"
-send_gdb "ptype cavern\n"
-gdb_expect {
- -re "type = const volatile char \\* const.*$gdb_prompt $" { pass "ptype cavern" }
- -re ".*$gdb_prompt $" { fail "ptype cavern" }
- timeout { fail "(timeout) ptype cavern" }
-}
+local_compiler_xfail_check
+gdb_test "ptype cavern" "type = const volatile char \\* const.*"
-send_gdb "ptype coverlet\n"
-gdb_expect {
- -re "type = const volatile unsigned char \\* const.*$gdb_prompt $" { pass "ptype coverlet" }
- -re ".*$gdb_prompt $" { fail "ptype coverlet" }
- timeout { fail "(timeout) ptype coverlet" }
-}
+local_compiler_xfail_check
+gdb_test "ptype coverlet" "type = const volatile unsigned char \\* const.*"
-send_gdb "ptype caveat\n"
-gdb_expect {
- -re "type = const char \\* volatile.*$gdb_prompt $" { pass "ptype caveat" }
- -re ".*$gdb_prompt $" { fail "ptype caveat" }
- timeout { fail "(timeout) ptype caveat" }
-}
+local_compiler_xfail_check
+gdb_test "ptype caveat" "type = const char \\* volatile.*"
-send_gdb "ptype covenant\n"
-gdb_expect {
- -re "type = const unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype covenant" }
- -re ".*$gdb_prompt $" { fail "ptype covenant" }
- timeout { fail "(timeout) ptype covenant" }
-}
+local_compiler_xfail_check
+gdb_test "ptype covenant" "type = const unsigned char \\* volatile.*"
-send_gdb "ptype vizier\n"
-gdb_expect {
- -re "type = const volatile char \\* volatile.*$gdb_prompt $" { pass "ptype vizier" }
- -re ".*$gdb_prompt $" { fail "ptype vizier" }
- timeout { fail "(timeout) ptype vizier" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vizier" "type = const volatile char \\* volatile.*"
-send_gdb "ptype vanadium\n"
-gdb_expect {
- -re "type = const volatile unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype vanadium" }
- -re ".*$gdb_prompt $" { fail "ptype vanadium" }
- timeout { fail "(timeout) ptype vanadium" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vanadium" "type = const volatile unsigned char \\* volatile.*"
-send_gdb "ptype vane\n"
-gdb_expect {
- -re "type = char \\* const volatile.*$gdb_prompt $" { pass "ptype vane" }
- -re ".*$gdb_prompt $" { fail "ptype vane" }
- timeout { fail "(timeout) ptype vane" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vane" "type = char \\* const volatile.*"
-send_gdb "ptype veldt\n"
-gdb_expect {
- -re "type = unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype veldt" }
- -re ".*$gdb_prompt $" { fail "ptype veldt" }
- timeout { fail "(timeout) ptype veldt" }
-}
+local_compiler_xfail_check
+gdb_test "ptype veldt" "type = unsigned char \\* const volatile.*"
-send_gdb "ptype cove\n"
-gdb_expect {
- -re "type = const char \\* const volatile.*$gdb_prompt $" { pass "ptype cove" }
- -re ".*$gdb_prompt $" { fail "ptype cove" }
- timeout { fail "(timeout) ptype cove" }
-}
+local_compiler_xfail_check
+gdb_test "ptype cove" "type = const char \\* const volatile.*"
-send_gdb "ptype cavity\n"
-gdb_expect {
- -re "type = const unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype cavity" }
- -re ".*$gdb_prompt $" { fail "ptype cavity" }
- timeout { fail "(timeout) ptype cavity" }
-}
+local_compiler_xfail_check
+gdb_test "ptype cavity" "type = const unsigned char \\* const volatile.*"
-send_gdb "ptype vagus\n"
-gdb_expect {
- -re "type = volatile char \\* const volatile.*$gdb_prompt $" { pass "ptype vagus" }
- -re ".*$gdb_prompt $" { fail "ptype vagus" }
- timeout { fail "(timeout) ptype vagus" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vagus" "type = volatile char \\* const volatile.*"
-send_gdb "ptype vagrancy\n"
-gdb_expect {
- -re "type = volatile unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype vagrancy" }
- -re ".*$gdb_prompt $" { fail "ptype vagrancy" }
- timeout { fail "(timeout) ptype vagrancy" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vagrancy" "type = volatile unsigned char \\* const volatile.*"
-send_gdb "ptype vagary\n"
-gdb_expect {
- -re "type = const volatile char \\* const volatile.*$gdb_prompt $" { pass "ptype vagary" }
- -re ".*$gdb_prompt $" { fail "ptype vagary" }
- timeout { fail "(timeout) ptype vagary" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vagary" "type = const volatile char \\* const volatile.*"
-send_gdb "ptype vendor\n"
-gdb_expect {
- -re "type = const volatile unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype vendor" }
- -re ".*$gdb_prompt $" { fail "ptype vendor" }
- timeout { fail "(timeout) ptype vendor" }
-}
+local_compiler_xfail_check
+gdb_test "ptype vendor" "type = const volatile unsigned char \\* const volatile.*"
# test function parameters
+local_compiler_xfail_check
+if { [test_compiler_info gcc-3-*] && [test_debug_format "stabs"] } then {
+ # For reasons unknown, GCC 3 with stabs mangles several cv-qualified
+ # arguments to this function.
+ setup_xfail "*-*-*"
+}
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\\)" {
+ -re "type = int \\(volatile unsigned char, const volatile int, volatile short( int)?, volatile long( int)? \\*, float \\* volatile, const volatile signed char \\* const volatile\\).*$gdb_prompt $" {
pass "ptype qux2"
}
-re ".*$gdb_prompt $" { fail "ptype qux2" }
timeout { fail "(timeout) ptype qux2" }
}
-
-