This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/34483] wo_prof_two_strs.c:56: internal compiler error: in find_new_var_of_type, at ipa-struct-reorg.c:605
- From: "olga at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Jan 2008 13:28:06 -0000
- Subject: [Bug middle-end/34483] wo_prof_two_strs.c:56: internal compiler error: in find_new_var_of_type, at ipa-struct-reorg.c:605
- References: <bug-34483-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #34 from olga at gcc dot gnu dot org 2008-01-20 13:28 -------
Dave, Dominique,
As I have no such execution failures on any one of machines, would you please
help me debugging the execution failures?
I am actually need the place where it fails and assembly files. The most
convenient file is wo_prof_mult_fields_peeling.c . Can you please produce an
assembly for it? For this file I also generated the artificial result of
struct-reorg optimization (below), to be compiled without -fipa-struct-reorg,
but with all other flags (-O3 -fdump-ipa-all -fwhole-program -combine
-fipa-type-escape). The idea is to compare two assembly files, from original
wo_prof_mult_fields_peeling.c and from faked one:
#include <stdlib.h>
#include <stdio.h>
typedef struct
{
int a;
}str_t0;
typedef struct
{
float b;
}str_t1;
typedef struct
{
int c;
}str_t2;
typedef struct
{
float d;
}str_t3;
#define N 100
int
main ()
{
int i;
str_t0 *p0 = malloc (N * sizeof (str_t0));
str_t1 *p1 = malloc (N * sizeof (str_t1));
str_t0 *p2 = malloc (N * sizeof (str_t2));
str_t0 *p3 = malloc (N * sizeof (str_t3));
for (i = 0; i < N; i++)
p0[i].a = 5;
for (i = 0; i < N; i++)
if (p0[i].a != 5)
abort ();
return 0;
}
Thank you,
Olga
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34483