+2020-09-03 Alok Kumar Sharma <AlokKumar.Sharma@amd.com>
+
+ * lib/fortran.exp (fortran_complex8): New proc.
+ (fortran_complex16): New proc.
+ * gdb.fortran/complex.exp: Use routines from fortran.exp
+ * gdb.fortran/pointer-to-pointer.exp: Likewise.
+ * gdb.fortran/vla-ptr-info.exp: Likewise.
+
2020-09-03 Tom de Vries <tdevries@suse.de>
PR breakpoint/26546
continue
}
+# Depending on the compiler being used, the type names can be printed differently.
+set complex4 [fortran_complex4]
+set complex8 [fortran_complex8]
+set complex16 [fortran_complex16]
gdb_breakpoint [gdb_get_line_number "stop"]
gdb_continue_to_breakpoint "continue"
gdb_test "print c16" " = \\(-874,19\\)"
-gdb_test "whatis c" "type = complex\\(kind=4\\)"
+gdb_test "whatis c" "type = $complex4"
gdb_test "print \$_creal (c)" " = 1000"
with_test_prefix "c" {
gdb_test "whatis \$" " = real"
}
-gdb_test "whatis c4" "type = complex\\(kind=4\\)"
+gdb_test "whatis c4" "type = $complex4"
gdb_test "print \$_creal (c4)" " = 1000"
with_test_prefix "c4" {
gdb_test "whatis \$" " = real"
}
-gdb_test "whatis c8" "type = complex\\(kind=8\\)"
+gdb_test "whatis c8" "type = $complex8"
gdb_test "print \$_creal (c8)" " = 321"
with_test_prefix "c8" {
gdb_test "whatis \$" " = real\\*8"
}
-gdb_test "whatis dc" "type = complex\\(kind=8\\)"
+gdb_test "whatis dc" "type = $complex8"
gdb_test "print \$_creal (dc)" " = 321"
with_test_prefix "dc" {
gdb_test "whatis \$" " = real\\*8"
}
-gdb_test "whatis c16" "type = complex\\(kind=16\\)"
+gdb_test "whatis c16" "type = $complex16"
gdb_test "print \$_creal (c16)" " = -874"
with_test_prefix "c16" {
gdb_test "whatis \$" " = real\\*16"
return -1
}
+# Depending on the compiler being used, the type names can be printed differently.
+set real4 [fortran_real4]
+
gdb_breakpoint [gdb_get_line_number "Break Here"]
gdb_continue_to_breakpoint "Break Here"
set l_buffer_type [multi_line \
"Type l_buffer" \
- " real\\(kind=4\\) :: alpha\\(:\\)" \
+ " $real4 :: alpha\\(:\\)" \
"End Type l_buffer" ]
gdb_test "ptype buffer" "type = PTR TO -> \\( ${l_buffer_type} \\)"
gdb_test "ptype *buffer" "type = ${l_buffer_type}"
-gdb_test "ptype buffer%alpha" "type = real\\(kind=4\\) \\(5\\)"
+gdb_test "ptype buffer%alpha" "type = $real4 \\(5\\)"
return -1
}
+set real4 [fortran_real4]
+
# Check the status of a pointer to a dynamic array.
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}" \
+gdb_test "print &pvla" " = \\(PTR TO -> \\( $real4 \\(10,10,10\\) \\)\\) ${hex}" \
"print pvla pointer information"
}
}
+proc fortran_complex8 {} {
+ if {[test_compiler_info {gcc-4-[012]-*}]} {
+ return "complex8"
+ } elseif {[test_compiler_info {gcc-*}]} {
+ return "complex\\(kind=8\\)"
+ } elseif {[test_compiler_info {clang-*}]} {
+ return "double complex"
+ } elseif {[test_compiler_info {icc-*}]} {
+ return "COMPLEX\\(8\\)"
+ } else {
+ return "unknown"
+ }
+}
+
+proc fortran_complex16 {} {
+ if {[test_compiler_info {gcc-4-[012]-*}]} {
+ return "complex16"
+ } elseif {[test_compiler_info {gcc-*}]} {
+ return "complex\\(kind=16\\)"
+ } elseif {[test_compiler_info {clang-*}]} {
+ return "quad complex"
+ } elseif {[test_compiler_info {icc-*}]} {
+ return "COMPLEX\\(16\\)"
+ } else {
+ return "unknown"
+ }
+}
+
proc fortran_logical4 {} {
if {[test_compiler_info {gcc-4-[012]-*}]} {
return "logical4"