This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[RFA] v3 tweak for overload.exp


This test wants to use a command of the form:
	list foo(void)
to test the handling of overloaded function names.

This change allows the test script to choose between
	list foo(void)
and 
	list foo()
depending on whether we're using the v3 model or the old one
(well, really depending on which of the two works).
2001-10-31  Michael Snyder  <msnyder@redhat.com>

	* gdb.c++/overload.exp: Select overloadfnarg(void) or overloadfnarg(),
	depending on what the symbol table contains.

Index: overload.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/overload.exp,v
retrieving revision 1.5
diff -c -3 -p -r1.5 overload.exp
*** overload.exp	2001/04/23 17:02:05	1.5
--- overload.exp	2001/10/31 22:24:22
*************** gdb_expect {
*** 391,412 ****
  
  # Now some tests to see if we can list overloaded functions properly:
  
! send_gdb "set listsize 1\n"
! gdb_expect -re ".*$gdb_prompt $"
  
! gdb_test "list foo::overloadfnarg(void)"\
!    ".*int foo::overloadfnarg.*\\(void\\).*" \
!    "print overloaded function with no args"
  
  gdb_test "list foo::overloadfnarg(int)"\
      "int foo::overloadfnarg.*\\(int arg\\).*" \
!    "print overloaded function with int arg"
  
  gdb_test "list foo::overloadfnarg(int, int (*)(int))" \
     "int foo::overloadfnarg.*\\(int arg, int \\(\\*foo\\) \\(int\\)\\).*" \
!    "print overloaded function with function ptr args"
  
  # This one crashes GDB.  Don't know why yet.
  gdb_test "list \"foo::overloadfnarg(int, int (*)(int))\"" \
     "int foo::overloadfnarg.*\\(int arg, int \\(\\*foo\\) \\(int\\)\\).*" \
!    "print overloaded function with function ptr args - quotes around argument"
--- 391,430 ----
  
  # Now some tests to see if we can list overloaded functions properly:
  
! gdb_test "set listsize 1" "" ""
! # send_gdb "set listsize 1\n"
! # gdb_expect -re ".*$gdb_prompt $"
  
! #
! # Decide whether to use "()" or "(void)"
! #
  
+ send_gdb "info func overloadfnarg\n" 
+ gdb_expect {
+     -re ".*overloadfnarg\\(void\\).*$gdb_prompt $" {
+ 	gdb_test "list foo::overloadfnarg(void)"\
+ 		".*int foo::overloadfnarg.*\\(void\\).*" \
+ 		"list overloaded function with no args"
+     }
+     -re ".*overloadfnarg\\(\\).*$gdb_prompt $" {
+ 	gdb_test "list foo::overloadfnarg()"\
+ 		".*int foo::overloadfnarg.*\\(void\\).*" \
+ 		"list overloaded function with no args"
+     }
+     -re ".*$gdb_prompt $" {
+ 	fail "list overloaded function with no args (no matching symbol)"
+     }
+ }
+ 
  gdb_test "list foo::overloadfnarg(int)"\
      "int foo::overloadfnarg.*\\(int arg\\).*" \
!    "list overloaded function with int arg"
  
  gdb_test "list foo::overloadfnarg(int, int (*)(int))" \
     "int foo::overloadfnarg.*\\(int arg, int \\(\\*foo\\) \\(int\\)\\).*" \
!    "list overloaded function with function ptr args"
  
  # This one crashes GDB.  Don't know why yet.
  gdb_test "list \"foo::overloadfnarg(int, int (*)(int))\"" \
     "int foo::overloadfnarg.*\\(int arg, int \\(\\*foo\\) \\(int\\)\\).*" \
!    "list overloaded function with function ptr args - quotes around argument"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]