This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/42665] Internal compiler exception in with gfortran when using -fwhole-program -flto -fopenmp
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Jan 2010 15:54:36 -0000
- Subject: [Bug lto/42665] Internal compiler exception in with gfortran when using -fwhole-program -flto -fopenmp
- References: <bug-42665-12362@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #8 from rguenther at suse dot de 2010-01-11 15:54 -------
Subject: Re: Internal compiler exception in with gfortran
when using -fwhole-program -flto -fopenmp
On Mon, 11 Jan 2010, jjcogliati-r1 at yahoo dot com wrote:
>
>
> ------- Comment #7 from jjcogliati-r1 at yahoo dot com 2010-01-11 15:50 -------
> (In reply to comment #6)
>
> > Try
> >
> > Index: gcc/gimple.c
> > ===================================================================
> > --- gcc/gimple.c (revision 155739)
> > +++ gcc/gimple.c (working copy)
> > @@ -3707,8 +3707,10 @@ iterative_hash_gimple_type (tree type, h
> > /* For integer types hash the types min/max values and the string flag.
> > */
> > if (TREE_CODE (type) == INTEGER_TYPE)
> > {
> > - v = iterative_hash_expr (TYPE_MIN_VALUE (type), v);
> > - v = iterative_hash_expr (TYPE_MAX_VALUE (type), v);
> > + if (TYPE_MIN_VALUE (type))
> > + v = iterative_hash_expr (TYPE_MIN_VALUE (type), v);
> > + if (TYPE_MAX_VALUE (type))
> > + v = iterative_hash_expr (TYPE_MAX_VALUE (type), v);
> > v = iterative_hash_hashval_t (TYPE_STRING_FLAG (type), v);
> > }
> >
> >
>
>
> I tried that patch. Still errors out with backtrace:
> #0 iterative_hash_expr (t=0x7ffff1e96b70, val=154387133)
> at ../../gcc-4.5-20100107/gcc/tree.c:6592
> #1 0x00000000005ee1fc in iterative_hash_gimple_type (type=0x7ffff1df3888,
> val=<value optimized out>, sccstack=0x7fffffffda38, sccstate=0x126a440,
> sccstate_obstack=0x7fffffffd9e0)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3713
> #2 0x00000000005ee843 in visit (t=0x7ffff1df3888, state=0x126b4b0,
> v=1159414094, sccstack=0x7fffffffda38, sccstate=0x126a440,
> sccstate_obstack=0x7fffffffd9e0)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3599
> #3 0x00000000005ee276 in iterative_hash_gimple_type (type=0x7ffff1df37e0,
> val=<value optimized out>, sccstack=0x7fffffffda38, sccstate=0x126a440,
> sccstate_obstack=0x7fffffffd9e0)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3722
> #4 0x00000000005ee843 in visit (t=0x7ffff1df37e0, state=0x126b4a0,
> v=4237831805, sccstack=0x7fffffffda38, sccstate=0x126a440,
> sccstate_obstack=0x7fffffffd9e0)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3599
> #5 0x00000000005ee180 in iterative_hash_gimple_type (type=0x7ffff1df3bd0,
> val=<value optimized out>, sccstack=0x7fffffffda38, sccstate=0x126a440,
> sccstate_obstack=0x7fffffffd9e0)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3703
> #6 0x00000000005ee6eb in gimple_type_hash (p=0x7ffff1df3bd0)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3831
> #7 0x0000000000bfb821 in htab_find_slot (htab=0x11de980,
> element=0x7ffff1df3bd0, insert=INSERT)
> at ../../gcc-4.5-20100107/libiberty/hashtab.c:681
> #8 0x00000000005f76e3 in gimple_register_type (t=0x7ffff1df3bd0)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3873
> #9 0x00000000005f76c6 in gimple_register_type (t=0x7ffff1df3738)
> at ../../gcc-4.5-20100107/gcc/gimple.c:3868
> #10 0x000000000048cbb7 in lto_read_in_decl_state (data=<value optimized out>,
> state=<value optimized out>) at ../../gcc-4.5-20100107/gcc/lto/lto.c:174
> #11 0x000000000048f036 in lto_read_decls (resolutions=<value optimized out>,
> data=<value optimized out>, decl_data=<value optimized out>)
> at ../../gcc-4.5-20100107/gcc/lto/lto.c:237
> #12 lto_file_read (resolutions=<value optimized out>,
> data=<value optimized out>, decl_data=<value optimized out>)
> at ../../gcc-4.5-20100107/gcc/lto/lto.c:377
> #13 read_cgraph_and_symbols (resolutions=<value optimized out>,
> data=<value optimized out>, decl_data=<value optimized out>)
> at ../../gcc-4.5-20100107/gcc/lto/lto.c:1839
> #14 lto_main (resolutions=<value optimized out>, data=<value optimized out>,
> decl_data=<value optimized out>)
> at ../../gcc-4.5-20100107/gcc/lto/lto.c:2061
> #15 0x000000000073fc26 in compile_file ()
> at ../../gcc-4.5-20100107/gcc/toplev.c:1053
> #16 do_compile () at ../../gcc-4.5-20100107/gcc/toplev.c:2405
> #17 toplev_main () at ../../gcc-4.5-20100107/gcc/toplev.c:2447
> #18 0x000000378c01eb1d in __libc_start_main (main=<value optimized out>,
> argc=<value optimized out>, ubp_av=<value optimized out>,
> init=<value optimized out>, fini=<value optimized out>,
> rtld_fini=<value optimized out>, stack_end=<value optimized out>)
> at libc-start.c:220
>
> Same generally looking types as above (ERROR_MARK, INTEGER_TYPE ...)
>
> Is there anyway for me to find out what filename and line number are being
> compiled at this point? That would help me figure out a smaller testcase.
Not really. A big testcase is ok - we have automated tools to reduce it.
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42665