------- Comment #29 from paolo dot bonzini at lu dot unisi dot ch  2007-02-06 
08:26 -------
Subject: Re:  Shared libstdc++ fails to link


> Paolo, would you be able to undo the change to make "foo" not marked
> TREE_NOTHROW?  IIUC, that would be different than the patch you posted
> in Comment #22, which appears to affect "bar".

My patch was related to Richi's comment when CCing me; the only patch I 
found from me that was related to TREE_NOTHROW subtly changed the 
semantics, and that patch sort of undone that change (I say "sort of" 
because it takes a little more care actually).

> Also, I didn't quite
> understand your patch, in that it would appear to result in fewer
> functions being marked TREE_NOTHROW

It would result in more functions being marked TREE_NOTHROW, since those 
functions will not go through the insn loop in 
set_nothrow_function_flags if the front-end declared them nothrow.

I'm attaching an updated version of the patch, which passes some 
internal (i.e. my brain and a small testcase using weak and nothrow) 
sanity checks, but I've not tried in any real world situation.  It's 
actually an alternate fix for PR29323 which doesn't trigger this bug. 
I'll let other people consider if it makes any sense since I'm not at 
all expert in this area.

> I would think we want to remove the
> check for binds_local_p at the top of set_nothrow_function_flags?

Agreed, and we have to move it elsewhere.  (See the upcoming patch).

Paolo


-- 


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

Reply via email to