http://llvm.org/bugs/show_bug.cgi?id=9395
John McCall <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID --- Comment #16 from John McCall <[email protected]> 2011-12-05 15:48:18 CST --- The specified behavior of 'noreturn' is that the function is not allowed to return. The GCC manual is quite explicit about this, saying that the compiler and optimizer can freely assume that the function does not return, etc. This is exactly what Clang is doing. That you've found an example where GCC happens to not produce code that crashes when you violate the rules does not mean that your code is sound; it's more akin to writing past the end of a local variable, which is a bug that may or may not be exposed depending on a lot of contextual and internal details that vary from compiler to compiler (and version to version). And much like that example, the right thing to do here is to fix your code, in this case by removing 'noreturn' from the overridden method. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
