public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug testsuite/37578] New: Testsuite cannot tell systems with REAL(10) and REAL(16) apart
@ 2008-09-18 20:51 dennis dot wassel at googlemail dot com
2008-09-18 21:11 ` [Bug testsuite/37578] " dominiq at lps dot ens dot fr
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: dennis dot wassel at googlemail dot com @ 2008-09-18 20:51 UTC (permalink / raw)
To: gcc-bugs
The testsuite defines "fortran_large_real" for all systems that have a REAL
kind > 8. However, there are cases where different things should really be
tested for REAL(10) vs REAL(16) [my upcoming patch to fortran/PR37159 being one
of them].
To not break existing testcases, how about defining two additional
conditionals, say "fortran_has_real_10" and "fortan_has_real_16"?
One (seemingly) simple way of figuring those guys out could be to compile the
two canonical code snippets, dg-test for success and then run the actual
Fortran tests.
Without a clue of the testsuite-internals, unfortunately I have no idea if this
is feasible.
--
Summary: Testsuite cannot tell systems with REAL(10) and REAL(16)
apart
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dennis dot wassel at googlemail dot com
GCC host triplet: any
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37578
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug testsuite/37578] Testsuite cannot tell systems with REAL(10) and REAL(16) apart
2008-09-18 20:51 [Bug testsuite/37578] New: Testsuite cannot tell systems with REAL(10) and REAL(16) apart dennis dot wassel at googlemail dot com
@ 2008-09-18 21:11 ` dominiq at lps dot ens dot fr
2009-02-28 0:25 ` janis at gcc dot gnu dot org
2009-02-28 11:38 ` dominiq at lps dot ens dot fr
2 siblings, 0 replies; 4+ messages in thread
From: dominiq at lps dot ens dot fr @ 2008-09-18 21:11 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from dominiq at lps dot ens dot fr 2008-09-18 21:10 -------
If I am right real(10) is a leftover of the "coprocessor" era and is a
peculiarity of the x86 processors (may be also 68k, I cannot remember). I think
for all the other platforms with "fortran_large_real" use real(16).
If this is correct a short term solution is to have two programs, one for
"fortran_large_real" and *86* (and may be || *68k*) and one for
"fortran_large_real" and !*86* (using the right syntax for the platform
selection).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37578
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug testsuite/37578] Testsuite cannot tell systems with REAL(10) and REAL(16) apart
2008-09-18 20:51 [Bug testsuite/37578] New: Testsuite cannot tell systems with REAL(10) and REAL(16) apart dennis dot wassel at googlemail dot com
2008-09-18 21:11 ` [Bug testsuite/37578] " dominiq at lps dot ens dot fr
@ 2009-02-28 0:25 ` janis at gcc dot gnu dot org
2009-02-28 11:38 ` dominiq at lps dot ens dot fr
2 siblings, 0 replies; 4+ messages in thread
From: janis at gcc dot gnu dot org @ 2009-02-28 0:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from janis at gcc dot gnu dot org 2009-02-28 00:25 -------
The GCC testsuite supports effective-target keywords which can be used anywhere
that target lists are used; see the internals manual about Test Directives.
Define an effective-target keyword xxx via check_effective_target_xxx in
gcc/testsuite/lib/target-supports.exp.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37578
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug testsuite/37578] Testsuite cannot tell systems with REAL(10) and REAL(16) apart
2008-09-18 20:51 [Bug testsuite/37578] New: Testsuite cannot tell systems with REAL(10) and REAL(16) apart dennis dot wassel at googlemail dot com
2008-09-18 21:11 ` [Bug testsuite/37578] " dominiq at lps dot ens dot fr
2009-02-28 0:25 ` janis at gcc dot gnu dot org
@ 2009-02-28 11:38 ` dominiq at lps dot ens dot fr
2 siblings, 0 replies; 4+ messages in thread
From: dominiq at lps dot ens dot fr @ 2009-02-28 11:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from dominiq at lps dot ens dot fr 2009-02-28 11:38 -------
> Define an effective-target keyword xxx via check_effective_target_xxx in
> gcc/testsuite/lib/target-supports.exp.
The only test I see is check_effective_target_fortran_large_real and it does
not distinguishes between real(10) and real(16):
# Return 1 if the target supports Fortran real kinds larger than real(8),
# 0 otherwise.
#
# When the target name changes, replace the cached result.
proc check_effective_target_fortran_large_real { } {
return [check_no_compiler_messages fortran_large_real executable {
! Fortran
integer,parameter :: k = selected_real_kind (precision (0.0_8) + 1)
real(kind=k) :: x
x = cos (x)
end
}]
}
Using precision(x) in similar tests could be used for
check_effective_target_fortran_real_10 and
check_effective_target_fortran_real_16: precision(x)==18 for real(10) and is
larger than 30 for real(16) (31 on powerpc-apple-darwin9, 33 with ifort).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37578
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-02-28 11:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-18 20:51 [Bug testsuite/37578] New: Testsuite cannot tell systems with REAL(10) and REAL(16) apart dennis dot wassel at googlemail dot com
2008-09-18 21:11 ` [Bug testsuite/37578] " dominiq at lps dot ens dot fr
2009-02-28 0:25 ` janis at gcc dot gnu dot org
2009-02-28 11:38 ` dominiq at lps dot ens dot fr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).