1 # Copyright
2016-2019 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 if ![istarget
"powerpc*"] then {
17 verbose
"Skipping powerpc long-double floating point tests."
23 proc do_test
{ name {opts
{}} } {
24 global srcdir subdir srcfile binfile
25 set ccopts
{debug quiet
}
26 foreach opt $opts
{lappend ccopts
"additional_flags=$opt"}
27 set lines
[gdb_compile
"${srcdir}/${subdir}/${srcfile}" "$binfile.$name" executable $ccopts]
28 # We
get this warning even with the nowarnings option ...
29 regsub
-all
"(^|\n)\[^\n\]*using \[^\n\]* extended precision long double" $lines "" lines
30 if { $lines
!= "" } then {
34 clean_restart $
{binfile
}.$
{name}
36 if ![runto_main
] then {
40 # Run to the breakpoint at
return.
41 gdb_breakpoint
[gdb_get_line_number
"return"]
42 gdb_continue_to_breakpoint
"return"
44 # Print the value of
ld
45 gdb_test
"print ld" ".* = 1\\.375.*" "the value of ld is 1.375 ($name)"
46 # Print the value of float128
47 gdb_test
"print float128" ".* = 2\\.375.*" "the value of float128 is 2.375 ($name)"
48 # Print the value of ibm128
49 gdb_test
"print ibm128" ".* = 3\\.375.*" "the value of ibm128 is 3.375 ($name)"
52 # Verify that we correctly detect the floating
-point format used
for
53 # long double. Re
-run the test with
-mabi
=ieeelongdouble and mabi
=ibmlongdouble
55 do_test default
{ -mfloat128
}
56 do_test ieee128
{ -mfloat128
-mabi
=ieeelongdouble
}
57 do_test ibm128
{ -mfloat128
-mabi
=ibmlongdouble
}