From 9e9af4be9f656f82922e6aaeb3b6421508403ea4 Mon Sep 17 00:00:00 2001 From: Bernhard Heckel Date: Fri, 8 Sep 2017 15:11:47 +0200 Subject: [PATCH] Fortran: Testsuite, fix differences in type naming. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.fortran/vla-value.exp | 13 +++++++++---- gdb/testsuite/gdb.mi/mi-var-child-f.exp | 8 ++++---- gdb/testsuite/gdb.mi/mi-vla-fortran.exp | 19 ++++++++++++------- 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 198fe783512..6dd9faf5f1d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-09-08 Bernhard Heckel + + * gdb.fortran/vla-value.exp: Use type names defined in libfortran. + * gdb.mi/mi-var-child-f.exp: Likewise. + * gdb.mi/mi-vla-fortran.exp: Likewise. + 2017-09-08 Frank Penczek Christoph Weinmann Bernhard Heckel diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran/vla-value.exp index 6ceceab561f..3dd1aae6533 100644 --- a/gdb/testsuite/gdb.fortran/vla-value.exp +++ b/gdb/testsuite/gdb.fortran/vla-value.exp @@ -14,6 +14,7 @@ # along with this program. If not, see . standard_testfile "vla.f90" +load_lib "fortran.exp" if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ {debug f90 quiet}] } { @@ -25,12 +26,16 @@ if ![runto_main] { return -1 } +# Depending on the compiler being used, +# the type names can be printed differently. +set real [fortran_real4] + # Try to access values in non allocated VLA gdb_breakpoint [gdb_get_line_number "vla1-init"] gdb_continue_to_breakpoint "vla1-init" gdb_test "print vla1" " = " "print non-allocated vla1" gdb_test "print &vla1" \ - " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(\\\)\\\)\\\) $hex" \ + " = \\\(PTR TO -> \\\( $real \\\(\\\)\\\)\\\) $hex" \ "print non-allocated &vla1" gdb_test "print vla1(1,1,1)" "no such vector element \\\(vector not allocated\\\)" \ "print member in non-allocated vla1 (1)" @@ -51,7 +56,7 @@ with_timeout_factor 15 { "step over value assignment of vla1" } gdb_test "print &vla1" \ - " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(10,10,10\\\)\\\)\\\) $hex" \ + " = \\\(PTR TO -> \\\( $real \\\(10,10,10\\\)\\\)\\\) $hex" \ "print allocated &vla1" gdb_test "print vla1(3, 6, 9)" " = 1311" "print allocated vla1(3,6,9)" gdb_test "print vla1(1, 3, 8)" " = 1311" "print allocated vla1(1,3,8)" @@ -71,7 +76,7 @@ gdb_test "print vla1(9, 9, 9)" " = 999" \ # Try to access values in undefined pointer to VLA (dangling) gdb_test "print pvla" " = " "print undefined pvla" gdb_test "print &pvla" \ - " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(\\\)\\\)\\\) $hex" \ + " = \\\(PTR TO -> \\\( $real \\\(\\\)\\\)\\\) $hex" \ "print non-associated &pvla" gdb_test "print pvla(1, 3, 8)" "no such vector element \\\(vector not associated\\\)" \ "print undefined pvla(1,3,8)" @@ -80,7 +85,7 @@ gdb_test "print pvla(1, 3, 8)" "no such vector element \\\(vector not associated gdb_breakpoint [gdb_get_line_number "pvla-associated"] gdb_continue_to_breakpoint "pvla-associated" gdb_test "print &pvla" \ - " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(10,10,10\\\)\\\)\\\) $hex" \ + " = \\\(PTR TO -> \\\( $real \\\(10,10,10\\\)\\\)\\\) $hex" \ "print associated &pvla" gdb_test "print pvla(3, 6, 9)" " = 42" "print associated pvla(3,6,9)" gdb_test "print pvla(1, 3, 8)" " = 1001" "print associated pvla(1,3,8)" diff --git a/gdb/testsuite/gdb.mi/mi-var-child-f.exp b/gdb/testsuite/gdb.mi/mi-var-child-f.exp index dd56c358cbd..a4a9a898840 100644 --- a/gdb/testsuite/gdb.mi/mi-var-child-f.exp +++ b/gdb/testsuite/gdb.mi/mi-var-child-f.exp @@ -17,6 +17,7 @@ load_lib mi-support.exp set MIFLAGS "-i=mi" +load_lib "fortran.exp" if { [skip_fortran_tests] } { return -1 } @@ -40,10 +41,9 @@ mi_runto MAIN__ mi_create_varobj "array" "array" "create local variable array" -# Depending on the compiler version being used, the name of the 4-byte integer -# and real types can be printed differently. For instance, gfortran-4.1 uses -# "int4" whereas gfortran-4.3 uses "integer(kind=4)". -set int4 "(int4|integer\\(kind=4\\))" +# Depending on the compiler being used, +# the type names can be printed differently. +set int4 [fortran_int4] set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \ [list "array.0" "0" 2 "$int4 \\(2\\)"] \ diff --git a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp index 11ac532a621..bee6ebe156e 100644 --- a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp +++ b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp @@ -17,6 +17,7 @@ # Array (VLA). load_lib mi-support.exp +load_lib fortran.exp set MIFLAGS "-i=mi" gdb_exit @@ -32,6 +33,10 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \ return -1 } +# Depending on the compiler being used, +# the type names can be printed differently. +set real [fortran_real4] + mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} @@ -58,7 +63,7 @@ mi_gdb_test "503-var-evaluate-expression vla1_not_allocated" \ "503\\^done,value=\"\\\[0\\\]\"" \ "eval variable vla1_not_allocated" mi_list_array_varobj_children_with_index "vla1_not_allocated" "0" "1" \ - "real\\\(kind=4\\\)" "get children of vla1_not_allocated" + "$real" "get children of vla1_not_allocated" @@ -72,10 +77,10 @@ mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \ mi_gdb_test "510-data-evaluate-expression vla1" \ "510\\^done,value=\"\\(.*\\)\"" "evaluate allocated vla" -mi_create_varobj_checked vla1_allocated vla1 "real\\\(kind=4\\\) \\\(5\\\)" \ +mi_create_varobj_checked vla1_allocated vla1 "$real \\\(5\\\)" \ "create local variable vla1_allocated" mi_gdb_test "511-var-info-type vla1_allocated" \ - "511\\^done,type=\"real\\\(kind=4\\\) \\\(5\\\)\"" \ + "511\\^done,type=\"$real \\\(5\\\)\"" \ "info type variable vla1_allocated" mi_gdb_test "512-var-show-format vla1_allocated" \ "512\\^done,format=\"natural\"" \ @@ -84,7 +89,7 @@ mi_gdb_test "513-var-evaluate-expression vla1_allocated" \ "513\\^done,value=\"\\\[5\\\]\"" \ "eval variable vla1_allocated" mi_list_array_varobj_children_with_index "vla1_allocated" "5" "1" \ - "real\\\(kind=4\\\)" "get children of vla1_allocated" + "$real" "get children of vla1_allocated" set bp_lineno [gdb_get_line_number "vla1-filled"] @@ -153,7 +158,7 @@ gdb_expect { "583\\^done,value=\"\\\[0\\\]\"" \ "eval variable pvla2_not_associated" mi_list_array_varobj_children_with_index "pvla2_not_associated" "0" "1" \ - "real\\\(kind=4\\\)" "get children of pvla2_not_associated" + "$real" "get children of pvla2_not_associated" } -re "580\\^error,msg=\"value contents too large \\(\[0-9\]+ bytes\\).*${mi_gdb_prompt}$" { # Undefined behaviour in gfortran. @@ -179,9 +184,9 @@ mi_gdb_test "590-data-evaluate-expression pvla2" \ "evaluate associated vla" mi_create_varobj_checked pvla2_associated pvla2 \ - "real\\\(kind=4\\\) \\\(5,2\\\)" "create local variable pvla2_associated" + "$real \\\(5,2\\\)" "create local variable pvla2_associated" mi_gdb_test "591-var-info-type pvla2_associated" \ - "591\\^done,type=\"real\\\(kind=4\\\) \\\(5,2\\\)\"" \ + "591\\^done,type=\"$real \\\(5,2\\\)\"" \ "info type variable pvla2_associated" mi_gdb_test "592-var-show-format pvla2_associated" \ "592\\^done,format=\"natural\"" \ -- 2.30.2