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: "jjcogliati-r1 at yahoo dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jan 2010 23:27:31 -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 #15 from jjcogliati-r1 at yahoo dot com 2010-01-13 23:27 -------
(In reply to comment #14)
> I am testing the workaround
>
> Index: gcc/gimple.c
> ===================================================================
> --- gcc/gimple.c (revision 155860)
> +++ gcc/gimple.c (working copy)
> @@ -3707,8 +3707,12 @@ 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);
> + /* OMP lowering can introduce error_mark_node in place of
> + random local decls in types. */
> + if (TYPE_MIN_VALUE (type) != error_mark_node)
> + v = iterative_hash_expr (TYPE_MIN_VALUE (type), v);
> + if (TYPE_MAX_VALUE (type) != error_mark_node)
> + v = iterative_hash_expr (TYPE_MAX_VALUE (type), v);
> v = iterative_hash_hashval_t (TYPE_STRING_FLAG (type), v);
> }
>
>
With the above patch, my code now both compiles, and runs its testcases
correctly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42665