gdb/testsuite: kfail some tests if using broken gcc
authorAndrew Burgess <andrew.burgess@embecosm.com>
Tue, 3 Dec 2019 19:15:06 +0000 (19:15 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Mon, 9 Dec 2019 13:06:05 +0000 (13:06 +0000)
In some cases the Fortran stride information generated by GCC is wrong
with versions of GCC after 7.x.x.  This commit adds kfails for the
tests in question with known bad versions of gcc.

The bug has been reported to GCC here:

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92775

gdb/testsuite/ChangeLog:

* gdb.fortran/derived-type-striding.exp: KFAIL if we are using a
broken version of GCC.

Change-Id: Iaef08e5e2c87ab3d6983b88f749d40e01aea2bc6

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.fortran/derived-type-striding.exp

index 7d41fad6db998d39065762a4d3278a062353578e..12e351f5eb71e467269c011043d182f3a7a64f0b 100644 (file)
@@ -1,3 +1,8 @@
+2019-12-09  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * gdb.fortran/derived-type-striding.exp: KFAIL if we are using a
+       broken version of GCC.
+
 2019-12-09  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * gdb.fortran/info-modules.exp: Rewrite to make use of new
index a2590a9ab2f007e3cd30622ac0ba3058ccdf37e3..dc5ef96b3bca0fb10acb24b6748e23f1bbb8547b 100644 (file)
@@ -20,6 +20,10 @@ if {[skip_fortran_tests]} { return -1 }
 
 standard_testfile ".f90"
 
+# Unfortunately recent versions of GCC broke the stride information in
+# the DEBUG so tests in this file will fail.
+set gcc_with_broken_stride [test_compiler_info {gcc-[89]-*}]
+
 if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
         {debug f90}]} {
     return -1
@@ -31,7 +35,9 @@ if {![runto [gdb_get_line_number "post_init"]]} then {
 }
 
 # Test homogeneous derived type.
+if { $gcc_with_broken_stride } { setup_kfail *-*-* gcc/92775 }
 gdb_test "p point_dimension" "= \\\(2, 2, 2, 2, 2, 2, 2, 2, 2\\\)"
 
 # Test mixed type derived type.
+if { $gcc_with_broken_stride } { setup_kfail *-*-* gcc/92775 }
 gdb_test "p point_mixed_dimension" "= \\\(3, 3, 3, 3\\\)"