This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix SRA and initializers


Andrew Pinski <pinskia@physics.uc.edu> writes:

> OK? Bootstrapped and tested on powerpc-darwin with no regressions.

Breaks ia64.

$ cat ci.i
typedef long unsigned int size_t;
struct cbuf {
 char const *string;
 size_t size;
};
static int keepflag;
static struct cbuf
getlogmsg()
{
 static char const
  emptych[] = "*** empty log message ***";
 static struct cbuf const
  emptylog = { emptych, sizeof(emptych)-sizeof(char) };
 if (keepflag) {
  return emptylog;
 }
 return emptylog;
}

(gdb) r -O ci.i
Starting program: /usr/src/packages/BUILD/gcc-4.0.0-20050102/obj-ia64-suse-linux/gcc/cc1 -O ci.i
 getlogmsg

Program received signal SIGSEGV, Segmentation fault.
note_addressable (var=0x2000000000454270, s_ann=Variable "s_ann" is not available.
) at tree-ssa-operands.c:1635
1635          bitmap_set_bit (s_ann->addresses_taken, var_ann (var)->uid);
(gdb) bt
#0  note_addressable (var=0x2000000000454270, s_ann=Variable "s_ann" is not available.
)
    at tree-ssa-operands.c:1635
#1  0x40000000001ad880 in add_stmt_operand (var_p=0x2000000000360ef0, 
    s_ann=0x200000000044b020, flags=0) at tree-ssa-operands.c:1505
#2  0x40000000001b00a0 in get_expr_operands (stmt=0x2000000000360eb0, 
    expr_p=0x2000000000360ef0, flags=Variable "flags" is not available.
) at tree-ssa-operands.c:1059
#3  0x40000000001b4dc0 in build_ssa_operands (stmt=0x580060cf808, 
    ann=0x200000000044b020, old_ops=0x60000fffffff93e0, 
    new_ops=0x200000000044b048) at tree-ssa-operands.c:906
#4  0x40000000001b60f0 in get_stmt_operands (stmt=0x2000000000360eb0)
    at tree-ssa-operands.c:1021
#5  0x400000000016a220 in mark_def_sites (walk_data=Variable "walk_data" is not available.
) at tree-into-ssa.c:386
#6  0x40000000001e7ef0 in walk_dominator_tree (walk_data=0x60000fffffff94f0, 
    bb=0x2000000000455110) at domwalk.c:189
#7  0x40000000001e7670 in walk_dominator_tree (walk_data=0x60000fffffff94f0, 
    bb=0x2000000000454f70) at domwalk.c:205
#8  0x40000000001e7670 in walk_dominator_tree (walk_data=0x60000fffffff94f0, 
    bb=0x2000000000454c30) at domwalk.c:205
#9  0x4000000000161020 in mark_def_site_blocks () at tree-into-ssa.c:1537
#10 0x4000000000167870 in rewrite_into_ssa (all=80 'P') at tree-into-ssa.c:1600
#11 0x400000000012e5d0 in execute_todo (properties=604, flags=15)
    at tree-optimize.c:434
#12 0x400000000012ece0 in execute_pass_list (pass=0x6000000000015ff8)
    at tree-optimize.c:540
#13 0x400000000012e7c0 in execute_pass_list (pass=0x6000000000012330)
    at tree-optimize.c:563
#14 0x400000000012f2e0 in tree_rest_of_compilation (fndecl=0x2000000000447c20)
    at tree-optimize.c:661
#15 0x4000000000042690 in c_expand_body (fndecl=0x2000000000447c20)
    at c-decl.c:6393
#16 0x40000000006c3b00 in cgraph_expand_function (node=0x2000000000454750)
    at cgraphunit.c:822
#17 0x40000000006c3eb0 in cgraph_assemble_pending_functions ()
    at cgraphunit.c:305
#18 0x40000000006c5100 in cgraph_finalize_function (decl=0x2000000000447c20, 
    nested=0 '\0') at cgraphunit.c:388
#19 0x40000000000435b0 in finish_function () at c-decl.c:6365
#20 0x40000000000150f0 in yyparse () at c-parse.y:401
#21 0x4000000000016540 in c_parse_file () at c-parse.y:2922
#22 0x40000000000be720 in c_common_parse_file (set_yydebug=Variable "set_yydebug" is not available.
) at c-opts.c:1092
#23 0x40000000006204b0 in toplev_main (argc=Variable "argc" is not available.
) at toplev.c:992
#24 0x40000000000e93a0 in main (argc=3, argv=0x60000fffffffa7f8) at main.c:35

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]