http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49027
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-05-18 09:43:37 UTC --- I'm not sure. What about extern int f2(); struct NoExcept {}; template<typename T> void f1() { try { f2(); } catch (...) { } } template<> void f1<NoExcept>() { f2(); } template f1<NoExcept>(); ? EH code could be disabled by some tags and specialization. Especially for a library that has a non-exception variant that would sound useful.