public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* g77 compiles illegal code in testsuite?
@ 2003-05-23  3:33 Steven G. Kargl
  0 siblings, 0 replies; 7+ messages in thread
From: Steven G. Kargl @ 2003-05-23  3:33 UTC (permalink / raw)
  To: gcc

I'm running the Fortran 77 code in gcc-testsuite-3.3.tar.bz2
through g95 and I've found that 20000601-2.f contains
illegal code for Fortran 95 and probably Fortran 77.  I don't
have the Fortran 77 standard handy, but I believe the code is
illegal; yet g77 compiles the code without warning or error. 

kargl[303] f77 -v -c 20000601-2.f
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.2.2 [FreeBSD] 20030205 (release)

kargl[305] f95 -V -fixed -dusty 20000601-2.f
NAGWare Fortran 95 compiler Release 4.2(468)
Copyright 1990-2002 The Numerical Algorithms Group Ltd., Oxford, U.K.
f95comp version is 4.2(468)
Warning: 20000601-2.f, line 27: Unused symbol WORK31
         detected at END@<end-of-statement>
Warning: 20000601-2.f, line 27: Unused symbol WORK13
         detected at END@<end-of-statement>
[f95 continuing despite warning messages]
Obsolescent: 20000601-2.f, line 1: Fixed source form
Error: 20000601-2.f, line 21: Inconsistent argument data types to intrinsic MAX

kargl[318] ../../../../bin/g95 -ffixed-form -c -x f95 20000601-2.f
 In file 20000601-2.f:21

            JP = MAX( KM+1, AB( KV+1, JJ ) )
                          1
Error: 'a2' argument of 'max' intrinsic at (1) must be INTEGER(4)

-- 
Steve
http://troutmask.apl.washington.edu/~kargl/

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: g77 compiles illegal code in testsuite?
@ 2003-05-23 12:57 Bud Davis
  2003-05-23 14:23 ` Paul Brook
  2003-05-23 15:15 ` Steven G. Kargl
  0 siblings, 2 replies; 7+ messages in thread
From: Bud Davis @ 2003-05-23 12:57 UTC (permalink / raw)
  To: kargl, gcc

| I'm running the Fortran 77 code in gcc-testsuite-3.3.tar.bz2
| through g95 and I've found that 20000601-2.f contains
| illegal code for Fortran 95 and probably Fortran 77.  I don't
| have the Fortran 77 standard handy, but I believe the code is
| illegal; yet g77 compiles the code without warning or error. 


steven,

First off, IANALL (i am not a language lawyer).  The info below
is the analysis of a FORTRAN programmer who uses UPPER CASE for 
all variable names and never exceeds column 72 :)

From the F77 standard (selectively cut and pasted):

___________________________________________________________________________________________
|                   |/                 /|          |        |         |                     |
|                   |/                 /| Number of| Generic| Specific|       Type of       |
|Intrinsic Function | Definition/      /| Arguments|  Name  | Name    | Argument | Function |
|___________________|/_________________/|__________|________|_________|__________|__________|
|                   |/                 /|          |        |         |          |          |
|                   |/                 /|          |        |         |          |          |
|Choosing Largest   | max(/a/ ,/a/ ,...)  |    >=2   | MAX    | MAX0    | Integer  | Integer  |
|  Value            |      1  2/       /|          |        | AMAX1   | Real     | Real     |
|                   |/                 /|          |        | DMAX1   | Double   | Double   |
|                   |/                 /|          |________|_________|__________|__________|
|                   |/                 /|          |        | AMAX0   | Integer  | Real     |
|                   |/                 /|          |        | MAX1    | Real     | Integer  |
|___________________|/_________________/|__________|________|_________|__________|_________ |


In my interpretation, the code in question is not valid. MAX is the generic name for MAX0,AMAX1, and DMAX1, 
not for AMAX0 which is the specfic intrinisic needed here.


Just to confuse things more, i compiled this snippet

        INTEGER I
        REAL R,NUM
        NUM=MAX(I,R)
        END

on a few f77 compilers:

sgi - MIPSPro-77 --   Compiles without warnings or errors
dec - f90 /f77   --   Fatal Error on type mismatch

  
Maybe g77 should issue a warning (when invoked with -fpedantic) ?

Of course, IMHO, g95 should be backwards compatable with g77 :)

regards,
bud davis





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-05-23 23:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-23  3:33 g77 compiles illegal code in testsuite? Steven G. Kargl
2003-05-23 12:57 Bud Davis
2003-05-23 14:23 ` Paul Brook
2003-05-23 15:15 ` Steven G. Kargl
2003-05-23 15:36   ` Bud Davis
2003-05-23 22:57   ` Toon Moene
2003-05-23 23:40     ` Steven Bosscher

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