2015-03-30 20:20 GMT+03:00 Jan Hubicka <hubi...@ucw.cz>:
>> On 30 Mar 14:05, Ilya Enkovich wrote:
>> > 2015-03-27 18:23 GMT+03:00 Jan Hubicka <hubi...@ucw.cz>:
>> > > Index: symtab.c
>> > > ===================================================================
>> > > --- symtab.c    (revision 221734)
>> > > +++ symtab.c    (working copy)
>> > > @@ -1130,15 +1130,20 @@ symtab_node::verify_symtab_nodes (void)
>> > >                                                   &existed);
>> > >           if (!existed)
>> > >             *entry = node;
>> > > -         else
>> > > -           for (s = (*entry)->same_comdat_group; s != NULL && s != 
>> > > node; s = s->same_comdat_group)
>> > > +         else if (!DECL_EXTERNAL (node->decl))
>> > > +           {
>> > > +             for (s = (*entry)->same_comdat_group; s != NULL && s != 
>> > > node;
>> > > +                  s = s->same_comdat_group)
>> > > +               ;
>> >
>> > With no if-statement in the loop body you need an additional exit
>> > condition for a case when you reach the entry.
>> >
>> > Thanks,
>> > Ilya
>> >
>>
>> Here is a patch to add a testcase, fix the loop and avoid same_comdat_group 
>> for instrumented external symbols.  Does it look OK?
>
> OK
>>
>> BTW should we check same_comdat_group is NULL for external symbols?
>
> We could do that, yes.  If you can come with a patch, it is OK for next 
> stage1.

Bootstrap fails with such check. Seems we may have same_comdat_group
for external symbols with body.

Ilya

>
> Honza

Reply via email to