| Index: gdb/testsuite/gdb.base/callfuncs.exp
|
| diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp
|
| index daaad1aebe2138529f32d5d57ba65e93f9c834fd..e3f49f98b1752a2dcab103d5cd7a097aaf873014 100644
|
| --- a/gdb/testsuite/gdb.base/callfuncs.exp
|
| +++ b/gdb/testsuite/gdb.base/callfuncs.exp
|
| @@ -1,4 +1,4 @@
|
| -# Copyright 1992, 1994-2004, 2007-2012 Free Software Foundation, Inc.
|
| +# Copyright 1992-2013 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
|
| @@ -16,9 +16,7 @@
|
| # This file was written by Fred Fish. (fnf@cygnus.com)
|
| # and modified by Bob Manson. (manson@cygnus.com)
|
|
|
| -set testfile "callfuncs"
|
| -set srcfile ${testfile}.c
|
| -set binfile ${objdir}/${subdir}/${testfile}
|
| +standard_testfile
|
|
|
| set compile_flags {debug}
|
| if [support_complex_tests] {
|
| @@ -34,7 +32,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $com
|
| # used to compile the test case.
|
|
|
| if [get_compiler_info] {
|
| - return -1;
|
| + return -1
|
| }
|
|
|
| if {$hp_aCC_compiler} {
|
| @@ -63,7 +61,11 @@ proc do_function_calls {} {
|
| global gdb_prompt
|
|
|
| # We need to up this because this can be really slow on some boards.
|
| - set timeout 60;
|
| + set timeout 60
|
| +
|
| + # If any of these calls segv we don't want to affect subsequent tests.
|
| + # E.g., we want to ensure register values are restored.
|
| + gdb_test_no_output "set unwindonsignal on"
|
|
|
| gdb_test "p t_char_values(0,0)" " = 0"
|
| gdb_test "p t_char_values('a','b')" " = 1"
|
| @@ -145,19 +147,15 @@ proc do_function_calls {} {
|
| }
|
|
|
| if [support_complex_tests] {
|
| - setup_kfail_for_target gdb/12798 "x86_64-*-*"
|
| gdb_test "p t_float_complex_values(fc1, fc2)" " = 1"
|
| gdb_test "p t_float_complex_values(fc3, fc4)" " = 0"
|
|
|
| - setup_kfail_for_target gdb/12800 "x86_64-*-*"
|
| gdb_test "p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)" " = 1"
|
| gdb_test "p t_float_complex_many_args(fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1)" " = 0"
|
|
|
| - setup_kfail_for_target gdb/12798 "x86_64-*-*"
|
| gdb_test "p t_double_complex_values(dc1, dc2)" " = 1"
|
| gdb_test "p t_double_complex_values(dc3, dc4)" " = 0"
|
|
|
| - setup_kfail_for_target gdb/12800 "x86_64-*-*"
|
| gdb_test "p t_double_complex_many_args(dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4)" " = 1"
|
| gdb_test "p t_double_complex_many_args(dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1)" " = 0"
|
|
|
| @@ -242,23 +240,21 @@ proc do_function_calls {} {
|
|
|
| if [support_complex_tests] {
|
|
|
| - setup_kfail_for_target gdb/12796 "x86_64-*-*"
|
| gdb_test "p t_structs_fc(struct_val1)" ".*= 3 \\+ 3 \\* I" \
|
| "call inferior func with struct - returns float _Complex"
|
|
|
| - setup_kfail_for_target gdb/12783 "i?86-*-*"
|
| - setup_kfail_for_target gdb/12796 "x86_64-*-*"
|
| gdb_test "p t_structs_dc(struct_val1)" ".*= 4 \\+ 4 \\* I" \
|
| "call inferior func with struct - returns double _Complex"
|
|
|
| - setup_kfail_for_target gdb/12783 "i?86-*-*"
|
| - setup_kfail_for_target gdb/12796 "x86_64-*-*"
|
| gdb_test "p t_structs_ldc(struct_val1)" "= 5 \\+ 5 \\* I" \
|
| "call inferior func with struct - returns long double _Complex"
|
| }
|
|
|
| gdb_test "p t_structs_a(struct_val1)" "= (.unsigned char .. )?<buf.*> \"foo\"" \
|
| "call inferior func with struct - returns char *"
|
| +
|
| + # Restore default value.
|
| + gdb_test_no_output "set unwindonsignal off"
|
| }
|
|
|
| # Procedure to get current content of all registers.
|
| @@ -331,7 +327,7 @@ proc rerun_and_prepare {} {
|
| # the language be set to the default.
|
|
|
| if { ![runto_main] } {
|
| - gdb_suppress_tests;
|
| + gdb_suppress_tests
|
| }
|
|
|
| # However, turn off overload-resolution for aCC. Having it on causes
|
| @@ -340,7 +336,7 @@ proc rerun_and_prepare {} {
|
| gdb_test_no_output "set overload-resolution 0"
|
| } else {
|
| if { ![runto_main] } {
|
| - gdb_suppress_tests;
|
| + gdb_suppress_tests
|
| }
|
| gdb_test_no_output "set language c"
|
| }
|
|
|