This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/26586] New: g77 -pedantic wrongly rejecting statement function
- From: "john dot harper at vuw dot ac dot nz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Mar 2006 22:47:01 -0000
- Subject: [Bug fortran/26586] New: g77 -pedantic wrongly rejecting statement function
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following Fortran 77 program declares and uses a statement function
I2C(M). When compiled with these options:
g77 -pedantic -v -save-temps
it is misread as a character substring with its : missing, but IMHO
this statement function is valid in Fortran 77. The program compiles
and runs OK if the -pedantic is removed. Below are the program listing,
the compiler output, and the .s file generated by the compiler.
There was no .i* file.
tahi[~/Jfh] % cat testsf.f
PROGRAM TESTSF
CHARACTER I2C*2, CDIGIT(0:9)*1
DATA CDIGIT/'0','1','2','3','4','5','6','7','8','9'/
* Statement function I2C to convert integer 0 to 99 to character*2
I2C(M) = CDIGIT(M/10) // CDIGIT(MOD(M,10))
* End of statement functions; start of executables
PRINT '(10A3)', (I2C(M),M=0,99)
END
tahi[~/Jfh]
tahi[~/Jfh] % g77 -pedantic -v -save-temps testsf.f
Driving: g77 -pedantic -v -save-temps testsf.f -lfrtbegin -lg2c -lm
-shared-libgcc
Reading specs from /usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.4/specs
Configured with: ./configure --prefix=/usr/pkg/gcc3 --host=sparc-sun-solaris2
--enable-shared --enable-languages=f77
Thread model: posix
gcc version 3.3.4
/usr/pkg/gcc3/lib/gcc-lib/sparc-sun-solaris2/3.3.4/f771 testsf.f -quiet
-dumpbase testsf.f -auxbase testsf -pedantic -version -o testsf.s
GNU F77 version 3.3.4 (sparc-sun-solaris2)
compiled by GNU C version 3.3.4.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
testsf.f: In program `testsf':
testsf.f:5:
I2C(M) = CDIGIT(M/10) // CDIGIT(MOD(M,10))
1 2
Missing colon as of (2) in substring reference for (1)
testsf.f:7:
PRINT '(10A3)', (I2C(M),M=0,99)
1 2
Missing colon as of (2) in substring reference for (1)
tahi[~/Jfh] %
tahi[~/Jfh] % cat testsf.s
.file "testsf.f"
.section ".data"
.align 8
.type cdigit.0, #object
.size cdigit.0, 10
cdigit.0:
.ascii "0"
.ascii "1"
.ascii "2"
.ascii "3"
.ascii "4"
.ascii "5"
.ascii "6"
.ascii "7"
.ascii "8"
.ascii "9"
.global .rem
.global .div
.section ".rodata"
.align 8
.LLC1:
.asciz "(10A3)"
.section ".data"
.align 4
.type __g77_cilist_0.1, #object
.size __g77_cilist_0.1, 20
__g77_cilist_0.1:
.long 0
.long 6
.long 0
.long .LLC1
.long 0
.ident "GCC: (GNU) 3.3.4"
tahi[~/Jfh] %
--
Summary: g77 -pedantic wrongly rejecting statement function
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: john dot harper at vuw dot ac dot nz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26586