2004-01-01 Michael Chastain <mec.gnu@mindspring.com>
authorMichael Chastain <mec@google.com>
Thu, 1 Jan 2004 23:05:12 +0000 (23:05 +0000)
committerMichael Chastain <mec@google.com>
Thu, 1 Jan 2004 23:05:12 +0000 (23:05 +0000)
* gdb.cp/virtfunc.exp: Modify some patterns to avoid a
mysterious bug with sourceware version of expect.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/virtfunc.exp

index f19c39ffdd96eef4f2f8ec1ddce73de9b9ffc2ef..3e9515171f979e25a0292214e6fffd3244e5c99a 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-01  Michael Chastain  <mec.gnu@mindspring.com>
+
+       * gdb.cp/virtfunc.exp: Modify some patterns to avoid a
+       mysterious bug with sourceware version of expect.
+
 2004-01-01  Michael Chastain  <mec.gnu@mindspring.com>
 
        * gdb.cp/overload.exp: Rewrite.  Clean up patterns to match
index 0f90adf547eb5c7bcc8a57dc5c90fc5b17b47e49..5b5a85fe8646a237600231783d4c5b9a899218e8 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
+# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
 # Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -330,14 +330,22 @@ proc test_ptype_of_classes {} {
     }
 
     # class D
+    #
+    # I wrote this differently from the others to avoid a problem with
+    # the sourceware version of expect, which dates from 1998.
+    # The bug manifests as ERROR/UNRESOLVED results after an "eof"
+    # in gdb_test_multiple.
+    #
+    # -- chastain 2004-01-01
 
     set re_class       "class D : public AD, public virtual V \{(${ws}private:|)"
     set re_vbptr       "V \\*(_vb.1V|_vb.V);"
     set re_fields      "int d;"
-    set re_methods     "static void s\\((void|)\\);${ws}virtual int vg\\((void|)\\);${ws}virtual int vd\\((void|)\\);${ws}int fd\\((void|)\\);"
+    set re_methods_2   "static void s\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vd\\(void\\);${ws}int fd\\(void\\);"
+    set re_methods_3   "static void s\\(\\);${ws}virtual int vg\\(\\);${ws}virtual int vd\\(\\);${ws}int fd\\(\\);"
     set re_synth_gcc_2 "D & operator=\\(D const ?&\\);${ws}D\\(int, D const ?&\\);${ws}D\\(int\\);"
     set re_synth_gcc_3 "D & operator=\\(D const ?&\\);${ws}D\\(D const ?&\\);${ws}D\\(\\);"
-    set re_all_methods "($re_methods|$re_synth_gcc_2${ws}$re_methods|$re_synth_gcc_3${ws}$re_methods|$re_methods${ws}$re_synth_gcc_3)"
+    set re_all_methods "($re_methods_2|$re_methods_3|$re_synth_gcc_2${ws}$re_methods_2|$re_synth_gcc_3${ws}$re_methods_3|$re_methods${ws}$re_synth_gcc_3)"
 
     gdb_test_multiple "ptype D" "ptype D" {
        -re "type = ${re_class}${ws}(${re_vbptr}${ws}|)public:${ws}${re_fields}${ws}${re_all_methods}$nl\}$nl$gdb_prompt $" {