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*"}
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
31 clean_restart $
{binfile
}.$
{name}
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
}