PR tree-optimization/45605

Nicola Pero nicola.pero@meta-innovation.com
Tue Sep 21 12:25:00 GMT 2010


> Bootstrapped/regtested x86_64-linux, OK?

Jan

what you're doing is very exciting and I'm very supportive of the changes. :-)

But unfortunately, this patch caused a regression in obj-c++/proto-lossage-3.mm 
on my i386 linux, where the compiler now segfaults (most likely nothing to with 
Objective-C++, I noticed just because I keep an eye on these ObjC/Obj-C++ tests).

It all works (the compiler can compile obj-c++/proto-lossage-3.mm fine) up until 
exactly the subversion version number before you applied this patch. ;-)

Could you have a look ? :-)

Thanks a lot!

PS: Here is a stack trace in case it helps --

(gdb) run ./proto-lossage-3.mm 
Starting program: /opt/gcc/trunk2/libexec/gcc/i686-pc-linux-gnu/4.6.0/cc1objplus ./proto-lossage-3.mm
 sel_eq objc_hash_ptr objc_hash_string objc_compare_ptrs objc_compare_strings main __objc_gnu_init _GLOBAL__I_main
Analyzing compilation unit

Program received signal SIGSEGV, Segmentation fault.
gimple_fold_obj_type_ref_known_binfo (token=0, known_binfo=0xb7d99070) at ../../trunk2/gcc/gimple-fold.c:1443
1443      fndecl = TREE_VALUE (v);
(gdb) i stack
#0  gimple_fold_obj_type_ref_known_binfo (token=0, known_binfo=0xb7d99070) at ../../trunk2/gcc/gimple-fold.c:1443
#1  0x0898b406 in fold_gimple_call (gsi=<value optimized out>) at ../../trunk2/gcc/gimple-fold.c:1518
#2  0x0898c15f in fold_stmt_1 (gsi=0xbfffe3e4, inplace=0 '\000') at ../../trunk2/gcc/gimple-fold.c:1580
#3  0x0848050e in gimplify_call_expr (expr_p=0xb7dcb37c, pre_p=0xbfffe51c, want_value=0 '\000') at ../../trunk2/gcc/gimplify.c:2486
#4  0x0847a437 in gimplify_expr (expr_p=0xb7dcb37c, pre_p=0xbfffe51c, post_p=0xbfffe484, gimple_test_f=0x84624e0 <is_gimple_stmt>, fallback=0) at ../../trunk2/gcc/gimplify.c:6708
#5  0x084828fa in gimplify_stmt (stmt_p=0xb7dcb37c, seq_p=0xbfffe51c) at ../../trunk2/gcc/gimplify.c:5348
#6  0x08483403 in gimplify_cleanup_point_expr (expr_p=0xb7db6e3c, pre_p=0xbfffe728) at ../../trunk2/gcc/gimplify.c:5149
#7  0x0847a7ca in gimplify_expr (expr_p=0xb7db6e3c, pre_p=0xbfffe728, post_p=0xbfffe5b4, gimple_test_f=0x84624e0 <is_gimple_stmt>, fallback=0) at ../../trunk2/gcc/gimplify.c:7034
#8  0x084828fa in gimplify_stmt (stmt_p=0xb7db6e3c, seq_p=0xbfffe728) at ../../trunk2/gcc/gimplify.c:5348
#9  0x08479eb3 in gimplify_statement_list (expr_p=0xb7deda5c, pre_p=0xbfffe728, post_p=0xbfffe684, gimple_test_f=0x84624e0 <is_gimple_stmt>, fallback=0) at ../../trunk2/gcc/gimplify.c:1441
#10 gimplify_expr (expr_p=0xb7deda5c, pre_p=0xbfffe728, post_p=0xbfffe684, gimple_test_f=0x84624e0 <is_gimple_stmt>, fallback=0) at ../../trunk2/gcc/gimplify.c:7086
#11 0x084828fa in gimplify_stmt (stmt_p=0xb7deda5c, seq_p=0xbfffe728) at ../../trunk2/gcc/gimplify.c:5348
#12 0x08490fe3 in gimplify_body (body_p=0xb7deda5c, fndecl=0xb7deda00, do_parms=1 '\001') at ../../trunk2/gcc/gimplify.c:7680
#13 0x084913da in gimplify_function_tree (fndecl=0xb7deda00) at ../../trunk2/gcc/gimplify.c:7776
#14 0x087c0158 in cgraph_analyze_function (node=0xb7d04d04) at ../../trunk2/gcc/cgraphunit.c:778
#15 0x087c2987 in cgraph_analyze_functions () at ../../trunk2/gcc/cgraphunit.c:909
#16 0x087c4ad3 in cgraph_finalize_compilation_unit () at ../../trunk2/gcc/cgraphunit.c:1011
#17 0x081ab241 in cp_write_global_declarations () at ../../trunk2/gcc/cp/decl2.c:3928
#18 0x085acce3 in compile_file (argc=2, argv=0xbfffe9f4) at ../../trunk2/gcc/toplev.c:967
#19 do_compile (argc=2, argv=0xbfffe9f4) at ../../trunk2/gcc/toplev.c:2394
#20 toplev_main (argc=2, argv=0xbfffe9f4) at ../../trunk2/gcc/toplev.c:2435
#21 0x082d962b in main (argc=2, argv=0xbfffe9f4) at ../../trunk2/gcc/main.c:36
(gdb)



More information about the Gcc-patches mailing list