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