Some builtin functions are marked as not throwing exceptions, even when -fnon-call-exceptions is in use. As a result, the compiler will assume these functions will not throw exceptions -- but they might. For example, the buitin va_arg might cause a SEGV, which would become an exception, if the pointer provided was invalid. Even builtins which call external library routines might do so, if the routines have themselves been compiled with -fnon-call-exceptions.
For more background, see: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00920.html and follow-ups thereto. -- Summary: Builtins are assumed not to throw exceptions, even with -fnon-call-exceptions Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mmitchel at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39801