From 6cc64caabac2f835149d0931d5ab689ccca1ca08 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 30 Jul 2020 12:35:57 +0200 Subject: [PATCH] [gdb/testsuite] Fix gdb.fortran/ptype-on-functions.exp with gcc-4.8 When running test-case gdb.fortran/ptype-on-functions.exp with gfortran 4.8.5, we run into: ... (gdb) ptype some_module::get_number^M type = integer(kind=4) (Type __class_some_module_Number)^M (gdb) FAIL: gdb.fortran/ptype-on-functions.exp: ptype some_module::get_number ptype some_module::set_number^M type = void (Type __class_some_module_Number, integer(kind=4))^M (gdb) FAIL: gdb.fortran/ptype-on-functions.exp: ptype some_module::set_number ... The test-case pattern expects a "_t" suffix on "__class_some_module_Number". The difference is caused by a gcc commit 073afca6884 'class.c (gfc_build_class_symbol): Append "_t" to target class names to make the generated type names unique' which has been present since gcc 4.9.0. Fix the pattern by optionally matching the _t suffix. Tested on x86_64-linux, with gfortran 4.8.5 and 7.5.0. gdb/testsuite/ChangeLog: 2020-07-30 Tom de Vries * gdb.fortran/ptype-on-functions.exp: Make "_t" suffix on "__class_some_module_Number_t" optional. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.fortran/ptype-on-functions.exp | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 656e59d54b4..ef7a9387efd 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-07-30 Tom de Vries + + * gdb.fortran/ptype-on-functions.exp: Make "_t" suffix on + "__class_some_module_Number_t" optional. + 2020-07-29 Tom de Vries * lib/selftest-support.exp (selftest_setup): Allow breakpoint at diff --git a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp index 9d447530c26..93e984af243 100644 --- a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp +++ b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp @@ -30,10 +30,10 @@ if ![fortran_runto_main] then { } gdb_test "ptype some_module::get_number" \ - "type = integer\\(kind=4\\) \\(Type __class_some_module_Number_t\\)" + "type = integer\\(kind=4\\) \\(Type __class_some_module_Number(_t)?\\)" gdb_test "ptype some_module::set_number" \ - "type = void \\(Type __class_some_module_Number_t, integer\\(kind=4\\)\\)" + "type = void \\(Type __class_some_module_Number(_t)?, integer\\(kind=4\\)\\)" gdb_test "ptype is_bigger" \ "type = logical\\(kind=4\\) \\(integer\\(kind=4\\), integer\\(kind=4\\)\\)" -- 2.30.2