On Feb 11, 2012, at 11:32 PM, Nick Lewycky wrote:

> This patch would cause clang to mark the __cxa_guard_* functions 'nounwind'. 
> I believe this is the correct reading of the Itanium ABI; the functions are 
> completely specified, and each function which may throw an exception 
> specifically says what exception it will throw and under what conditions. 
> Most of the functions say nothing about throwing exceptions, so I assume that 
> they aren't allowed to throw.
> 
> I'm not an expert on this though, so please review.
> 
> This would fix the intersting problem of invokes to __cxa_guard_* functions. 
> Even though clang never generates an invoke to these, one still manages to 
> show up in SingleSource/Benchmarks/Misc-C++-EH/Output/spirit.llvm.bc. How? 
> When the inliner inlines an invoke, all calls inside the callee turn into 
> invokes with their unwind-destination pointing at the inline-callsite's 
> unwind-destination.

Looks obviously correct to me, please apply!

-Chris
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to