Automatic date update in version.in
[binutils-gdb.git] / gdb / testsuite / gdb.arch / ppc-longdouble.exp
blobf9345feb06507ae4e844a4ea7c8204e3a3907134
1 # Copyright 2016-2024 Free Software Foundation, Inc.
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 require {istarget "powerpc*"}
18 standard_testfile
20 proc do_test { name {opts {}} } {
21 global srcdir subdir srcfile binfile
22 set ccopts {debug quiet}
23 foreach opt $opts {lappend ccopts "additional_flags=$opt"}
24 set lines [gdb_compile "${srcdir}/${subdir}/${srcfile}" "$binfile.$name" executable $ccopts]
25 # We get this warning even with the nowarnings option ...
26 regsub -all "(^|\n)\[^\n\]*using \[^\n\]* extended precision long double" $lines "" lines
27 if {$lines != ""} {
28 return
31 clean_restart ${binfile}.${name}
33 if {![runto_main]} {
34 return
37 # Run to the breakpoint at return.
38 gdb_breakpoint [gdb_get_line_number "return"]
39 gdb_continue_to_breakpoint "return test: $name"
41 # Print the value of ld
42 gdb_test "print ld" ".* = 1\\.375.*" "the value of ld is 1.375 ($name)"
43 # Print the value of float128
44 gdb_test "print float128" ".* = 2\\.375.*" "the value of float128 is 2.375 ($name)"
45 # Print the value of ibm128
46 gdb_test "print ibm128" ".* = 3\\.375.*" "the value of ibm128 is 3.375 ($name)"
49 # Verify that we correctly detect the floating-point format used for
50 # long double. Re-run the test with -mabi=ieeelongdouble and mabi=ibmlongdouble
52 do_test default { -mfloat128 }
53 do_test ieee128 { -mfloat128 -mabi=ieeelongdouble }
54 do_test ibm128 { -mfloat128 -mabi=ibmlongdouble }