Allow Flang kind printing in complex.exp,pointer-to-pointer.exp,vla-ptr-info.exp
In the test cases complex.exp,pointer-to-pointer.exp,vla-ptr-info.exp fortran.exp routines are not used, which are to determine the type/kind string. Due to this these test incorrectly fail for Flang. Now test cases are modified to use fortran.exp routines. fortran.exp file is modified to add absent routines fortran_complex8 and fortran_complex16. gdb/testsuite/ChangeLog * 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.
This commit is contained in:
parent
e56798df08
commit
c5cd900e4f
5 changed files with 53 additions and 8 deletions
|
@ -1,3 +1,11 @@
|
|||
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
|
||||
|
|
|
@ -27,6 +27,10 @@ if ![fortran_runto_main] then {
|
|||
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"
|
||||
|
@ -38,29 +42,29 @@ gdb_test "print dc" " = \\(321,-22\\)"
|
|||
|
||||
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"
|
||||
|
|
|
@ -30,6 +30,9 @@ if ![fortran_runto_main] {
|
|||
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"
|
||||
|
||||
|
@ -38,9 +41,9 @@ gdb_test "print *buffer" \
|
|||
|
||||
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\\)"
|
||||
|
|
|
@ -28,8 +28,10 @@ if ![fortran_runto_main] {
|
|||
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"
|
||||
|
|
|
@ -99,6 +99,34 @@ proc fortran_complex4 {} {
|
|||
}
|
||||
}
|
||||
|
||||
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"
|
||||
|
|
Loading…
Add table
Reference in a new issue