This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Fortran-Experiments]: regressions



hi Tobias,


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.

i'll look into this. i remember having had problems like this before, but they were fixed when i handled is_c_interop in gfc_clear_ts (). i'll see why this isn't applied to internal symbols.


thanks.
Chris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]