2004-01-02 Michael Chastain <mec.gnu@mindspring.com>
authorMichael Chastain <mec@google.com>
Sat, 3 Jan 2004 01:46:09 +0000 (01:46 +0000)
committerMichael Chastain <mec@google.com>
Sat, 3 Jan 2004 01:46:09 +0000 (01:46 +0000)
* gdb.cp/local.exp: Accept gcc abi 2.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/local.exp

index 1ce005c3eb36392f9fc63a08ef2993d7fa277ef9..573dd4b3ba16ee93aee6ea4c6c8cb2335a9f1f1c 100644 (file)
@@ -1,3 +1,7 @@
+2004-01-02  Michael Chastain  <mec.gnu@mindspring.com>
+
+       * gdb.cp/local.exp: Accept gcc abi 2.
+
 2004-01-02  Michael Chastain  <mec.gnu@mindspring.com>
 
        * gdb.cp/templates.exp: Accept gcc abi 2.
index 21ceb7ae3db129657040f3db51daecb3795dcb60..888805594896dece923e5fbd8b0d2888cffcc33d 100644 (file)
@@ -1,4 +1,5 @@
-# Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -96,6 +97,13 @@ gdb_test "up" ".*foobar.*" "up from marker1"
 #
 # chastain 2002-04-08
 
+# pattern #5
+# PASS
+#   stabs+
+#     gcc HEAD abi-2
+#
+# chastain 2004-01-02
+
 set sep "(\[.\]|___)\[0-9\]"
 
 send_gdb "ptype Local\n"
@@ -106,6 +114,7 @@ gdb_expect {
   }
   -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
   -re "type = class Local \{\r\n\[\t \]*public:\r\n\[\t \]*int loc1;\r\n\r\n\[\t \]*char loc_foo\\(char\\);\r\n\[\t \]*\\(Local at.*local\\.cc:\[0-9\]*\\)\r\n\}.*$gdb_prompt $" { xpass "ptype Local (old aCC)" }
+  -re "type = class Local \{\[\r\n\t \]*public:\[\r\n\t \]*int loc1;\[\r\n\t \]*char loc_foo\\(char\\);\[\r\n\t \]*Local & operator *=\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((foobar__Fi${sep}::|)Local const *&\\);\[\r\n\t \]*Local\\((void|)\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype Local" }
   -re ".*$gdb_prompt $"   {  fail "ptype Local" }
   timeout             { fail "(timeout) ptype Local" }
 }
@@ -131,6 +140,10 @@ gdb_expect {
         # this right.
         kfail gdb/825 "Local out of scope"
     }
+    -re "ptype Local${eol}type = class Local {${eol}  public:${eol}    int loc1;${eol}    char loc_foo\\(char\\);${eol}.*${eol}}${eol}${gdb_prompt} " {
+       # gcc 3.X abi-2 -gstabs+
+        kfail gdb/825 "Local out of scope"
+    }
     -re ".*${gdb_prompt} $" {
         fail "Local out of scope"
     }
@@ -168,12 +181,20 @@ gdb_expect {
 #
 # chastain 2002-05-27
 
+# Pattern 5:
+# PASS
+#   stabs+
+#     HEAD
+#
+# chastain 2004-01-02
+
 send_gdb "ptype InnerLocal\n"
 gdb_expect {
   -re "type = class InnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*char ilc;\[\r\n\t \]*int \\* *ip;\[\r\n\t \]*(InnerLocal::|)NestedInnerLocal nest1;\[\r\n\t \]*int il_foo\\((unsigned char const|const unsigned char) *&\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal (pattern 1)" }
   -re "type = class InnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*char ilc;\[\r\n\t \]*int \\* *ip;\[\r\n\t \]*(InnerLocal::|)NestedInnerLocal nest1;\[\r\n\t \]*InnerLocal *& operator *=\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((void|)\\);\[\r\n\t \]*int il_foo\\(unsigned char const *&\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal (pattern 2)" }
   -re "type = class InnerLocal \{\r\n\[\t \]*public:\r\n\[\t \]*char ilc;\r\n\[\t \]*int \\*ip;\r\n\[\t \]*InnerLocal::NestedInnerLocal nest1;\r\n\r\n\[\t \]*.int il_foo\\(unsigned char const &\\);\r\n\[\t \]*\}\[\t \]*\\(Local at.*local\\.cc:36\\).*$gdb_prompt $" { pass "ptype InnerLocal (old HP aCC)" }
   -re "type = class InnerLocal \{\r\n\[\t \]*public:\r\n\[\t \]*char ilc;\r\n\[\t \]*int \\*ip;\r\n\[\t \]*class InnerLocal4::NestedInnerLocal nest1;\r\n\r\n\[\t \]*int il_foo\\(unsigned char const &\\);\r\n\[\t \]*\\(Local at.*local\.cc:\[0-9\]+\\)\r\n\}.*$gdb_prompt $" { pass "ptype InnerLocal (old HP aCC)" }
+  -re "type = class InnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*char ilc;\[\r\n\t \]*int \\* *ip;\[\r\n\t \]*(InnerLocal::|)NestedInnerLocal nest1;\[\r\n\t \]* int il_foo\\(unsigned char const *&\\);\[\r\n\t \]*InnerLocal *& operator *=\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((main${sep}::|)InnerLocal const *&\\);\[\r\n\t \]*InnerLocal\\((void|)\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype InnerLocal (pattern 5)" }
   -re ".*$gdb_prompt $"   {  fail "ptype InnerLocal" }
   timeout             { fail "(timeout) ptype InnerLocal" }
 }