Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenObjCXX / return.mm
blobfb77f336dfc00a61dc5c2abccb857c5157f5a4e7
1 /// -fstrict-return is the default.
2 // RUN: %clang_cc1 -emit-llvm -fblocks -triple x86_64-apple-darwin -o - %s | FileCheck %s
3 // RUN: %clang_cc1 -emit-llvm -fblocks -triple x86_64-apple-darwin -O -o - %s | FileCheck %s
5 @interface I
6 @end
8 @implementation I
10 - (int)method {
13 @end
15 enum Enum {
16   a
19 int (^block)(Enum) = ^int(Enum e) {
20   switch (e) {
21   case a:
22     return 1;
23   }
26 // Ensure that both methods and blocks don't use the -fstrict-return undefined
27 // behaviour optimization.
29 // CHECK-NOT: call void @llvm.trap
30 // CHECK-NOT: unreachable