# Copyright 2008-2021 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 # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . standard_testfile .cc if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug c++}] } { return -1 } ############################################ if ![runto_main] then { perror "couldn't run to breakpoint main" continue } gdb_breakpoint [gdb_get_line_number "end of main"] gdb_continue_to_breakpoint "end of main" # The 'test*' functions are to prove our understanding # of the overload resolution performed by the compiler # So, they should always pass, and the returned value # should match the corresponding call to 'foo*' setup_kfail "gdb/12096" *-*-* gdb_test "p foo0(b)" "10" gdb_test "p test1()" "12" gdb_test "p foo1(b)" "12" gdb_test "p test2()" "13" setup_kfail "gdb/12098" *-*-* gdb_test "p foo2(b)" "13" gdb_test "p test3()" "21" gdb_test "p foo3(1.0f)" "21" gdb_test "p test4()" "24" gdb_test "p foo4(&a)" "24" gdb_test "p test5()" "26" gdb_test "p foo5(c)" "26" gdb_test "p test6()" "28" gdb_test "p foo6(bp)" "28" gdb_test "p test7()" "210" gdb_test "p foo7(cp)" "210" gdb_test "p test8()" "212" gdb_test "p foo8(co)" "212" gdb_test "p test9()" "214" gdb_test "p foo9(co)" "214" gdb_test "p test10()" "216" setup_kfail "gdb/12098" *-*-* gdb_test "p foo10(amp)" "216" gdb_test "p test101()" "218" gdb_test "p foo101(\"abc\")" "218" gdb_test "p test11()" "32" setup_kfail "gdb/12096" *-*-* gdb_test "p foo11(d)" "32" gdb_test "p test12()" "42" # this passes only because gdb does not yet # implement template function calling gdb_test "p foo12(1)" "42" gdb_test "p test13()" "44" setup_kfail "gdb/12098" *-*-* gdb_test "p foo13(c)" "44" gdb_test "p test14()" "46" setup_kfail "gdb/12096" *-*-* gdb_test "p foo14(e)" "46" gdb_test "p test15 ()" "194" gdb_test "p foo15 (c)" "47" gdb_test "p foo15 (cc)" "48" gdb_test "p foo15 (vc)" "49" gdb_test "p foo15 (cvc)" "50"