http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54795



--- Comment #25 from Richard Biener <rguenth at gcc dot gnu.org> 2012-11-26 
12:24:30 UTC ---

(In reply to comment #23)

> Another problem with revision 191466 is we lost

> debug info on cl_options.  With revision 191465,

> I got

> 

> (gdb) whatis cl_options

> type = const struct cl_option [1221]

> (gdb) 

> 

> After revision 191466, I got

> 

> (gdb) whatis cl_option

> type = cl_option

> (gdb)



This means that somewhere there is a cl_option definition that may prevail

that has size 1.  lto_symtab_resolve_symbols is supposed to pick the

largest one.  The cl_options definition that matters is in options.c,

created



const struct cl_option cl_options[] = { ... }



maybe it's size isn't finished?



Also



          || (DECL_SIZE (prevailing->symbol.decl) == DECL_SIZE (e->symbol.decl)



is fragile - use tree_int_cst_eq.  I suppose we don't have anything

like a testcase?

Reply via email to