This is the mail archive of the gdb-patches@sourceware.org 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]
Other format: [Raw text]

[commit] xfail some py-type.exp tests for gcc 4.4 and earlier


Hi.

ref: http://sourceware.org/ml/gdb-patches/2010-07/msg00522.html

I'm getting these failures with gcc 4.4:
[amd64-linux]

FAIL: gdb.python/py-type.exp: python print ttype.template_argument(1)
FAIL: gdb.python/py-type.exp: python print isinstance(ttype.template_argument(1), gdb.Value)

I built a copy of gcc 4.5 to see what happens there, they pass.
So I've committed this:

2010-07-30  Doug Evans  <dje@google.com>

	* gdb.python/py-type.exp (test_template): Mark as xfail tests
	"python print ttype.template_argument(1)" and
	"python print isinstance(ttype.template_argument(1), gdb.Value)"
	if using gcc 4.4 or earlier.

Index: gdb.python/py-type.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.python/py-type.exp,v
retrieving revision 1.6
diff -u -p -r1.6 py-type.exp
--- gdb.python/py-type.exp	28 Jul 2010 20:50:17 -0000	1.6
+++ gdb.python/py-type.exp	30 Jul 2010 18:42:35 -0000
@@ -24,6 +24,10 @@ set testfile "py-type"
 set srcfile ${testfile}.c
 set binfile ${objdir}/${subdir}/${testfile}
 
+if [get_compiler_info not-used c++] {
+    return -1;
+}
+
 # Build inferior to language specification.
 proc build_inferior {lang} {
   global srcdir subdir srcfile binfile testfile hex
@@ -136,10 +140,20 @@ proc test_template {} {
     gdb_test "python print ttype.template_argument(0)" "D"
     gdb_test "python print isinstance(ttype.template_argument(0), gdb.Type)" \
 	"True"
+
     # The next two tests require a GCC that emits DW_TAG_template_*.
+    # GCC 4.4 does not emit it, 4.5 and 6 do emit it.
+    set have_older_gcc 0
+    if {[test_compiler_info {gcc-[0-3]-*}]
+	|| [test_compiler_info {gcc-4-[0-4]-*}]} {
+	set have_older_gcc 1
+    }
+    if $have_older_gcc { setup_xfail *-*-* }
     gdb_test "python print ttype.template_argument(1)" "23"
+    if $have_older_gcc { setup_xfail *-*-* }
     gdb_test "python print isinstance(ttype.template_argument(1), gdb.Value)" \
 	"True"
+
     setup_kfail "gcc/41736" *-*-*
     gdb_test "python print ttype.template_argument(2)" "&C::c"
 }



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