From: Fariborz Jahanian Date: Thu, 27 Oct 2011 20:06:32 +0000 (+0000) Subject: objc: fix an ir-gen crash caused by recent X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c1ba407188fbb702e944fff66c30f21bdf99f8e;p=clang objc: fix an ir-gen crash caused by recent property refactoring. // rdar://10327068 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143139 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp index 887dd39894..f35b359f57 100644 --- a/lib/Sema/SemaStmt.cpp +++ b/lib/Sema/SemaStmt.cpp @@ -497,7 +497,7 @@ Sema::ActOnStartOfSwitchStmt(SourceLocation SwitchLoc, Expr *Cond, return StmtError(); CondResult - = ConvertToIntegralOrEnumerationType(SwitchLoc, Cond, + = ConvertToIntegralOrEnumerationType(SwitchLoc, CondResult.take(), PDiag(diag::err_typecheck_statement_requires_integer), PDiag(diag::err_switch_incomplete_class_type) << Cond->getSourceRange(), diff --git a/test/CodeGenObjC/arc-cond-stmt.m b/test/CodeGenObjC/arc-cond-stmt.m new file mode 100644 index 0000000000..d8ee6bb084 --- /dev/null +++ b/test/CodeGenObjC/arc-cond-stmt.m @@ -0,0 +1,48 @@ +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fobjc-arc -o - %s +// rdar://10327068 + +@class NSString; + +@interface NSAssertionHandler { +} + ++ (NSAssertionHandler *)currentHandler; + +- (void)handleFailureInMethod:(SEL)selector object:(id)object file:(NSString *)fileName lineNumber:(int)line ,...; + +@end + +typedef enum +{ + MWRaceOrder_MeetName, + MWRaceOrder_MeetPosition, + MWRaceOrder_MeetDistance, + MWRaceOrder_Name, + MWRaceOrder_Position, + MWRaceOrder_Distance, + MWRaceOrder_Default = MWRaceOrder_Name, + MWRaceOrder_MeetDefault = MWRaceOrder_MeetName, +} MWRaceOrder; + +@interface MWViewMeetController +@property (nonatomic, assign) MWRaceOrder raceOrder; +@end + +@implementation MWViewMeetController + +- (int)orderSegment +{ + switch (self.raceOrder) + { + + default: + { [(NSAssertionHandler *)0 handleFailureInMethod:_cmd object:self file:(NSString*)0 lineNumber:192 ]; }; + break; + } + + return 0; +} + +@synthesize raceOrder; + +@end