]> granicus.if.org Git - clang/commit
If we flow off the end of a value-returning function:
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 4 Oct 2012 23:52:29 +0000 (23:52 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 4 Oct 2012 23:52:29 +0000 (23:52 +0000)
commit36ef0d54cfddf31cd48816e78ab4db73b31a6c1d
treea7b58d06715aadcfe6ff90abdf525f2ab1dfdbef
parentc339393067438596599b142a8950f0e8694e2f1a
If we flow off the end of a value-returning function:
 - outside C++, return undef (behavior is not undefined unless the value is used)
 - in C++, with -fcatch-undefined-behavior, perform an appropriate trap
 - in C++, produce an 'unreachable' (behavior is undefined immediately)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165273 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CodeGenFunction.cpp
test/CodeGen/catch-undef-behavior.c
test/CodeGenCXX/catch-undef-behavior.cpp
test/CodeGenCXX/return.cpp [new file with mode: 0644]