This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, Fortran] PR 43199 - Handle class%component references when reading .mod files
- From: dominiq at lps dot ens dot fr (Dominique Dhumieres)
- To: fortran at gcc dot gnu dot org
- Cc: burnus at net-b dot de, jaydub66 at googlemail dot com, gcc-patches at gcc dot gnu dot org
- Date: Sun, 28 Feb 2010 19:52:20 +0100
- Subject: Re: [Patch, Fortran] PR 43199 - Handle class%component references when reading .mod files
For the record the original test ICE with the fortran-dev branch:
Starting program: /opt/gcc/gcc4.5d/libexec/gcc/x86_64-apple-darwin10/4.5.0/f951 ~/Documents/Fortran/g95bench/win/f90/bug/pr43199.f90
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x0000000100059985 in mio_expr (ep=<value temporarily unavailable, due to optimizations>) at ../../for_work/gcc/fortran/module.c:3059
3059 write_atom (ATOM_STRING, e->value.function.isym->name);
(gdb) bt
#0 0x0000000100059985 in mio_expr (ep=<value temporarily unavailable, due to optimizations>) at ../../for_work/gcc/fortran/module.c:3059
#1 0x0000000100059f2d in mio_charlen (clp=0x1418426b0) at ../../for_work/gcc/fortran/module.c:2050
#2 0x00000001000597bf in mio_typespec (ts=0x1418426a8) at ../../for_work/gcc/fortran/module.c:2106
#3 0x000000010005a617 in mio_component (c=0x1418426a0) at ../../for_work/gcc/fortran/module.c:2343
#4 0x000000010005a818 in mio_symbol (sym=0x141841960) at ../../for_work/gcc/fortran/module.c:2393
#5 0x000000010005ac8d in write_symbol (n=4, sym=0x141841960) at ../../for_work/gcc/fortran/module.c:4772
#6 0x000000010005ad3f in write_symbol1 (p=0x1418b4670) at ../../for_work/gcc/fortran/module.c:4841
#7 0x000000010005ad05 in write_symbol1 (p=0x1418b1a90) at ../../for_work/gcc/fortran/module.c:4845
#8 0x000000010005acf3 in write_symbol1 (p=0x1418b1cd0) at ../../for_work/gcc/fortran/module.c:4836
#9 0x000000010005acf3 in write_symbol1 (p=0x1418b26f0) at ../../for_work/gcc/fortran/module.c:4836
#10 0x000000010005ad05 in write_symbol1 (p=0x1418acbd0) at ../../for_work/gcc/fortran/module.c:4845
#11 0x000000010005acf3 in write_symbol1 (p=0x1418b3b30) at ../../for_work/gcc/fortran/module.c:4836
#12 0x000000010005ad05 in write_symbol1 (p=0x1418ac990) at ../../for_work/gcc/fortran/module.c:4845
#13 0x000000010005ad05 in write_symbol1 (p=0x1418ac750) at ../../for_work/gcc/fortran/module.c:4845
#14 0x000000010005acf3 in write_symbol1 (p=0x1418b3d70) at ../../for_work/gcc/fortran/module.c:4836
#15 0x000000010005ad05 in write_symbol1 (p=0x1418abaf0) at ../../for_work/gcc/fortran/module.c:4845
#16 0x000000010005acf3 in write_symbol1 (p=0x1418b1610) at ../../for_work/gcc/fortran/module.c:4836
#17 0x000000010005c97c in gfc_dump_module (name=0x7fff5fbfd43d "", dump_flag=<value temporarily unavailable, due to optimizations>) at ../../for_work/gcc/fortran/module.c:4991
#18 0x0000000100068e2b in gfc_parse_file () at ../../for_work/gcc/fortran/parse.c:4226
#19 0x00000001000a1dac in gfc_be_parse_file (set_yydebug=<value temporarily unavailable, due to optimizations>) at ../../for_work/gcc/fortran/f95-lang.c:239
#20 0x00000001006d192a in toplev_main (argc=2, argv=0x7fff5fbfd9c0) at ../../for_work/gcc/toplev.c:1053
#21 0x0000000100000b74 in start ()
Also my inclination is towards 'dg-do run'.
Thanks for the patch.
Dominique