[2/3] gdb/testsuite: kfail some tests if using broken gcc

Message ID 522e5bea7e02a2d67ad129fc838d3a38ce5e3e9d.1575457286.git.andrew.burgess@embecosm.com
State New, archived
Headers

Commit Message

Andrew Burgess Dec. 4, 2019, 11:41 a.m. UTC
  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                             | 5 +++++
 gdb/testsuite/gdb.fortran/derived-type-striding.exp | 6 ++++++
 2 files changed, 11 insertions(+)
  

Comments

Pedro Alves Dec. 6, 2019, 7:47 p.m. UTC | #1
On 12/4/19 11:41 AM, Andrew Burgess wrote:
> 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.
OK.

Thanks,
Pedro Alves
  

Patch

diff --git a/gdb/testsuite/gdb.fortran/derived-type-striding.exp b/gdb/testsuite/gdb.fortran/derived-type-striding.exp
index a2590a9ab2f..dc5ef96b3bc 100644
--- a/gdb/testsuite/gdb.fortran/derived-type-striding.exp
+++ b/gdb/testsuite/gdb.fortran/derived-type-striding.exp
@@ -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\\\)"