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).