181 lines
7.4 KiB
Diff
181 lines
7.4 KiB
Diff
|
From 26e156d62211ca8458faa326f21940e9fa18c8fe Mon Sep 17 00:00:00 2001
|
||
|
From: Bernhard Heckel <bernhard.heckel@intel.com>
|
||
|
Date: Tue, 12 Jul 2016 08:19:34 +0200
|
||
|
Subject: [PATCH 1/7] Fortran: Testsuite, fix differences in type naming.
|
||
|
|
||
|
Continued on 0c13f7e559afe5f973a59311b0e401296c48d96c
|
||
|
(fortran: Testsuite, fix different type naming across compilers).
|
||
|
|
||
|
2016-06-08 Bernhard Heckel <bernhard.heckel@intel.com>
|
||
|
|
||
|
gdb/Testsuite/Changelog:
|
||
|
* 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.
|
||
|
|
||
|
Change-Id: I7ee94587a992add27fec77c7726f9a69c8fdf373
|
||
|
---
|
||
|
gdb/testsuite/gdb.fortran/vla-value.exp | 12 ++++++++----
|
||
|
gdb/testsuite/gdb.mi/mi-var-child-f.exp | 7 +++----
|
||
|
gdb/testsuite/gdb.mi/mi-vla-fortran.exp | 18 +++++++++++-------
|
||
|
3 files changed, 22 insertions(+), 15 deletions(-)
|
||
|
|
||
|
diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran/vla-value.exp
|
||
|
index 0945181..275f738 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 <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
standard_testfile "vla.f90"
|
||
|
+load_lib "fortran.exp"
|
||
|
|
||
|
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
|
||
|
{debug f90 quiet}] } {
|
||
|
@@ -25,12 +26,15 @@ 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" " = <not allocated>" "print non-allocated vla1"
|
||
|
gdb_test "print &vla1" \
|
||
|
- " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(<not allocated>\\\)\\\)\\\) $hex" \
|
||
|
+ " = \\\(PTR TO -> \\\( $real \\\(<not allocated>\\\)\\\)\\\) $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 +55,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 +75,7 @@ gdb_test "print vla1(9, 9, 9)" " = 999" \
|
||
|
# Try to access values in undefined pointer to VLA (dangling)
|
||
|
gdb_test "print pvla" " = <not associated>" "print undefined pvla"
|
||
|
gdb_test "print &pvla" \
|
||
|
- " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(<not associated>\\\)\\\)\\\) $hex" \
|
||
|
+ " = \\\(PTR TO -> \\\( $real \\\(<not associated>\\\)\\\)\\\) $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 +84,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 f3ed7c2..bc44c6b 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,8 @@ 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 333b71a..1779ec0 100644
|
||
|
--- a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
||
|
+++ b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
||
|
@@ -18,6 +18,7 @@
|
||
|
|
||
|
load_lib mi-support.exp
|
||
|
set MIFLAGS "-i=mi"
|
||
|
+load_lib "fortran.exp"
|
||
|
|
||
|
gdb_exit
|
||
|
if [mi_gdb_start] {
|
||
|
@@ -32,6 +33,9 @@ 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 +62,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"
|
||
|
|
||
|
|
||
|
|
||
|
@@ -71,10 +75,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\"" \
|
||
|
@@ -83,7 +87,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"]
|
||
|
@@ -148,7 +152,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.
|
||
|
@@ -173,9 +177,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.7.4
|
||
|
|