From: Keith Seitz Date: Tue, 10 Nov 2009 22:17:06 +0000 (+0000) Subject: * gdb.cp/overload.exp: Add tests for resolving overloaded X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=85feb311d32bf996c4da799a89be375b31d1b3e7;p=binutils-gdb.git * gdb.cp/overload.exp: Add tests for resolving overloaded methods in expression parsing/evaluation. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f00932aa49a..f17187d8c3c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-11-09 Keith Seitz + + * gdb.cp/overload.exp: Add tests for resolving overloaded + methods in expression parsing/evaluation. + 2009-11-10 Daniel Jacobowitz * lib/gdb.exp (default_gdb_version): Use --version instead of diff --git a/gdb/testsuite/gdb.cp/overload.exp b/gdb/testsuite/gdb.cp/overload.exp index 24025a2ba32..deab2f01fa4 100644 --- a/gdb/testsuite/gdb.cp/overload.exp +++ b/gdb/testsuite/gdb.cp/overload.exp @@ -312,3 +312,24 @@ gdb_test "print overloadNamespace(dummyInstance)" ".\[0-9\]* = 2" "print overloa # I wonder what this is for? gdb_test "print intToChar(1)" "\\$\[0-9\]+ = 297" + +# Test expression evaluation with overloaded methods +gdb_test "print foo::overload1arg" \ + "non-unique member `overload1arg' requires type instantiation" \ + "print foo::overload1arg" + +gdb_test "print foo::overload1arg(char***)" \ + "no member function matches that type instantiation" \ + "print foo::overload1arg(char***)" + +gdb_test "print foo::overload1arg(void)" \ + "\\$$decimal = {int \\(foo \\* const\\)} $hex " \ + "print foo::overload1arg(void)" + +foreach t [list char "signed char" "unsigned char" "short" \ + "unsigned short" int "unsigned int" long "unsigned long" \ + float double] { + gdb_test "print foo::overload1arg($t)" \ + "\\$$decimal = {int \\(foo \\* const, $t\\)} $hex " \ + "print foo::overload1arg($t)" +}