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
