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]

[PATCH] classes.exp: tolerate "foo()" in ptype


I'll just check this one in, since Michael and Jim have approved.
This patch allows both "foo(void)" and "foo()" as outputs for
constructors in the ptype command.

This patch by itself fixes one FAIL.
The "const&" patch by itself fixes two FAILs.
However the two combined fix nine FAILs.
2001-07-03  Michael Snyder  <msnyder@redhat.com>

	* gdb.c++/classes.exp: Accept both "foo(void)" and "foo()" in

Index: classes.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/classes.exp,v
retrieving revision 1.7
diff -c -3 -p -r1.7 classes.exp
*** classes.exp	2001/04/24 17:39:14	1.7
--- classes.exp	2001/07/03 19:46:50
*************** proc test_ptype_class_objects {} {
*** 224,230 ****
      # it to print as "struct".
      send_gdb "ptype class A\n"
      gdb_expect {
! 	-re "type = (class|struct) A \{(${ws}public:|)${ws}int a;${ws}int x;((${ws}A & operator=\\(A const ?&\\);)|(${ws}A\\(A const ?&\\);)|(${ws}A\\(void\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class A"
  	}
  	-re ".*$gdb_prompt $" {
--- 224,230 ----
      # it to print as "struct".
      send_gdb "ptype class A\n"
      gdb_expect {
! 	-re "type = (class|struct) A \{(${ws}public:|)${ws}int a;${ws}int x;((${ws}A & operator=\\(A const ?&\\);)|(${ws}A\\(A const ?&\\);)|(${ws}A\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class A"
  	}
  	-re ".*$gdb_prompt $" {
*************** proc test_ptype_class_objects {} {
*** 239,248 ****
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class B\n"
      gdb_expect {
! 	-re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;${ws}B & operator=\\(B const &\\);${ws}B\\(B const &\\);${ws}B\\(void\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class B"
  	}
! 	-re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;((${ws}B & operator=\\(B const &\\);)|(${ws}B\\(B const &\\);)|(${ws}B\\(void\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class B (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
--- 239,248 ----
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class B\n"
      gdb_expect {
! 	-re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;${ws}B & operator=\\(B const &\\);${ws}B\\(B const &\\);${ws}B\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class B"
  	}
! 	-re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;((${ws}B & operator=\\(B const &\\);)|(${ws}B\\(B const &\\);)|(${ws}B\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class B (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
*************** proc test_ptype_class_objects {} {
*** 257,266 ****
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class C\n"
      gdb_expect {
! 	-re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;${ws}C & operator=\\(C const &\\);${ws}C\\(C const &\\);${ws}C\\(void\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class C"
  	}
! 	-re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;((${ws}C & operator=\\(C const &\\);)|(${ws}C\\(C const &\\);)|(${ws}C\\(void\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class C (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
--- 257,266 ----
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class C\n"
      gdb_expect {
! 	-re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;${ws}C & operator=\\(C const &\\);${ws}C\\(C const &\\);${ws}C\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class C"
  	}
! 	-re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;((${ws}C & operator=\\(C const &\\);)|(${ws}C\\(C const &\\);)|(${ws}C\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class C (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
*************** proc test_ptype_class_objects {} {
*** 275,284 ****
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class D\n"
      gdb_expect {
! 	-re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;${ws}D & operator=\\(D const &\\);${ws}D\\(D const &\\);${ws}D\\(void\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class D"
  	}
! 	-re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(D const &\\);)|(${ws}D\\(void\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class D (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
--- 275,284 ----
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class D\n"
      gdb_expect {
! 	-re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;${ws}D & operator=\\(D const &\\);${ws}D\\(D const &\\);${ws}D\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class D"
  	}
! 	-re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(D const &\\);)|(${ws}D\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class D (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
*************** proc test_ptype_class_objects {} {
*** 293,302 ****
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class E\n"
      gdb_expect {
! 	-re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;${ws}E & operator=\\(E const &\\);${ws}E\\(E const &\\);${ws}E\\(void\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class E"
  	}
! 	-re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;((${ws}E & operator=\\(E const &\\);)|(${ws}E\\(E const &\\);)|(${ws}E\\(void\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class E"
  	}
  	-re ".*$gdb_prompt $" {
--- 293,302 ----
      setup_xfail_format "DWARF 1"
      send_gdb "ptype class E\n"
      gdb_expect {
! 	-re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;${ws}E & operator=\\(E const &\\);${ws}E\\(E const &\\);${ws}E\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class E"
  	}
! 	-re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;((${ws}E & operator=\\(E const &\\);)|(${ws}E\\(E const &\\);)|(${ws}E\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class E"
  	}
  	-re ".*$gdb_prompt $" {
*************** proc test_ptype_class_objects {} {
*** 310,319 ****
  
      send_gdb "ptype class vA\n"
      gdb_expect {
! 	-re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;${ws}vA & operator=\\(vA const &\\);${ws}vA\\(vA const &\\);${ws}vA\\(void\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class vA"
  	}
! 	-re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;((${ws}vA & operator=\\(vA const &\\);)|(${ws}vA\\(vA const &\\);)|(${ws}vA\\(void\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class vA (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
--- 310,319 ----
  
      send_gdb "ptype class vA\n"
      gdb_expect {
! 	-re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;${ws}vA & operator=\\(vA const &\\);${ws}vA\\(vA const &\\);${ws}vA\\((void|)\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class vA"
  	}
! 	-re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;((${ws}vA & operator=\\(vA const &\\);)|(${ws}vA\\(vA const &\\);)|(${ws}vA\\((void|)\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class vA (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
*************** proc test_ptype_class_objects {} {
*** 460,469 ****
          -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;\r\n${ws}Foo\\(int, int\\);${ws}int operator!.void.;${ws}operator int.void.;${ws}int times.int.;$nl\}$nl$gdb_prompt $" {
              pass "ptype class Foo(aCC)"
          }
! 	-re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo & operator=\\(Foo const &\\);${ws}Foo\\(Foo const &\\);${ws}Foo\\(int, int\\);${ws}int operator!\\(void\\);${ws}operator int\\(void\\);${ws}int times\\(int\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class Foo"
  	}
! 	-re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;((${ws}Foo & operator=\\(Foo const &\\);)|(${ws}Foo\\(Foo const &\\);)|(${ws}Foo\\(int, int\\);)|(${ws}int operator!\\(void\\);)|(${ws}int operator int\\(void\\);)|(${ws}int times\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class Foo (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {
--- 460,469 ----
          -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;\r\n${ws}Foo\\(int, int\\);${ws}int operator!.void.;${ws}operator int.void.;${ws}int times.int.;$nl\}$nl$gdb_prompt $" {
              pass "ptype class Foo(aCC)"
          }
! 	-re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo & operator=\\(Foo const &\\);${ws}Foo\\(Foo const &\\);${ws}Foo\\(int, int\\);${ws}int operator!\\((void|)\\);${ws}operator int\\((void|)\\);${ws}int times\\(int\\);${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class Foo"
  	}
! 	-re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;((${ws}Foo & operator=\\(Foo const &\\);)|(${ws}Foo\\(Foo const &\\);)|(${ws}Foo\\(int, int\\);)|(${ws}int operator!\\((void|)\\);)|(${ws}int operator int\\((void|)\\);)|(${ws}int times\\(int\\);))*${ws}\}$nl$gdb_prompt $" {
  	    pass "ptype class Foo (obsolescent gcc or gdb)"
  	}
  	-re ".*$gdb_prompt $" {

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