Index: gdb.cp/ovldbreak.exp =================================================================== --- gdb.cp/ovldbreak.exp (revision 139) +++ gdb.cp/ovldbreak.exp (revision 140) @@ -131,7 +131,9 @@ proc set_bp_overloaded {name expectedmen set menu_overload1arg "\\\[0\\\] cancel\r\n\\\[1\\\] all\r\n\\\[2\\\] foo::overload1arg\\(double\\) at.*$srcfile:121\r\n\\\[3\\\] foo::overload1arg\\(float\\) at.*$srcfile:120\r\n\\\[4\\\] foo::overload1arg\\(unsigned long\\) at.*$srcfile:119\r\n\\\[5\\\] foo::overload1arg\\(long\\) at.*$srcfile:118\r\n\\\[6\\\] foo::overload1arg\\((unsigned int|unsigned)\\) at.*$srcfile:117\r\n\\\[7\\\] foo::overload1arg\\(int\\) at.*$srcfile:116\r\n\\\[8\\\] foo::overload1arg\\(unsigned short\\) at.*$srcfile:115\r\n\\\[9\\\] foo::overload1arg\\(short\\) at.*$srcfile:114\r\n\\\[10\\\] foo::overload1arg\\(unsigned char\\) at.*$srcfile:113\r\n\\\[11\\\] foo::overload1arg\\(signed char\\) at.*$srcfile:112\r\n\\\[12\\\] foo::overload1arg\\(char\\) at.*$srcfile:111\r\n\\\[13\\\] foo::overload1arg\\((void|)\\) at.*$srcfile:110\r\n> $" - +# Set multiple-choice-auto-select to "off", to allow us to test the use +# of the multiple-choice menu when breaking on an overloaded method. +gdb_test "set multiple-choice-auto-select off" "" # Set breakpoints on foo::overload1arg, one by one. @@ -350,7 +352,18 @@ continue_to_bp_overloaded 0 16 "unsigned continue_to_bp_overloaded 0 15 "float" "arg=100" continue_to_bp_overloaded 1 14 "double" "arg=200" - +# Test breaking on an overloaded function when multiple-choice-auto-select +# is set to "cancel" +gdb_test "set multiple-choice-auto-select cancel" "" +gdb_test "break foo::foofunc" \ + "canceled.*" + +# Test breaking on an overloaded function when multiple-choice-auto-select +# is set to "all" +gdb_test "set multiple-choice-auto-select all" "" +gdb_test "break foo::foofunc" \ + "Breakpoint \[0-9\]+ at ${hex}: file .*ovldbreak\\.cc, line \[0-9\]+\\.\r\nBreakpoint \[0-9\]+ at ${hex}: file .*ovldbreak\\.cc, line \[0-9\]+\\.\r\nwarning: Multiple breakpoints were set\\.\r\nUse the \"delete\" command to delete unwanted breakpoints\\." + #"Breakpoint \[0-9\]+ at ${hex}: file .*ovldbreak\\.cc, line \[0-9\]+\r\nBreakpoint \[0-9\]+ at ${hex}: file .*ovldbreak\\.cc, line \[0-9\]+\r\nwarning: Multiple breakpoints were set\\.Use the \"delete\" command to delete unwanted breakpoints\\." # That's all, folks. Index: gdb.cp/ovldbreak.cc =================================================================== --- gdb.cp/ovldbreak.cc (revision 139) +++ gdb.cp/ovldbreak.cc (revision 140) @@ -174,4 +174,11 @@ int foo::overloadargs (int a1, int a2, i a10 = a11 = 0; return 11;} +void foo::foofunc (int a) +{ +} + +void foo::foofunc (int b, signed char *c) +{ +} Index: gdb.cp/method2.exp =================================================================== --- gdb.cp/method2.exp (revision 139) +++ gdb.cp/method2.exp (revision 140) @@ -63,6 +63,10 @@ proc test_break { lang } { } } +# We want in this test to double-check the contents of the multiple-choice +# menu, so we have to turn the multiple-choice-auto-select feature off first. +gdb_test "set multiple-choice-auto-select off" "" + test_break "c" test_break "c++" Index: gdb.cp/templates.exp =================================================================== --- gdb.cp/templates.exp (revision 139) +++ gdb.cp/templates.exp (revision 140) @@ -210,6 +210,10 @@ proc do_tests {} { gdb_reinitialize_dir $srcdir/$subdir gdb_load $binfile + # Change the multiple-choice-auto-select value to "off" in order to + # get the multiple-choice menu when breaking on overloaded methods. + gdb_test "set multiple-choice-auto-select off" "" + runto_main test_ptype_of_templates