[Fortran-Experiments]: regressions
Tobias Burnus
burnus@net-b.de
Mon Mar 19 20:06:00 GMT 2007
Hi Chris,
Christopher D. Rickett wrote:
>>> FAIL: gfortran.dg/loop_nest_1.f90 -O (internal compiler error)
> $>gfortran loop_nest_1.f90 -O -O3 -ftree-loop-linear -S -o loop_nest_1.s
> loop_nest_1.f90: In function pr29290:
> loop_nest_1.f90:5: internal compiler error: in int_cst_value, at
> tree.c:7684
I cannot reproduce this one, but ...
>>> FAIL: gfortran.dg/module_implicit_conversion.f90 -O (test for excess
>>> errors)
> $>gfortran module_implicit_conversion.f90 -O -std=gnu -S -o
> module_implicit_conversion.s
> module_implicit_conversion.f90:7.37:
>
> end module module_implicit_conversion
> 1
> Internal Error at (1):
> write_atom(): Writing negative integer
> in gfortran.log, it reports this error as the excess error.
I don't get the error message, but valgrind shows:
==12686== Conditional jump or move depends on uninitialised value(s)
==12686== at 0x43D3E6: write_atom (module.c:1326)
==12686== by 0x43E71D: mio_typespec (module.c:1851)
==12686== by 0x43EEF5: mio_symbol (module.c:2984)
==12686== by 0x440B65: write_symbol (module.c:3831)
==12686== by 0x440C39: write_symbol0 (module.c:3870)
==12686== by 0x440FD6: gfc_dump_module (module.c:4018)
==12686== by 0x44851E: gfc_parse_file (parse.c:3262)
==12686== by 0x468BDD: gfc_be_parse_file (f95-lang.c:307)
==12686== by 0x679B23: toplev_main (toplev.c:1050)
==12686== by 0x52BE943: (below main) (in /lib64/libc-2.5.so)
The error occurs for "__convert_r4_r8". At mio_typespec (module.c:1851)
one finds:
mio_integer (&ts->is_c_interop);
It seems as if is_c_interop is not initialized to zero for internal
symbols. If is_c_interop is by chance negative, I'm not surprised that
you get the error "write_atom(): Writing negative integer".
I would expect that this error occurs rather randomly.
Tobias
More information about the Fortran
mailing list