From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16148 invoked by alias); 13 Jan 2010 23:27:50 -0000 Received: (qmail 16015 invoked by uid 48); 13 Jan 2010 23:27:31 -0000 Date: Wed, 13 Jan 2010 23:27:00 -0000 Message-ID: <20100113232731.16014.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug lto/42665] Internal compiler exception in with gfortran when using -fwhole-program -flto -fopenmp In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jjcogliati-r1 at yahoo dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-01/txt/msg01604.txt.bz2 ------- 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