gdb/testsuite/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 23 Dec 2011 18:01:26 +0000 (18:01 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 23 Dec 2011 18:01:26 +0000 (18:01 +0000)
* gdb.cp/templates.exp (test_template_typedef): Import gdb_prompt.
(print destructor of template typedef): Extend it for gcc/51668 XFAIL.
(verify GCC PR debug/51668): New test.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/templates.exp

index 4964e4e..5b5aee3 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * gdb.cp/templates.exp (test_template_typedef): Import gdb_prompt.
+       (print destructor of template typedef): Extend it for gcc/51668 XFAIL.
+       (verify GCC PR debug/51668): New test.
+
 2011-12-23  Kevin Pouget  <kevin.pouget@st.com>
 
        Introduce gdb.FinishBreakpoint in Python.
index cc78422..f9bbb43 100644 (file)
@@ -202,12 +202,32 @@ proc test_template_calls {} {
 }
 
 proc test_template_typedef {} {
+    global gdb_prompt
 
     gdb_test "print intBazOne::baz" ".*baz\\(int, int\\)>" \
        "print method of template typedef"
 
-    gdb_test "print intBazOne::~Baz" ".*~Baz(\\(\\))?>" \
-       "print destructor of template typedef"
+    set test "print destructor of template typedef"
+    gdb_test_multiple "print intBazOne::~Baz" $test {
+       -re "~Baz(\\(\\))?>\r\n$gdb_prompt $" {
+           pass $test
+       }
+       -re "There is no field named ~Baz\r\n$gdb_prompt $" {
+           set test2 "verify GCC PR debug/51668"
+           gdb_test_multiple "whatis intBazOne" $test2 {
+               -re "type = Baz<int, \\(char\\)'\\\\001'>\r\n$gdb_prompt $" {
+                   setup_xfail gcc/51668 "*-*-*"
+                   xfail $test
+                   pass $test2
+               }
+               -re "\r\n$gdb_prompt $" {
+                   # Some unexpected response.
+                   fail $test
+                   fail $test2
+               }
+           }
+       }
+    }
 }
 
 proc test_template_args {} {