[gfortran] Problem parsing hexadecimal constants?
Tobias.Schlueter@Physik.Uni-Muenchen.DE
Tobias.Schlueter@Physik.Uni-Muenchen.DE
Mon Nov 14 13:26:00 GMT 2005
Quoting "Ioannis E. Venetis" <iev@hpclab.ceid.upatras.gr>:
> Firstly, let me say that I don't know that much about Fortran, but I use
> a source-code transformation tool that creates Fortran 77 code, which I
> feed to gfortran.
>
> During this last stage, gfortran seems to have some problems to parse
> hexadecimal constants. I managed to reduce the problem to this very
> simple code:
>
> TEST.f:
>
> PROGRAM HEX_TEST
>
> INTEGER(4) MASK
>
> MASK = 'c0'X
>
> END
>
> ~ $ gfortran -c TEST.f
> In file TEST.f:5
>
>
> MASK = 'c0'X
> 1
> Error: Unclassifiable statement at (1)
>
>
>
> If, however, I make the following change:
>
> MASK = X'c0'
>
> the program compiles correctly. I remember that I used this tool with
> g77 too and that I had no problem. Either form of a hexadecimal constant
> was accepted. The same holds for the Intel compiler.
>
> Is this a bug of gfortran or some kind of extension that is not supported?
The latter. Nevertheless, if g77 supports this, we should support this as well.
Can you please open a bug report?
Hexadecimal constants are only allowed inside DATA statements, even though the
extension of allowing them everywhere is common, and thus your source code
transformation tool should really be fixed.
- Tobi
More information about the Fortran
mailing list