FAIL: gcc.dg/struct/wo_prof_double_malloc.c (internal compiler error) FAIL: gcc.dg/struct/wo_prof_double_malloc.c (internal compiler error) FAIL: gcc.dg/struct/wo_prof_double_malloc.c (test for excess errors) FAIL: gcc.dg/struct/wo_prof_double_malloc.c (test for excess errors) /space/rguenther/src/svn/trunk/gcc/testsuite/gcc.dg/struct/wo_prof_double_malloc.c:26: error: non-trivial conversion at assignment^M struct type_struct *^M struct test_struct_sub.1 *^M # .MEM_41 = VDEF <.MEM_18>^M *D.3347_31 = D.3349_40;^M ^M struct-reorg doesn't bother to update reference trees properly and creates invalid gimple.
Confirmed at r146982 for cris-elf.
On powerpc*-linux the test begins to fail in the same way with this patch: http://gcc.gnu.org/viewcvs?view=rev&rev=146831 r146831 | rguenth | 2009-04-27 11:18:38 +0000 (Mon, 27 Apr 2009)
The test started failing with the patch reported in comment #2 because it enabled type checking; sorry for the noise.
Likewise. Not really P1 as user-visible only with checking enabled. Not a regression is the wrong-code part as IPA struct-reorg was creating TBAA wrong-code since ever, now made visible via type-checking.
This patch should solve the problem. Please confirm for your platforms. http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00849.html Thanks, Olga
Subject: Bug 39960 Author: olga Date: Fri Nov 20 16:57:35 2009 New Revision: 154374 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154374 Log: 2009-11-17 Olga Golovanevsky <olga@il.ibm.com> PR middle-end/39960 * ipa-struct-reorg.c (find_pos_in_stmt): New parameter. (ref_pos): New field in structure. (insert_new_var_in_stmt): New function. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-struct-reorg.c
Fixed.