Mark __builtin_eh_return as noreturn.  This is because currently the
following simple fragment:

int f(long offset, void *handler)
{
        __builtin_eh_return(offset, handler);
}

produces "warning: control reaches end of non-void function
[-Wreturn-type]".
Index: tools/clang/include/clang/Basic/Builtins.def
===================================================================
--- tools/clang/include/clang/Basic/Builtins.def        (revision 109449)
+++ tools/clang/include/clang/Basic/Builtins.def        (working copy)
@@ -324,7 +324,7 @@ BUILTIN(__builtin_vsprintf, "ic*cC*a", "nFP:1:")
 BUILTIN(__builtin_vsnprintf, "ic*zcC*a", "nFP:2:")
 
 // GCC exception builtins
-BUILTIN(__builtin_eh_return, "vzv*", "") // FIXME: Takes intptr_t, not size_t!
+BUILTIN(__builtin_eh_return, "vzv*", "r") // FIXME: Takes intptr_t, not size_t!
 BUILTIN(__builtin_frob_return_addr, "v*v*", "n")
 BUILTIN(__builtin_dwarf_cfa, "v*", "n")
 BUILTIN(__builtin_init_dwarf_reg_size_table, "vv*", "n")
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to