From 85feb311d32bf996c4da799a89be375b31d1b3e7 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 10 Nov 2009 22:17:06 +0000 Subject: * gdb.cp/overload.exp: Add tests for resolving overloaded methods in expression parsing/evaluation. --- gdb/testsuite/gdb.cp/overload.exp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gdb/testsuite/gdb.cp') diff --git a/gdb/testsuite/gdb.cp/overload.exp b/gdb/testsuite/gdb.cp/overload.exp index 24025a2..deab2f0 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)" +} -- cgit v1.1