diff options
author | Jason Molenda <jsm@bugshack.cygnus.com> | 1999-08-02 23:48:37 +0000 |
---|---|---|
committer | Jason Molenda <jsm@bugshack.cygnus.com> | 1999-08-02 23:48:37 +0000 |
commit | 6da787a878c938e680f13808dee254beacefbd43 (patch) | |
tree | 7c7b4d4f6655b210e33ca51f656f4552c9326ed3 /gdb/testsuite/gdb.base | |
parent | 1392c9fbbf6fe8811e5374356b7fdf3b389068ab (diff) | |
download | gdb-6da787a878c938e680f13808dee254beacefbd43.tar.gz |
import gdb-1999-08-02 snapshot
Diffstat (limited to 'gdb/testsuite/gdb.base')
30 files changed, 359 insertions, 313 deletions
diff --git a/gdb/testsuite/gdb.base/Makefile.in b/gdb/testsuite/gdb.base/Makefile.in index fbb7fe2fad2..7dbe519cf9a 100644 --- a/gdb/testsuite/gdb.base/Makefile.in +++ b/gdb/testsuite/gdb.base/Makefile.in @@ -2,19 +2,19 @@ VPATH = @srcdir@ srcdir = @srcdir@ EXECUTABLES = all-types annota1 bitfields break \ - call-ar-st call-rt-st call-strs callfuncs callfuncs2 commands \ - compiler condbreak constvars coremaker display \ - ending-run exprs funcargs int-type interrupt \ - jump langs \ - list long_long \ - mips_pro miscexprs nodebug opaque pointers pointers2 printcmds ptype \ + call-ar-st call-rt-st call-strs callfuncs callfwmall \ + commands compiler condbreak constvars coremaker \ + dbx-test display ending-run execd-prog exprs \ + foll-exec foll-fork foll-vfork funcargs int-type interrupt jump \ + langs list long_long mips_pro miscexprs nodebug opaque overlays \ + pointers pointers2 printcmds ptype \ recurse reread reread1 restore return run \ - scope section_command setshow setvar \ - shmain sigall signals smoke smoke1 \ - solib so-impl-ld so-indr-cl \ - step-test structs structs2 twice-tmp varargs watchpoint whatis + scope section_command setshow setvar shmain sigall signals \ + solib solib_sl so-impl-ld so-indr-cl step-test structs structs2 \ + twice-tmp varargs vforked-prog watchpoint whatis -MISCELLANEOUS = coremmap.data shr1.sl shr2.sl solib1.sl solib2.sl +MISCELLANEOUS = coremmap.data ../foobar.baz \ + shr1.sl shr2.sl solib_sl.sl solib1.sl solib2.sl all: @echo "Nothing to be done for all..." diff --git a/gdb/testsuite/gdb.base/annota1.exp b/gdb/testsuite/gdb.base/annota1.exp index ba24fe92b28..5ecdcb37b84 100644 --- a/gdb/testsuite/gdb.base/annota1.exp +++ b/gdb/testsuite/gdb.base/annota1.exp @@ -228,7 +228,7 @@ gdb_expect { # send_gdb "continue\n" gdb_expect { - -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 3\r\n\r\nBreakpoint 3, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nprintf\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-where\r\n from.*\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 3\r\n\r\nBreakpoint 3, \r\n\032\032frame-begin 0 $hex\r\n\r\n(\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n)*\032\032frame-function-name\r\nprintf\r\n\032\032frame-args\r\n.*\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ { pass "continue to printf" } -re ".*$gdb_prompt$" { fail "continue to printf" } timeout { fail "continue to printf (timeout)" } @@ -242,7 +242,7 @@ gdb_expect { # send_gdb "backtrace\n" gdb_expect { - -re "\r\n\032\032post-prompt\r\n\r\n\032\032frame-begin 0 $hex\r\n.0 \r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nprintf\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-where\r\n from.*\r\n\032\032frame-end\r\n\r\n\032\032frame-begin 1 $hex\r\n.1 \r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n${srcdir}/${subdir}/${srcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032frame-end\r\n$gdb_prompt$" \ + -re "\r\n\032\032post-prompt\r\n\r\n\032\032frame-begin 0 $hex\r\n.0 \r\n(\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n)*\032\032frame-function-name\r\nprintf\r\n\032\032frame-args\r\n \\(.*frame-end\r\n\r\n\032\032frame-begin 1 $hex\r\n.1 \r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n${srcdir}/${subdir}/${srcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032frame-end\r\n$gdb_prompt$" \ { pass "bactrace from shlibrary" } -re ".*$gdb_prompt$" { fail "backtrace from shlibrary" } timeout { fail "backtrace from shlibrary (timeout)" } @@ -277,7 +277,7 @@ match_max 3000 verbose "match_max now is: [match_max]" send_gdb "backtrace\n" gdb_expect { - -re ".*frame-begin 0 $hex.*0.*frame-end.*frame-begin 1 $hex.*1.*\032\032signal-handler-caller\r\n.signal handler called.\r\n\r\n\032\032frame-end\r\n\r\n.*frame-begin 2 $hex.*2.*frame-begin 3 $hex.*3.*frame-end.*$gdb_prompt$" \ + -re "frame-begin 0 $hex.*0.*frame-end.*frame-begin 1 $hex.*1.*(\032\032signal-handler-caller\r\n.signal handler called.\r\n\r\n)*\032\032frame-end\r\n\r\n\032\032frame-begin 2 $hex.*2.*(frame-begin 3 $hex.*3.*)*frame-end.*$gdb_prompt$" \ { pass "backtrace @ signal handler" } -re ".*$gdb_prompt$" { fail "backtrace @ signal handler" } timeout { fail "backtrace @ signal handler (timeout)" } diff --git a/gdb/testsuite/gdb.base/attach.exp b/gdb/testsuite/gdb.base/attach.exp index b86838b2afd..09a08774966 100644 --- a/gdb/testsuite/gdb.base/attach.exp +++ b/gdb/testsuite/gdb.base/attach.exp @@ -128,7 +128,7 @@ proc do_attach_tests {} { # This reponse is expected on HP-UX 10.20 (i.e., ptrace-based). -re "Attaching to.*, process 0.*No such process.*$gdb_prompt $"\ {pass "attach to nonexistent process is prohibited"} - # This response is expected on HP-UX 10.30 & 11.0 (i.e., ttrace-based). + # This response is expected on HP-UX 11.0 (i.e., ttrace-based). -re "Attaching to.*, process 0 failed.*Hint.*$gdb_prompt $"\ {pass "attach to nonexistent process is prohibited"} -re "$gdb_prompt $" {fail "attach to nonexistent process is prohibited"} @@ -386,8 +386,8 @@ proc do_call_attach_tests {} { # Get rid of the process # - gdb_test "p should_exit = 1" ".*" "" - gdb_test "c" ".*Program exited normally.*" "" + gdb_test "p should_exit = 1" ".*" + gdb_test "c" ".*Program exited normally.*" # Be paranoid # diff --git a/gdb/testsuite/gdb.base/call-ar-st.exp b/gdb/testsuite/gdb.base/call-ar-st.exp index 5662eb77a49..15ebe1d4e12 100644 --- a/gdb/testsuite/gdb.base/call-ar-st.exp +++ b/gdb/testsuite/gdb.base/call-ar-st.exp @@ -465,12 +465,6 @@ gdb_test "tbreak 1300" \ gdb_test continue "Continuing\\..*Contents of two_floats_t:.*main \\(\\) at.*call-ar-st.c:1300.*1300.*init_bit_flags_combo\\(flags_combo, \\(unsigned\\)1, \\(unsigned\\)0, .y.,.*" \ "continue to 1300" - -# FIXME: -# HP aCC demangler currently does not handle hp aCC functions with >10 args -# DTS CLLbs16994 coulter 990114 - -if {$hp_aCC_compiler} {setup_xfail "hppa*-*-*"} #step send_gdb "step\n" gdb_expect { @@ -501,6 +495,13 @@ gdb_test continue "Continuing\\..*main \\(\\) at .*call-ar-st.c:1305\[\r\n\t \]+ "continue to 1305" #call print_long_arg_list(a, b, c, d, e, f, *struct1, *struct2, *struct3, *struct4, *flags, *flags_combo, *three_char, *five_char, *int_char_combo, *d1, *d2, *d3, *f1, *f2, *f3) + +# FIXME: +# HP aCC demangler currently does not handle hp aCC functions with >10 args +# DTS CLLbs16994 coulter 990114 + +if {$hp_aCC_compiler} {setup_xfail "hppa*-*-*" CLLbs16994} + if {![target_info exists gdb,skip_float_tests]} { send_gdb "print print_long_arg_list(a, b, c, d, e, f, *struct1, *struct2, *struct3, *struct4, *flags, *flags_combo, *three_char, *five_char, *int_char_combo, *d1, *d2, *d3, *f1, *f2, *f3)\n" gdb_expect { diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp index 7db87b7caff..1ce9683316a 100644 --- a/gdb/testsuite/gdb.base/callfuncs.exp +++ b/gdb/testsuite/gdb.base/callfuncs.exp @@ -94,6 +94,8 @@ proc set_lang_c {} { proc do_function_calls {} { global prototypes global gcc_compiled + global gdb_prompt + # We need to up this because this can be really slow on some boards. set timeout 60; @@ -129,13 +131,13 @@ proc do_function_calls {} { # Gcc emits different stabs for the two parameters; the first is # claimed to be a float, the second a double. # dbxout.c in gcc claims this is the desired behavior. - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(3.14159,-2.3765)" " = 1" - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(float_val1,float_val2)" " = 1" - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(3.14159,float_val2)" " = 1" - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(float_val1,-2.3765)" " = 1" # Test passing of arguments which might not be widened. @@ -185,59 +187,22 @@ proc do_function_calls {} { # the RS6000. setup_xfail "rs6000*-*-*" setup_xfail "powerpc*-*-*" - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - send_gdb "p t_func_values(add,func_val2)\n" - gdb_expect { - -re "You cannot.*ignored.*" {pass "p t_func_values(add,func_val2)"} - -re "Program received signal SIGBUS, Bus error.*" { - if [istarget hppa*-*-hpux*] { - pass "p t_func_values(add,func_val2)" - } else { - fail "p t_func_values(add,func_val2)" - } - } - } - } else { + if {![istarget hppa*-*-hpux*]} then { gdb_test "p t_func_values(add,func_val2)" " = 1" } setup_xfail "rs6000*-*-*" setup_xfail "powerpc*-*-*" - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - send_gdb "p t_func_values(func_val1,doubleit)\n" - gdb_expect { - -re "You cannot.*ignored.*" {pass "p t_func_values(func_val1,doubleit)"} - -re "Program received signal SIGBUS, Bus error.*" { - if [istarget hppa*-*-hpux*] { - pass "p t_func_values(func_val1,doubleit)" - } else { - fail "p t_func_values(func_val1,doubleit)" - } - } - } - } else { + if {![istarget hppa*-*-hpux*]} then { gdb_test "p t_func_values(func_val1,doubleit)" " = 1" } - gdb_test "p t_call_add(func_val1,3,4)" " = 7" - setup_xfail "rs6000*-*-*" setup_xfail "powerpc*-*-*" - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - send_gdb "p t_call_add(add,3,4)\n" - gdb_expect { - -re "You cannot.*ignored.*" {pass "p t_call_add(add,3,4)"} - -re "Program received signal SIGBUS, Bus error.*" { - if [istarget hppa*-*-hpux*] { - pass "p t_call_add(add,3,4)" - } else { - fail "p t_call_add(add,3,4)" - } - } - } - } else { + if {![istarget hppa*-*-hpux*]} then { gdb_test "p t_call_add(add,3,4)" " = 7" } + gdb_test "p t_call_add(func_val1,3,4)" " = 7" gdb_test "p t_enum_value1(enumval1)" " = 1" gdb_test "p t_enum_value1(enum_val1)" " = 1" diff --git a/gdb/testsuite/gdb.base/callfwmall.exp b/gdb/testsuite/gdb.base/callfwmall.exp index 7c734f80672..7d7cf78adc0 100644 --- a/gdb/testsuite/gdb.base/callfwmall.exp +++ b/gdb/testsuite/gdb.base/callfwmall.exp @@ -19,7 +19,7 @@ # This file was written by Fred Fish. (fnf@cygnus.com) -# SAME tests as in callfns.exp but here the inferior program does not +# SAME tests as in callfuncs.exp but here the inferior program does not # call malloc. @@ -99,6 +99,8 @@ proc set_lang_c {} { proc do_function_calls {} { global prototypes global gcc_compiled + global gdb_prompt + # We need to up this because this can be really slow on some boards. set timeout 60; @@ -134,13 +136,13 @@ proc do_function_calls {} { # Gcc emits different stabs for the two parameters; the first is # claimed to be a float, the second a double. # dbxout.c in gcc claims this is the desired behavior. - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(3.14159,-2.3765)" " = 1" - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(float_val1,float_val2)" " = 1" - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(3.14159,float_val2)" " = 1" - setup_xfail "mn10300-*-*" "hppa*-*-*11*" + setup_xfail "mn10300-*-*" gdb_test "p t_float_values(float_val1,-2.3765)" " = 1" # Test passing of arguments which might not be widened. @@ -192,38 +194,14 @@ proc do_function_calls {} { setup_xfail "rs6000*-*-*" setup_xfail "powerpc*-*-*" - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - send_gdb "p t_func_values(add,func_val2)\n" - gdb_expect { - -re "You cannot.*ignored.*" {pass "p t_func_values(add,func_val2)"} - -re "Program received signal SIGBUS, Bus error.*" { - if [istarget hppa*-*-hpux*] { - pass "p t_func_values(add,func_val2)" - } else { - fail "p t_func_values(add,func_val2)" - } - } - } - } else { + if {![istarget hppa*-*-hpux*]} then { gdb_test "p t_func_values(add,func_val2)" " = 1" } setup_xfail "rs6000*-*-*" setup_xfail "powerpc*-*-*" - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - send_gdb "p t_func_values(func_val1,doubleit)\n" - gdb_expect { - -re "You cannot.*ignored.*" {pass "p t_func_values(func_val1,doubleit)"} - -re "Program received signal SIGBUS, Bus error.*" { - if [istarget hppa*-*-hpux*] { - pass "p t_func_values(func_val1,doubleit)" - } else { - fail "p t_func_values(func_val1,doubleit)" - } - } - } - } else { + if {![istarget hppa*-*-hpux*]} then { gdb_test "p t_func_values(func_val1,doubleit)" " = 1" } @@ -232,19 +210,7 @@ proc do_function_calls {} { setup_xfail "rs6000*-*-*" setup_xfail "powerpc*-*-*" - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - send_gdb "p t_call_add(add,3,4)\n" - gdb_expect { - -re "You cannot.*ignored.*" {pass "p t_call_add(add,3,4)"} - -re "Program received signal SIGBUS, Bus error.*" { - if [istarget hppa*-*-hpux*] { - pass "p t_call_add(add,3,4)" - } else { - fail "p t_call_add(add,3,4)" - } - } - } - } else { + if {![istarget hppa*-*-hpux*]} then { gdb_test "p t_call_add(add,3,4)" " = 7" } diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp index 327f37dc1c3..2db201236ed 100644 --- a/gdb/testsuite/gdb.base/completion.exp +++ b/gdb/testsuite/gdb.base/completion.exp @@ -533,10 +533,10 @@ gdb_expect { } -send_gdb "file ${srcdir}/gdb.base/a1\t" +send_gdb "file ${srcdir}/gdb.base/self\t" sleep 1 gdb_expect { - -re "^file ${srcdir}/gdb.base/.*'a1.*-self\\.exp' $"\ + -re "^file ${srcdir}/gdb.base/.*'selftest\\.exp' $"\ { send_gdb "\n" gdb_expect { -re "\r\nA program is being debugged already\\. Kill it\\? \\(y or n\\) $" @@ -544,17 +544,17 @@ gdb_expect { { send_gdb "n\n" gdb_expect { -re "\r\nProgram not killed\\.\r\n$gdb_prompt $"\ - { pass "complete 'file gdb.base/a1'"} - -re ".*$gdb_prompt $" { fail "complete 'file gdb.base/a1'"} - timeout {fail "(timeout) complete 'file gdb.base/a1'"} + { pass "complete 'file gdb.base/self'"} + -re ".*$gdb_prompt $" { fail "complete 'file gdb.base/self'"} + timeout {fail "(timeout) complete 'file gdb.base/self'"} } } - -re ".*$gdb_prompt $" { fail "complete 'file gdb.base/a1'"} - timeout {fail "(timeout) complete 'file gdb.base/a1'"} + -re ".*$gdb_prompt $" { fail "complete 'file gdb.base/self'"} + timeout {fail "(timeout) complete 'file gdb.base/self'"} } } - -re ".*$gdb_prompt $" { fail "complete 'file gdb.base/a1'" } - timeout { fail "(timeout) complete 'file gdb.base/a1'" } + -re ".*$gdb_prompt $" { fail "complete 'file gdb.base/self'" } + timeout { fail "(timeout) complete 'file gdb.base/self'" } } diff --git a/gdb/testsuite/gdb.base/condbreak.exp b/gdb/testsuite/gdb.base/condbreak.exp index 8f8f11c9cf2..8ec8536cad9 100644 --- a/gdb/testsuite/gdb.base/condbreak.exp +++ b/gdb/testsuite/gdb.base/condbreak.exp @@ -151,8 +151,7 @@ gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, marker1 \\(\\) at .*$sr # # run until the breakpoint at marker2 # -#See 11512CLLbs -setup_xfail hppa2.0w-*-* +setup_xfail hppa2.0w-*-* 11512CLLbs gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, marker2 \\(a=43\\) at .*$srcfile:4\[49\].*4\[49\]\[\t \]+.*" \ "run until breakpoint at marker2" diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp index b2677306dd5..32f3f56b8ac 100644 --- a/gdb/testsuite/gdb.base/corefile.exp +++ b/gdb/testsuite/gdb.base/corefile.exp @@ -217,8 +217,7 @@ gdb_expect { # test reinit_frame_cache gdb_load ${binfile} -# HP defect CLLbs17002 -setup_xfail "*-*-*" +setup_xfail "*-*-*" CLLbs17002 gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\)" "up in corefile.exp (reinit)" gdb_test "core" "No core file now." diff --git a/gdb/testsuite/gdb.base/display.exp b/gdb/testsuite/gdb.base/display.exp index 59ac18d2109..760a2e0a21e 100644 --- a/gdb/testsuite/gdb.base/display.exp +++ b/gdb/testsuite/gdb.base/display.exp @@ -48,13 +48,13 @@ gdb_reinitialize_dir $srcdir/$subdir gdb_load ${binfile} # Some coverage stuff # -gdb_test "kill" ".*The program is not being run.*" "" -gdb_test "detach" ".*" "" -gdb_test "run" ".*" "" +gdb_test "kill" ".*The program is not being run.*" +gdb_test "detach" ".*" +gdb_test "run" ".*" gdb_load ${binfile} -gdb_test "kill" ".*" "" -gdb_test "detach" ".*" "" +gdb_test "kill" ".*" +gdb_test "detach" ".*" # Ok, on to real life # @@ -85,8 +85,8 @@ gdb_test "c" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 1 gdb_test "c" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 2.80259693e.45\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0.*\[1-9\]*: i = 0.*" "second disp" gdb_test "enab disp 6" ".*No display number 6..*" "catch err" -gdb_test "disab disp 1" ".*" "disab" -gdb_test "disab disp 2" ".*" "" +gdb_test "disab disp 1" ".*" "disab disp 1" +gdb_test "disab disp 2" ".*" "disab disp 2" gdb_test "enab disp 1" ".*" "re-enab" gdb_test "enab disp 1" ".*" "re-enab of enab" gdb_test "undisp 5" ".*" "undisp" @@ -117,46 +117,50 @@ gdb_expect { timeout { fail "timeout" } } -gdb_test "disab 3" ".*.*" "" +gdb_test "disab 3" ".*.*" "disab 3" gdb_test "c" ".*Breakpoint 4.*" "watch off" # Now the printf tests # gdb_test "fin" ".*Run till exit.*Value returned is.*= 10.*" "finish" -gdb_test "s" ".*do_vars.*.*25" "" -gdb_test "tb 35" ".*Breakpoint 5 a.*" "" -gdb_test "c" ".*do_vars.*35.*35.*" "" +gdb_test "s" ".*do_vars.*.*27.*" +gdb_test "tb 37" ".*Breakpoint 5 a.*" +gdb_test "c" ".*do_vars.*37.*37.*" # Beat on printf a bit # -gdb_test "printf" ".*Argument required.*" "" -gdb_test "printf %d" ".*Bad format string, missing.*" "" -gdb_test "printf \"%d" ".*Bad format string, non-terminated.*" "" -gdb_test "printf \"%d%d\",i" ".*Wrong number of arguments.*" "" -gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\"" ".*!.*" "" +gdb_test "printf" ".*Argument required.*" +gdb_test "printf %d" ".*Bad format string, missing.*" +gdb_test "printf \"%d" ".*Bad format string, non-terminated.*" +gdb_test "printf \"%d%d\",i" ".*Wrong number of arguments.*" +gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\"" ".*!.*" gdb_test "printf \"\"" ".*" "re-set term" -gdb_test "printf \"\\w\"" ".*Unrecognized escape character.*" "" -gdb_test "printf \"%d\" j" ".*Invalid argument syntax.*" "" +gdb_test "printf \"\\w\"" ".*Unrecognized escape character.*" +gdb_test "printf \"%d\" j" ".*Invalid argument syntax.*" # play with "p", too # -gdb_test "p/r j" ".*Undefined output format.*" "" +gdb_test "p/r j" ".*Undefined output format.*" gdb_test "p j" ".*" "debug test output" -#gdb_test "x/rx j" ".*Cannot access memory.*" "no error!" + # x/0 j doesn't produce any output and terminates PA64 process when testing -if [istarget "hppa*-hp-hpux11*"] { - xfail "'x/0 j' terminate PA64 process - skipped test point" +if [istarget "hppa2.0w-hp-hpux11*"] { + xfail "'x/0 j' terminates PA64 process - skipped test point" } else { - gdb_test "x/0 j" ".*" "x/0 j" + gdb_test "x/0 j" ".*" +} +if [istarget "hppa*-hp-hpux*"] { + # on HP-UX you could access the first page without getting an error + gdb_test "x/rx j" ".*(Cannot access|Error accessing) memory.*|.*0xa:\[ \t\]*\[0-9\]+.*" } gdb_test "p/0 j" ".*Item count other than 1 is meaningless.*" "p/0 j" gdb_test "p/s sum" ".*Format letter.*is meaningless.*" " no s" gdb_test "p/i sum" ".*Format letter.*is meaningless.*.*" "no i" -gdb_test "p/a &sum" ".*= 0x.*<sum>.*" "" -gdb_test "p/a main+1000" ".*= 0x.*<.*>.*" "" -gdb_test "p/a \\\$pc" ".*= 0x.*<do_vars+.*>.*" "" -gdb_test "p/a &j" ".*= 0x.*<.*>.*" "" -gdb_test "p/a &&j" ".*A syntax error.*" "" +gdb_test "p/a &sum" ".*= $hex.*<sum>.*" +gdb_test "p/a main+1000" ".*= $hex.*<.*>.*" +gdb_test "p/a \$pc" ".*= $hex.*<do_vars+.*>.*" +gdb_test "p/a &j" ".*= $hex.*<do_vars+.*>.*" +gdb_test "p/a &&j" ".*A parse error.*" # Done! # diff --git a/gdb/testsuite/gdb.base/ending-run.exp b/gdb/testsuite/gdb.base/ending-run.exp index e36c975bfd1..790a98c06cc 100644 --- a/gdb/testsuite/gdb.base/ending-run.exp +++ b/gdb/testsuite/gdb.base/ending-run.exp @@ -52,19 +52,19 @@ gdb_load ${binfile} # to the prolog--that's another bug...) # gdb_test "b 1" ".*Breakpoint.*line 1.*" "bpt at line before routine" -gdb_test "b 13" ".*Note.*also.*Breakpoint.*2.*" "" +gdb_test "b 13" ".*Note.*also.*Breakpoint.*2.*" # Set up to go to the next-to-last line of the program # -gdb_test "b 31" ".*Breakpoint.*3.*" "" +gdb_test "b 31" ".*Breakpoint.*3.*" # Expect to hit the bp at line "1", but symbolize this # as line "13". Then try to clear it--this should work. # if [target_info exists use_gdb_stub] { - gdb_test "continue" ".*Breakpoint.*1.*callee.*13.*" "" + gdb_test "continue" ".*Breakpoint.*1.*callee.*13.*" } else { - gdb_test "r" ".*Breakpoint.*1.*callee.*13.*" "" + gdb_test "r" ".*Breakpoint.*1.*callee.*13.*" } gdb_test "cle" ".*Deleted breakpoints 2 1.*" "clear worked" send_gdb "i b\n" @@ -76,15 +76,15 @@ gdb_expect { # Test some other "clear" combinations # -gdb_test "b 1" ".*Breakpoint.*4.*" "" -gdb_test "b 13" ".*Note.*also.*Breakpoint.*5.*" "" +gdb_test "b 1" ".*Breakpoint.*4.*" +gdb_test "b 13" ".*Note.*also.*Breakpoint.*5.*" gdb_test "cle 13" ".*Deleted breakpoint 5.*" "Only cleared 1 by line" send_gdb "inf line 13\n" gdb_expect { -re ".*address (0x\[0-9a-fA-F]*).*$gdb_prompt $" { set line_eight $expect_out(1,string) - gdb_test "b 13" ".*Breakpoint.*6.*" "" + gdb_test "b 13" ".*Breakpoint.*6.*" gdb_test "cle *$line_eight" ".*Deleted breakpoints 6 4.*" "Clear 2 by address" } -re ".*$gdb_prompt $" { @@ -96,9 +96,9 @@ send_gdb "inf line 14\n" gdb_expect { -re ".*address (0x\[0-9a-fA-F]*).*$gdb_prompt $" { set line_nine $expect_out(1,string) - gdb_test "b 14" ".*Breakpoint.*7.*" "" - gdb_test "b *$line_nine" ".*Note.*also.*Breakpoint.*8.*" "" - gdb_test "c" ".*Breakpoint.*7.*callee.*14.*" "" + gdb_test "b 14" ".*Breakpoint.*7.*" + gdb_test "b *$line_nine" ".*Note.*also.*Breakpoint.*8.*" + gdb_test "c" ".*Breakpoint.*7.*callee.*14.*" gdb_test "cle" ".*Deleted breakpoints 8 7.*" "Clear 2 by default" } -re ".*$gdb_prompt $" { @@ -123,7 +123,7 @@ gdb_expect { # See if we can step out with control. The "1 2 3" stuff # is output from the program. # -gdb_test "cont" ".*Breakpoint.*32.*" "" +gdb_test "cont" ".*Breakpoint.*31.*" gdb_test "next" ".*1 2 7 14 23 34 47 62 79 Goodbye!.*32.*" "Step to return" set old_timeout $timeout diff --git a/gdb/testsuite/gdb.base/foll-exec.exp b/gdb/testsuite/gdb.base/foll-exec.exp index 260a7d8f5d7..c4d62a58972 100644 --- a/gdb/testsuite/gdb.base/foll-exec.exp +++ b/gdb/testsuite/gdb.base/foll-exec.exp @@ -209,7 +209,7 @@ proc do_exec_tests {} { # DTS CLLbs16760 # PA64 doesn't know about $START$ in dld.sl at this point. It should. # - Michael Coulter - setup_xfail hppa2.0w-hp-hpux* + setup_xfail hppa2.0w-hp-hpux* CLLbs16760 send_gdb "continue\n" gdb_expect { -re ".*Executing new program:.*${testfile2}.*Catchpoint .*(exec\'d .*${testfile2}).*in .START..*$gdb_prompt $"\ diff --git a/gdb/testsuite/gdb.base/foll-vfork.exp b/gdb/testsuite/gdb.base/foll-vfork.exp index b25bf56e83a..60f8f1f87f6 100644 --- a/gdb/testsuite/gdb.base/foll-vfork.exp +++ b/gdb/testsuite/gdb.base/foll-vfork.exp @@ -79,7 +79,7 @@ proc vfork_parent_follow_through_step {} { } send_gdb "next\n" gdb_expect { - -re "Detaching after fork from.*13.*$gdb_prompt $"\ + -re "Detaching after fork from.*13.*$gdb_prompt "\ {pass "vfork parent follow, through step"} -re "$gdb_prompt $" {fail "vfork parent follow, through step"} timeout {fail "(timeout) vfork parent follow, through step" } @@ -106,7 +106,7 @@ proc vfork_parent_follow_to_bp {} { } send_gdb "continue\n" gdb_expect { - -re ".*Detaching after fork from process.*Breakpoint.*18.*$gdb_prompt $"\ + -re ".*Detaching after fork from process.*Breakpoint.*18.*$gdb_prompt "\ {pass "vfork parent follow, to bp"} -re "$gdb_prompt $" {fail "vfork parent follow, to bp"} timeout {fail "(timeout) vfork parent follow, to bp" } @@ -129,7 +129,7 @@ proc vfork_and_exec_child_follow_to_main_bp {} { } send_gdb "continue\n" gdb_expect { - -re "Detaching from program.*Attaching after fork to.*Executing new program.*Breakpoint.*vforked-prog.c:9.*$gdb_prompt $"\ + -re "Detaching from program.*Attaching after fork to.*Executing new program.*Breakpoint.*vforked-prog.c:9.*$gdb_prompt "\ {pass "vfork and exec child follow, to main bp"} -re "$gdb_prompt $" {fail "vfork and exec child follow, to main bp"} timeout {fail "(timeout) vfork and exec child follow, to main bp" } @@ -175,7 +175,7 @@ proc vfork_and_exec_child_follow_through_step {} { # the implementation of "next" sets a "step resume" breakpoint at the # return from the vfork(), which the child will hit on its way to exec'ing. # - if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { + if { ![istarget "hppa*-*-hpux11.*"] } { verbose "vfork child-following next test ignored for non-hppa or pre-HP/UX-10.30 targets." return 0 } @@ -187,7 +187,7 @@ proc vfork_and_exec_child_follow_through_step {} { } send_gdb "next\n" gdb_expect { - -re "Detaching from program.*Attaching after fork to.*Executing new program.*Breakpoint.*vforked-prog.c:9.*$gdb_prompt $"\ + -re "Detaching from program.*Attaching after fork to.*Executing new program.*Breakpoint.*vforked-prog.c:9.*$gdb_prompt "\ {pass "vfork and exec child follow, through step"} -re "$gdb_prompt $" {fail "vfork and exec child follow, through step"} timeout {fail "(timeout) vfork and exec child follow, through step" } @@ -242,16 +242,16 @@ proc tcatch_vfork_then_parent_follow {} { # HP-UX 10.20 seems to stop you in "vfork", while more recent HP-UXs # stop you in "_vfork". gdb_expect { - -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt $"\ + -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt "\ {pass "vfork parent follow, tcatch vfork"} - -re "0x\[0-9a-fA-F\]*.*_vfork.*$gdb_prompt $"\ + -re "0x\[0-9a-fA-F\]*.*_vfork.*$gdb_prompt "\ {pass "vfork parent follow, tcatch vfork"} -re "$gdb_prompt $" {fail "vfork parent follow, tcatch vfork"} timeout {fail "(timeout) vfork parent follow, tcatch vfork"} } send_gdb "finish\n" gdb_expect { - -re "Run till exit from.*vfork.*0x\[0-9a-fA-F\]* in main .* at .*${srcfile}:12.*$gdb_prompt $"\ + -re "Run till exit from.*vfork.*0x\[0-9a-fA-F\]* in main .* at .*${srcfile}:12.*$gdb_prompt "\ {pass "vfork parent follow, finish after tcatch vfork"} -re "$gdb_prompt $" {fail "vfork parent follow, finish after tcatch vfork"} timeout {fail "(timeout) vfork parent follow, finish after tcatch vfork" } @@ -283,16 +283,16 @@ proc tcatch_vfork_then_child_follow {} { # HP-UX 10.20 seems to stop you in "vfork", while more recent HP-UXs # stop you in "_vfork". gdb_expect { - -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt $"\ + -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt "\ {pass "vfork child follow, tcatch vfork"} - -re "0x\[0-9a-fA-F\]*.*_vfork.*$gdb_prompt $"\ + -re "0x\[0-9a-fA-F\]*.*_vfork.*$gdb_prompt "\ {pass "vfork child follow, tcatch vfork"} -re "$gdb_prompt $" {fail "vfork child follow, tcatch vfork"} timeout {fail "(timeout) vfork child follow, tcatch vfork"} } send_gdb "finish\n" gdb_expect { - -re "Run till exit from.*vfork.*${srcfile2}:9.*$gdb_prompt $"\ + -re "Run till exit from.*vfork.*${srcfile2}:9.*$gdb_prompt "\ {pass "vfork child follow, finish after tcatch vfork"} -re "$gdb_prompt $" {fail "vfork child follow, finish after tcatch vfork"} timeout {fail "(timeout) vfork child follow, finish after tcatch vfork" } diff --git a/gdb/testsuite/gdb.base/gdbvars.exp b/gdb/testsuite/gdb.base/gdbvars.exp index 2ab37e0222f..9678df6bb6e 100644 --- a/gdb/testsuite/gdb.base/gdbvars.exp +++ b/gdb/testsuite/gdb.base/gdbvars.exp @@ -84,7 +84,7 @@ proc test_value_history {} { gdb_test "print \$0" "\\\$8 = 102" \ "Print value-history\[MAX\] using explicit index \$0" - gdb_test "print 108" "\\\$9 = 108" "" + gdb_test "print 108" "\\\$9 = 108" gdb_test "print \$\$0" "\\\$10 = 108" \ "Print value-history\[MAX\] using explicit index \$\$0" diff --git a/gdb/testsuite/gdb.base/interrupt.exp b/gdb/testsuite/gdb.base/interrupt.exp index 379df02bc51..c2ad284f8e3 100644 --- a/gdb/testsuite/gdb.base/interrupt.exp +++ b/gdb/testsuite/gdb.base/interrupt.exp @@ -110,7 +110,7 @@ if ![file exists $binfile] then { # terminates the program. A defect is pending on this # issue [defect #DTS CHFts24203]. Hence calling setup_xfail # below. - setup_xfail "hppa*-*-*11*" + setup_xfail "hppa*-*-*11*" CHFts24203 fail "call function when asleep (wrong output)" } default { diff --git a/gdb/testsuite/gdb.base/list.exp b/gdb/testsuite/gdb.base/list.exp index d77ce53962d..f319ba07c94 100644 --- a/gdb/testsuite/gdb.base/list.exp +++ b/gdb/testsuite/gdb.base/list.exp @@ -282,6 +282,48 @@ proc test_list_forward {} { gdb_stop_suppressing_tests; } +# Test that repeating the list linenum command doesn't print the same +# lines over again. Note that this test makes sure that the argument +# linenum is dropped, when we repeat the previous command. 'x/5i $pc' +# works the same way. + +proc test_repeat_list_command {} { + global gdb_prompt + + set testcnt 0 + + send_gdb "list list0.c:10\n" + gdb_expect { + -re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } + -re ".*$gdb_prompt $" { fail "list list0.c:10" ; gdb_suppress_tests } + timeout { fail "list list0.c:10 (timeout)" ; gdb_suppress_tests } + } + + send_gdb "\n" + gdb_expect { + -re "15\[ \t\]+foo \[(\]+.*\[)\]+;.*24\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } + -re ".*$gdb_prompt $" { fail "list 15-24" ; gdb_suppress_tests } + timeout { fail "list 15-24 (timeout)" ; gdb_suppress_tests } + } + + send_gdb "\n" + gdb_expect { + -re "25\[ \t\]+foo \[(\]+.*\[)\]+;.*34\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } + -re ".*$gdb_prompt $" { fail "list 25-34" ; gdb_suppress_tests } + timeout { fail "list 25-34 (timeout)" ; gdb_suppress_tests } + } + + send_gdb "\n" + gdb_expect { + -re "35\[ \t\]+foo \\(.*\\);.*42\[ \t\]+.*\}\r\n$gdb_prompt $" { incr testcnt } + -re ".*$gdb_prompt $" { fail "list 35-42" ; gdb_suppress_tests } + timeout { fail "list 35-42 (timeout)" ; gdb_suppress_tests } + } + + pass "repeat list commands to page forward using 'return' ($testcnt tests)" + gdb_stop_suppressing_tests; +} + proc test_list_backwards {} { global gdb_prompt @@ -513,6 +555,7 @@ if [ set_listsize 10 ] then { test_list_function test_list_forward test_list_backwards + test_repeat_list_command test_list_range test_list_filename_and_function test_forward_search diff --git a/gdb/testsuite/gdb.base/long_long.exp b/gdb/testsuite/gdb.base/long_long.exp index 52e6ff593a5..07006b653a6 100644 --- a/gdb/testsuite/gdb.base/long_long.exp +++ b/gdb/testsuite/gdb.base/long_long.exp @@ -79,84 +79,84 @@ gdb_test "p/d dec" ".*-6101065172474983726.*" "decimal print p/d" # Try all the combinations to bump up coverage. # -gdb_test "p/d oct" ".*12046818088235383159.*" "" -gdb_test "p/u oct" ".*12046818088235383159.*" "" -gdb_test "p/o oct" ".*.*" "" -gdb_test "p/t oct" ".*1010011100101110111001010011100101110111000001010011100101110111.*" "" -gdb_test "p/a oct" ".*0x.*77053977.*" "" -gdb_test "p/c oct" ".*'w'.*" "" -gdb_test "p/f oct" ".*-5.9822653797615723e-120.*" "" - -gdb_test "p/d *(int *)&oct" ".*-1490098887.*" "" -gdb_test "p/u *(int *)&oct" ".*2804868409.*" "" -gdb_test "p/o *(int *)&oct" ".*024713562471.*" "" -gdb_test "p/t *(int *)&oct" ".*10100111001011101110010100111001.*" "" -gdb_test "p/a *(int *)&oct" ".*0xf*a72ee539.*" "" -gdb_test "p/c *(int *)&oct" ".*57 '9'.*" "" -gdb_test "p/f *(int *)&oct" ".*-2.42716126e-15.*" "" - -gdb_test "p/d *(short *)&oct" ".*-22738.*" "" -gdb_test "p/u *(short *)&oct" ".*42798.*" "" -gdb_test "p/o *(short *)&oct" ".*0123456.*" "" -gdb_test "p/t *(short *)&oct" ".*1010011100101110.*" "" -gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" "" -gdb_test "p/c *(short *)&oct" ".* 46 '.'.*" "" -gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" "" -gdb_test "p/f *(short *)&oct" ".*-22738.*" "" - -gdb_test "x/x &oct" ".*0xa72ee539.*" "" -gdb_test "x/d &oct" ".*.-1490098887*" "" -gdb_test "x/u &oct" ".*2804868409.*" "" -gdb_test "x/o &oct" ".*024713562471.*" "" -gdb_test "x/t &oct" ".*10100111001011101110010100111001.*" "" -gdb_test "x/a &oct" ".*0xa72ee539.*" "" -gdb_test "x/c &oct" ".*-89 '\\\\247'.*" "" -gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*" "" - -gdb_test "x/2x &oct" ".*.*" "" -gdb_test "x/2d &oct" ".*.*" "" -gdb_test "x/2u &oct" ".*.*" "" -gdb_test "x/2o &oct" ".*.*" "" -gdb_test "x/2t &oct" ".*.*" "" -gdb_test "x/2a &oct" ".*.*" "" -gdb_test "x/2c &oct" ".*.*" "" -gdb_test "x/2f &oct" ".*.*" "" - -gdb_test "x/2bx &oct" ".*.*" "" -gdb_test "x/2bd &oct" ".*.*" "" -gdb_test "x/2bu &oct" ".*.*" "" -gdb_test "x/2bo &oct" ".*.*" "" -gdb_test "x/2bt &oct" ".*.*" "" -gdb_test "x/2ba &oct" ".*.*" "" -gdb_test "x/2bc &oct" ".*.*" "" -gdb_test "x/2bf &oct" ".*.*" "" - -gdb_test "x/2hx &oct" ".*.*" "" -gdb_test "x/2hd &oct" ".*.*" "" -gdb_test "x/2hu &oct" ".*.*" "" -gdb_test "x/2ho &oct" ".*.*" "" -gdb_test "x/2ht &oct" ".*.*" "" -gdb_test "x/2ha &oct" ".*.*" "" -gdb_test "x/2hc &oct" ".*.*" "" -gdb_test "x/2hf &oct" ".*.*" "" - -gdb_test "x/2wx &oct" ".*.*" "" -gdb_test "x/2wd &oct" ".*.*" "" -gdb_test "x/2wu &oct" ".*.*" "" -gdb_test "x/2wo &oct" ".*.*" "" -gdb_test "x/2wt &oct" ".*.*" "" -gdb_test "x/2wa &oct" ".*.*" "" -gdb_test "x/2wc &oct" ".*.*" "" -gdb_test "x/2wf &oct" ".*.*" "" - -gdb_test "x/2gx &oct" ".*.*" "" -gdb_test "x/2gd &oct" ".*.*" "" -gdb_test "x/2gu &oct" ".*.*" "" -gdb_test "x/2go &oct" ".*.*" "" -gdb_test "x/2gt &oct" ".*.*" "" -gdb_test "x/2ga &oct" ".*.*" "" -gdb_test "x/2gc &oct" ".*.*" "" -gdb_test "x/2gf &oct" ".*.*" "" +gdb_test "p/d oct" ".*-6399925985474168457.*" +gdb_test "p/u oct" ".*12046818088235383159.*" +gdb_test "p/o oct" ".*.*" +gdb_test "p/t oct" ".*1010011100101110111001010011100101110111000001010011100101110111.*" +gdb_test "p/a oct" ".*0x.*77053977.*" +gdb_test "p/c oct" ".*'w'.*" +gdb_test "p/f oct" ".*-5.9822653797615723e-120.*" + +gdb_test "p/d *(int *)&oct" ".*-1490098887.*" +gdb_test "p/u *(int *)&oct" ".*2804868409.*" +gdb_test "p/o *(int *)&oct" ".*024713562471.*" +gdb_test "p/t *(int *)&oct" ".*10100111001011101110010100111001.*" +gdb_test "p/a *(int *)&oct" ".*0xf*a72ee539.*" +gdb_test "p/c *(int *)&oct" ".*57 '9'.*" +gdb_test "p/f *(int *)&oct" ".*-2.42716126e-15.*" + +gdb_test "p/d *(short *)&oct" ".*-22738.*" +gdb_test "p/u *(short *)&oct" ".*42798.*" +gdb_test "p/o *(short *)&oct" ".*0123456.*" +gdb_test "p/t *(short *)&oct" ".*1010011100101110.*" +gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" +gdb_test "p/c *(short *)&oct" ".* 46 '.'.*" +gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" +gdb_test "p/f *(short *)&oct" ".*-22738.*" + +gdb_test "x/x &oct" ".*0xa72ee539.*" +gdb_test "x/d &oct" ".*.-1490098887*" +gdb_test "x/u &oct" ".*2804868409.*" +gdb_test "x/o &oct" ".*024713562471.*" +gdb_test "x/t &oct" ".*10100111001011101110010100111001.*" +gdb_test "x/a &oct" ".*0xa72ee539.*" +gdb_test "x/c &oct" ".*-89 '\\\\247'.*" +gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*" + +gdb_test "x/2x &oct" ".*.*" +gdb_test "x/2d &oct" ".*.*" +gdb_test "x/2u &oct" ".*.*" +gdb_test "x/2o &oct" ".*.*" +gdb_test "x/2t &oct" ".*.*" +gdb_test "x/2a &oct" ".*.*" +gdb_test "x/2c &oct" ".*.*" +gdb_test "x/2f &oct" ".*.*" + +gdb_test "x/2bx &oct" ".*.*" +gdb_test "x/2bd &oct" ".*.*" +gdb_test "x/2bu &oct" ".*.*" +gdb_test "x/2bo &oct" ".*.*" +gdb_test "x/2bt &oct" ".*.*" +gdb_test "x/2ba &oct" ".*.*" +gdb_test "x/2bc &oct" ".*.*" +gdb_test "x/2bf &oct" ".*.*" + +gdb_test "x/2hx &oct" ".*.*" +gdb_test "x/2hd &oct" ".*.*" +gdb_test "x/2hu &oct" ".*.*" +gdb_test "x/2ho &oct" ".*.*" +gdb_test "x/2ht &oct" ".*.*" +gdb_test "x/2ha &oct" ".*.*" +gdb_test "x/2hc &oct" ".*.*" +gdb_test "x/2hf &oct" ".*.*" + +gdb_test "x/2wx &oct" ".*.*" +gdb_test "x/2wd &oct" ".*.*" +gdb_test "x/2wu &oct" ".*.*" +gdb_test "x/2wo &oct" ".*.*" +gdb_test "x/2wt &oct" ".*.*" +gdb_test "x/2wa &oct" ".*.*" +gdb_test "x/2wc &oct" ".*.*" +gdb_test "x/2wf &oct" ".*.*" + +gdb_test "x/2gx &oct" ".*.*" +gdb_test "x/2gd &oct" ".*.*" +gdb_test "x/2gu &oct" ".*.*" +gdb_test "x/2go &oct" ".*.*" +gdb_test "x/2gt &oct" ".*.*" +gdb_test "x/2ga &oct" ".*.*" +gdb_test "x/2gc &oct" ".*.*" +gdb_test "x/2gf &oct" ".*.*" gdb_exit return 0 diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp index 29e3134732b..b1f7c53f28d 100644 --- a/gdb/testsuite/gdb.base/maint.exp +++ b/gdb/testsuite/gdb.base/maint.exp @@ -92,10 +92,18 @@ match_max 6000 # so that branch will really never be covered in this tests here!! # +# guo: on linux this command output is huge. for some reason splitting up +# the regexp checks works. +# send_gdb "maint check-symtabs\n" gdb_expect { - -re "^maint check-symtabs.*$gdb_prompt $"\ + -re "^maint check-symtabs" { + gdb_expect { + -re "$gdb_prompt $" \ { pass "maint check-symtabs" } + timeout { fail "(timeout) maint check-symtabs" } + } + } -re ".*$gdb_prompt $" { fail "maint check-symtabs" } timeout { fail "(timeout) maint check-symtabs" } } @@ -235,7 +243,9 @@ gdb_expect { send_gdb "shell grep 'main.*function' psymbols_output\n" gdb_expect { -re ".main., function, $hex.*$gdb_prompt $"\ - { pass "maint print psymbols" } + { pass "maint print psymbols 1" } + -re ".*main. .., function, $hex.*$gdb_prompt $"\ + { pass "maint print psymbols 2" } -re ".*$gdb_prompt $" { fail "maint print psymbols" } timeout { fail "(timeout) maint print psymbols" } } @@ -338,13 +348,18 @@ gdb_expect { timeout { fail "(timeout) maint print type" } } -#send_gdb "maint print unwind &main\n" -#gdb_expect { -# -re ".*unwind_table_entry \\($hex\\):\r\n\tregion_start = $hex <main>\r\n\tregion_end = $hex <main\\+220>\r\n\tflags = Args_stored Save_RP\r\n\tRegion_description = $hex\r\n\tEntry_FR = $hex\r\n\tEntry_GR = $hex\r\n\tTotal_frame_size = $hex\r\n$gdb_prompt $"\ -# { pass "maint print unwind" } -# -re ".*$gdb_prompt $" { fail "maint print unwind" } -# timeout { fail "(timeout) maint print unwind" } -# } +if [istarget "hppa*-*-11*"] { + setup_xfail hppa*-*-*11* CLLbs14860 + send "maint print unwind &main\n" + expect { + -re ".*unwind_table_entry \\($hex\\):\r\n\tregion_start = $hex <main>\r\n\tregion_end = $hex <main\\+\[0-9\]*>\r\n\tflags = Args_stored Save_RP\r\n\tRegion_description = $hex\r\n\tEntry_FR = $hex\r\n\tEntry_GR = $hex\r\n\tTotal_frame_size = $hex\r\n$gdb_prompt $"\ + { pass "maint print unwind" } + -re ".*unwind_table_entry \\($hex\\):\r\n\tregion_start = $hex <main>\r\n\tregion_end = $hex <main\\+\[0-9\]*>\r\n\tflags = Args_stored Save_RP\r\n\tFLD = $hex\r\n\tFLD = $hex\r\n\tFLD = $hex\r\n\tFLD = $hex\r\n$gdb_prompt $"\ + { xfail "maint print unwind" } + -re ".*$gdb_prompt $" { xfail "maint info unwind" } + timeout { fail "(timeout) maint print unwind" } + } +} set oldtimeout $timeout set timeout [expr $timeout + 300] @@ -369,7 +384,7 @@ gdb_expect { send_gdb "maint info breakpoints\n" gdb_expect { - -re "Num\[ \t\]+Type\[ \t\]+Disp\[ \t\]+Enb\[ \t\]+Address\[ \t\]+What\r\n1\[ \t\]+breakpoint\[ \t\]+keep\[ \t\]+y\[ \t\]+$hex in main at.*break.c:60\r\n\[ \t\]+breakpoint already hit 1 time\r\n.*$gdb_prompt $"\ + -re "Num\[ \t\]+Type\[ \t\]+Disp\[ \t\]+Enb\[ \t\]+Address\[ \t\]+What\r\n1\[ \t\]+breakpoint\[ \t\]+keep\[ \t\]+y\[ \t\]+$hex in main at.*break.c:75\r\n\[ \t\]+breakpoint already hit 1 time\r\n.*$gdb_prompt $"\ { pass "maint info breakpoints" } -re ".*$gdb_prompt $" { fail "maint info breakpoints" } timeout { fail "(timeout) maint info breakpoints" } @@ -383,7 +398,9 @@ if {! ([istarget "hppa*-*-hpux*"] } send_gdb "maint info breakpoints\n" gdb_expect { - -re "Num\[ \t\]+Type\[ \t\]+Disp\[ \t\]+Enb\[ \t\]+Address\[ \t\]+What\r\n1\[ \t\]+breakpoint\[ \t\]+keep\[ \t\]+y\[ \t\]+$hex in main at.*break.c:60\r\n\[ \t\]+breakpoint already hit 1 time\r\n-1\[ \t\]+shlib events\[ \t\]+keep\[ \t\]+y\[ \t\]+$hex.*breakpoint already hit.*$gdb_prompt $"\ + -re "Num\[ \t\]+Type\[ \t\]+Disp\[ \t\]+Enb\[ \t\]+Address\[ \t\]+What\r\n1\[ \t\]+breakpoint\[ \t\]+keep\[ \t\]+y\[ \t\]+$hex in main at.*break.c:75\r\n\[ \t\]+breakpoint already hit 1 time\r\n.*$gdb_prompt $"\ + { pass "maint info breakpoints" } + -re "Num\[ \t\]+Type\[ \t\]+Disp\[ \t\]+Enb\[ \t\]+Address\[ \t\]+What\r\n1\[ \t\]+breakpoint\[ \t\]+keep\[ \t\]+y\[ \t\]+$hex in main at.*break.c:75\r\n\[ \t\]+breakpoint already hit 1 time\r\n-1\[ \t\]+shlib events\[ \t\]+keep\[ \t\]+y\[ \t\]+$hex.*breakpoint already hit.*$gdb_prompt $"\ { pass "maint info breakpoints: shlib events" } -re ".*$gdb_prompt $" { fail "maint info breakpoints: shlib events" @@ -521,13 +538,15 @@ gdb_expect { timeout { fail "(timeout) help maint print type" } } -#send_gdb "help maint print unwind\n" -#gdb_expect { -# -re "Print unwind table entry at given address\\..*$gdb_prompt $"\ -# { pass "help maint print unwind" } -# -re ".*$gdb_prompt $" { fail "help maint print unwind" } -# timeout { fail "(timeout) help maint print unwind" } -# } +if [istarget "hppa*-*-*"] { + send_gdb "help maint print unwind\n" + gdb_expect { + -re "Print unwind table entry at given address\\..*$gdb_prompt $"\ + { pass "help maint print unwind" } + -re ".*$gdb_prompt $" { fail "help maint print unwind" } + timeout { fail "(timeout) help maint print unwind" } + } +} send_gdb "help maint info sections\n" gdb_expect { diff --git a/gdb/testsuite/gdb.base/pointers.c b/gdb/testsuite/gdb.base/pointers.c index 60e6444e4a4..a6f0062dab7 100644 --- a/gdb/testsuite/gdb.base/pointers.c +++ b/gdb/testsuite/gdb.base/pointers.c @@ -74,6 +74,7 @@ int y; int main () { void dummy(); + int more_code(); /* Ensure that malloc is a pointer type; avoid use of "void" and any include files. */ /* extern char *malloc();*/ diff --git a/gdb/testsuite/gdb.base/pointers.exp b/gdb/testsuite/gdb.base/pointers.exp index bccda66abc3..539f875b71c 100644 --- a/gdb/testsuite/gdb.base/pointers.exp +++ b/gdb/testsuite/gdb.base/pointers.exp @@ -62,7 +62,7 @@ if ![runto_main] then { continue } -gdb_test "next" "" "continuing after dummy()" +gdb_test "next " "more_code.*;" "continuing after dummy()" # diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp index cdbe56c9010..79c6bc68940 100644 --- a/gdb/testsuite/gdb.base/printcmds.exp +++ b/gdb/testsuite/gdb.base/printcmds.exp @@ -398,7 +398,7 @@ proc test_print_repeats_10 {} { global gdb_prompt for { set x 1; } { $x <= 16 } { incr x; } { - gdb_test "set print elements $x" "" "" + gdb_test "set print elements $x" "" for { set e 1; } { $e <= 16 } {incr e; } { set v [expr $e - 1]; set command "p &ctable2\[${v}*16\]" @@ -451,23 +451,23 @@ proc test_print_strings {} { # Test that setting print elements unlimited doesn't completely suppress # printing; this was a bug in older gdb's. - gdb_test "set print elements 0" "" "" + gdb_test "set print elements 0" "" gdb_test "p teststring" \ " = (.unsigned char .. )?\"teststring contents\"" "p teststring with elements set to 0" - gdb_test "set print elements 1" "" "" + gdb_test "set print elements 1" "" gdb_test "p teststring" \ " = (.unsigned char .. )?\"t\"\\.\\.\\." "p teststring with elements set to 1" - gdb_test "set print elements 5" "" "" + gdb_test "set print elements 5" "" gdb_test "p teststring" \ " = (.unsigned char .. )?\"tests\"\\.\\.\\." "p teststring with elements set to 5" - gdb_test "set print elements 19" "" "" + gdb_test "set print elements 19" "" gdb_test "p teststring" \ " = (.unsigned char .. )?\"teststring contents\"" "p teststring with elements set to 19" - gdb_test "set print elements 20" "" "" + gdb_test "set print elements 20" "" gdb_test "p teststring" \ " = (.unsigned char .. )?\"teststring contents\"" "p teststring with elements set to 20" - gdb_test "set print elements 8" "" "" + gdb_test "set print elements 8" "" gdb_test "p &ctable1\[0\]" \ " = \\(unsigned char \\*\\) \"\"" @@ -540,7 +540,7 @@ proc test_print_strings {} { proc test_print_int_arrays {} { global gdb_prompt - gdb_test "set print elements 24" "" "" + gdb_test "set print elements 24" "" gdb_test "p int1dim" \ " = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}" @@ -566,8 +566,8 @@ proc test_print_char_arrays {} { global gdb_prompt global hex - gdb_test "set print elements 24" "" "" - gdb_test "set print address on" "" "" + gdb_test "set print elements 24" "" + gdb_test "set print address on" "" gdb_test "p arrays" \ " = {array1 = \"abc\", array2 = \"d\", array3 = \"e\", array4 = \"fg\", array5 = \"hij\"}" @@ -584,13 +584,13 @@ proc test_print_char_arrays {} { gdb_test "p parrays->array5" " = \"hij\"" gdb_test "p &parrays->array5" " = \\(unsigned char \\(\\*\\)\\\[4\\\]\\) $hex" - gdb_test "set print address off" "" "" + gdb_test "set print address off" "" } proc test_print_string_constants {} { global gdb_prompt - gdb_test "set print elements 50" "" "" + gdb_test "set print elements 50" "" if [target_info exists gdb,cannot_call_functions] { setup_xfail "*-*-*" 2416 @@ -677,7 +677,7 @@ gdb_test "print \$pc" "No registers\\." gdb_load ${binfile} gdb_test "set print sevenbit-strings" "" -gdb_test "set print address off" "" "" +gdb_test "set print address off" "" gdb_test "set width 0" "" if [set_lang_c] then { diff --git a/gdb/testsuite/gdb.base/ptype.exp b/gdb/testsuite/gdb.base/ptype.exp index d36efec12c6..f5b45034245 100644 --- a/gdb/testsuite/gdb.base/ptype.exp +++ b/gdb/testsuite/gdb.base/ptype.exp @@ -129,7 +129,8 @@ gdb_test "ptype boolean" "type = enum (boolean |)\{FALSE, TRUE\}.*" "ptype unnam # as (51) doesn't have a name. Only 55 has a name. if {!$gcc_compiled && !$hp_aCC_compiler} { - setup_xfail "rs6000-*-*" "i*86-*-sysv4*" "hppa*-*-*" # CLLbs14773 + setup_xfail "rs6000-*-*" "i*86-*-sysv4*" + setup_xfail "hppa*-*-*" CLLbs14773 } get_debug_format setup_xfail_format "DWARF 1" diff --git a/gdb/testsuite/gdb.base/scope.exp b/gdb/testsuite/gdb.base/scope.exp index 708bc42ea1a..6c3f9f2f1ad 100644 --- a/gdb/testsuite/gdb.base/scope.exp +++ b/gdb/testsuite/gdb.base/scope.exp @@ -112,8 +112,7 @@ proc test_at_main {} { # Print scope1.c::filelocal, which is 2 if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - #DTS 11747CLLbs - if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*"} + if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*" 11747CLLbs} if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { gdb_suppress_tests ; } @@ -122,8 +121,7 @@ proc test_at_main {} { # Print scope1.c::filelocal_bss, which is 102 if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - #DTS 11747CLLbs - if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*"} + if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*" 11747CLLbs} if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] { gdb_suppress_tests ; } @@ -132,8 +130,7 @@ proc test_at_main {} { # Print scope1.c::filelocal_ro, which is 202 if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - #DTS 11747CLLbs - if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*"} + if {$hp_cc_compiler} then { setup_xfail "hppa2.0w-*-*" 11747CLLbs} if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] { gdb_suppress_tests ; } diff --git a/gdb/testsuite/gdb.base/setvar.exp b/gdb/testsuite/gdb.base/setvar.exp index ec217cf78c0..2c9b4162cb1 100644 --- a/gdb/testsuite/gdb.base/setvar.exp +++ b/gdb/testsuite/gdb.base/setvar.exp @@ -330,11 +330,11 @@ gdb_test "set v_unsigned_short_pointer=v_unsigned_short_array" "" gdb_test "set variable *(v_unsigned_short_pointer)=123" "" gdb_test "set variable *(v_unsigned_short_pointer+1)=-456" "" # DTS 10060CLLbs - bad type info from cc -if {$hp_cc_compiler} {setup_xfail hppa*-*-*11*} +if {$hp_cc_compiler} {setup_xfail hppa*-*-*11* 10060CLLbs} gdb_test "print v_unsigned_short_array" ".\[0-9\]* =.*\{123,.*65080\}" \ "set variable unsigned short pointer" # DTS 10060CLLbs - bad type info from cc -if {$hp_cc_compiler} {setup_xfail hppa*-*-*11*} +if {$hp_cc_compiler} {setup_xfail hppa*-*-*11* 10060CLLbs} gdb_test "print *(v_unsigned_short_pointer+1)" ".\[0-9\]* = 65080" # # test "set variable" for type "int *" diff --git a/gdb/testsuite/gdb.base/signals.exp b/gdb/testsuite/gdb.base/signals.exp index 6511b2e44fb..ad875cc1420 100644 --- a/gdb/testsuite/gdb.base/signals.exp +++ b/gdb/testsuite/gdb.base/signals.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 1999 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 @@ -184,7 +184,7 @@ proc signal_tests_1 {} { # This doesn't test that main is frame #2, just that main is frame # #2, #3, or higher. At some point this should be fixed (but # it quite possibly would introduce new FAILs on some systems). - setup_xfail "i*86-pc-linux-gnu*" "i*86-*-bsdi2.0" + setup_xfail "i*86-*-bsdi2.0" gdb_test "backtrace 10" "#0.*handler.*#1.*#2.*main.*" \ "backtrace in signals_tests_1" diff --git a/gdb/testsuite/gdb.base/structs.c b/gdb/testsuite/gdb.base/structs.c index b44d2fea98f..82a537c88bc 100644 --- a/gdb/testsuite/gdb.base/structs.c +++ b/gdb/testsuite/gdb.base/structs.c @@ -102,68 +102,120 @@ struct struct16 fun16() return foo16; } +#ifdef PROTOTYPES +void Fun1(struct struct1 foo1) +#else void Fun1(foo1) struct struct1 foo1; +#endif { L1 = foo1; } +#ifdef PROTOTYPES +void Fun2(struct struct2 foo2) +#else void Fun2(foo2) struct struct2 foo2; +#endif { L2 = foo2; } +#ifdef PROTOTYPES +void Fun3(struct struct3 foo3) +#else void Fun3(foo3) struct struct3 foo3; +#endif { L3 = foo3; } +#ifdef PROTOTYPES +void Fun4(struct struct4 foo4) +#else void Fun4(foo4) struct struct4 foo4; +#endif { L4 = foo4; } +#ifdef PROTOTYPES +void Fun5(struct struct5 foo5) +#else void Fun5(foo5) struct struct5 foo5; +#endif { L5 = foo5; } +#ifdef PROTOTYPES +void Fun6(struct struct6 foo6) +#else void Fun6(foo6) struct struct6 foo6; +#endif { L6 = foo6; } +#ifdef PROTOTYPES +void Fun7(struct struct7 foo7) +#else void Fun7(foo7) struct struct7 foo7; +#endif { L7 = foo7; } +#ifdef PROTOTYPES +void Fun8(struct struct8 foo8) +#else void Fun8(foo8) struct struct8 foo8; +#endif { L8 = foo8; } +#ifdef PROTOTYPES +void Fun9(struct struct9 foo9) +#else void Fun9(foo9) struct struct9 foo9; +#endif { L9 = foo9; } +#ifdef PROTOTYPES +void Fun10(struct struct10 foo10) +#else void Fun10(foo10) struct struct10 foo10; +#endif { L10 = foo10; } +#ifdef PROTOTYPES +void Fun11(struct struct11 foo11) +#else void Fun11(foo11) struct struct11 foo11; +#endif { L11 = foo11; } +#ifdef PROTOTYPES +void Fun12(struct struct12 foo12) +#else void Fun12(foo12) struct struct12 foo12; +#endif { L12 = foo12; } +#ifdef PROTOTYPES +void Fun16(struct struct16 foo16) +#else void Fun16(foo16) struct struct16 foo16; +#endif { L16 = foo16; } diff --git a/gdb/testsuite/gdb.base/structs.exp b/gdb/testsuite/gdb.base/structs.exp index 1c79af5b646..7f4556cabcb 100644 --- a/gdb/testsuite/gdb.base/structs.exp +++ b/gdb/testsuite/gdb.base/structs.exp @@ -127,9 +127,9 @@ gdb_start gdb_reinitialize_dir $srcdir/$subdir gdb_load ${binfile} -gdb_test "set print sevenbit-strings" "" "" -gdb_test "set print address off" "" "" -gdb_test "set width 0" "" "" +gdb_test "set print sevenbit-strings" "" +gdb_test "set print address off" "" +gdb_test "set width 0" "" if [target_info exists gdb,cannot_call_functions] { setup_xfail "*-*-*" 2416 diff --git a/gdb/testsuite/gdb.base/structs2.exp b/gdb/testsuite/gdb.base/structs2.exp index 14652bef06c..d2924ea62f6 100644 --- a/gdb/testsuite/gdb.base/structs2.exp +++ b/gdb/testsuite/gdb.base/structs2.exp @@ -45,7 +45,7 @@ gdb_start gdb_reinitialize_dir $srcdir/$subdir gdb_load ${binfile} -gdb_test "set width 0" "" "" +gdb_test "set width 0" "" if { ![runto_main] } then { gdb_suppress_tests diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp index 7dced3b0e33..f9fda6559b2 100644 --- a/gdb/testsuite/gdb.base/watchpoint.exp +++ b/gdb/testsuite/gdb.base/watchpoint.exp @@ -79,9 +79,9 @@ proc initialize {} { # ??rehrauer: To fix DTS #CHFts23014, in which setting a watchpoint - # before running can cause the inferior to croak on HP-UX 10.30 and - # 11.0 for reasons as yet unknown, we've disabled the ability to set - # watches without a running inferior. Verify the restriction. + # before running can cause the inferior to croak on HP-UX 11.0 for + # reasons yet unknown, we've disabled the ability to set watches + # without a running inferior. Verify the restriction. # send_gdb "watch ival3\n" gdb_expect { @@ -157,8 +157,8 @@ proc test_simple_watchpoint {} { if { !$wp_set } { # ??rehrauer: To fix DTS #CHFts23014, in which setting a watchpoint - # before running can cause the inferior to croak on HP-UX 10.30 and - # 11.0 for reasons as yet unknown, we've disabled the ability to set + # before running can cause the inferior to croak on HP-UX 11.0 + # for reasons yet unknown, we've disabled the ability to set # watches without a running inferior. The following testpoints used # to be in [initialize]. # diff --git a/gdb/testsuite/gdb.base/whatis.exp b/gdb/testsuite/gdb.base/whatis.exp index d540e4cd808..20cd67e287d 100644 --- a/gdb/testsuite/gdb.base/whatis.exp +++ b/gdb/testsuite/gdb.base/whatis.exp @@ -301,11 +301,10 @@ gdb_test "whatis v_union2" \ "whatis unnamed union" -if { [istarget "hppa*-hp-hpux10.20"] && $hp_aCC_compiler } { - # On HP-UX 10.20 with aCC compiler and objdebug mode, - # we need the 'void' pattern; without objdebug mode, - # we still need to '' pattern. - # FIXME: need to look into this further. +if { [istarget "hppa*-hp-hpux*"] && $hp_aCC_compiler } { + # HP-UX: HP aCC compiler w/ +objdebug option detects language as + # c++, so we need the 'void' pattern here. + # Without +objdebug compilation option we still need to match ''. # - guo set void "(void|)" } else { |