On Mon, Jun 13, 2011 at 9:42 AM, Douglas Gregor <[email protected]> wrote: > Author: dgregor > Date: Mon Jun 13 11:42:53 2011 > New Revision: 132919 > > URL: http://llvm.org/viewvc/llvm-project?rev=132919&view=rev > Log: > Eliminate the -f[no]objc-infer-related-result-type flags; there's no > reason to allow the user to control these semantics through a flag.
This appears to have broken http://smooshlab.apple.com:8013/builders/rewriter_i386-pc-win32 . -Eli > Modified: > cfe/trunk/include/clang/Basic/LangOptions.h > cfe/trunk/include/clang/Driver/CC1Options.td > cfe/trunk/include/clang/Driver/Options.td > cfe/trunk/lib/Driver/Tools.cpp > cfe/trunk/lib/Frontend/CompilerInvocation.cpp > cfe/trunk/lib/Sema/SemaDeclObjC.cpp > cfe/trunk/lib/Serialization/ASTReader.cpp > cfe/trunk/lib/Serialization/ASTWriter.cpp > cfe/trunk/test/Analysis/misc-ps-eager-assume.m > cfe/trunk/test/Analysis/retain-release-gc-only.m > cfe/trunk/test/Analysis/retain-release.m > cfe/trunk/test/Analysis/retain-release.mm > cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m > cfe/trunk/test/Analysis/variadic-method-types.m > cfe/trunk/test/Driver/rewrite-objc.m > cfe/trunk/test/SemaObjC/related-result-type-inference.m > cfe/trunk/test/SemaObjC/typedef-class.m > cfe/trunk/test/SemaObjCXX/related-result-type-inference.mm > > Modified: cfe/trunk/include/clang/Basic/LangOptions.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.h?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/LangOptions.h (original) > +++ cfe/trunk/include/clang/Basic/LangOptions.h Mon Jun 13 11:42:53 2011 > @@ -46,8 +46,7 @@ > unsigned ObjCNonFragileABI : 1; // Objective-C modern abi enabled > unsigned ObjCNonFragileABI2 : 1; // Objective-C enhanced modern abi enabled > unsigned ObjCDefaultSynthProperties : 1; // Objective-C auto-synthesized > properties. > - unsigned ObjCInferRelatedResultType : 1; // Infer Objective-C related > return > - // types > + > unsigned AppleKext : 1; // Allow apple kext features. > > unsigned PascalStrings : 1; // Allow Pascal strings > @@ -175,7 +174,6 @@ > GC = ObjC1 = ObjC2 = ObjCNonFragileABI = ObjCNonFragileABI2 = 0; > AppleKext = 0; > ObjCDefaultSynthProperties = 0; > - ObjCInferRelatedResultType = 0; > NoConstantCFStrings = 0; InlineVisibilityHidden = 0; > C99 = C1X = Microsoft = Borland = CPlusPlus = CPlusPlus0x = 0; > CXXOperatorNames = PascalStrings = WritableStrings = ConstStrings = 0; > > Modified: cfe/trunk/include/clang/Driver/CC1Options.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CC1Options.td?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Driver/CC1Options.td (original) > +++ cfe/trunk/include/clang/Driver/CC1Options.td Mon Jun 13 11:42:53 2011 > @@ -493,8 +493,6 @@ > HelpText<"Enable Objective-C Ivar layout bitmap print trace">; > def fobjc_nonfragile_abi : Flag<"-fobjc-nonfragile-abi">, > HelpText<"enable objective-c's nonfragile abi">; > -def fobjc_infer_related_result_type : > Flag<"-fobjc-infer-related-result-type">, > - HelpText<"infer Objective-C related result type based on method family">; > def ftrapv : Flag<"-ftrapv">, > HelpText<"Trap on integer overflow">; > def ftrapv_handler : Separate<"-ftrapv-handler">, > > Modified: cfe/trunk/include/clang/Driver/Options.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Driver/Options.td (original) > +++ cfe/trunk/include/clang/Driver/Options.td Mon Jun 13 11:42:53 2011 > @@ -392,10 +392,6 @@ > def fobjc_gc : Flag<"-fobjc-gc">, Group<f_Group>; > def fobjc_legacy_dispatch : Flag<"-fobjc-legacy-dispatch">, Group<f_Group>; > def fobjc_new_property : Flag<"-fobjc-new-property">, > Group<clang_ignored_f_Group>; > -def fobjc_infer_related_result_type : > Flag<"-fobjc-infer-related-result-type">, > - Group<f_Group>; > -def fno_objc_infer_related_result_type : Flag< > - "-fno-objc-infer-related-result-type">, Group<f_Group>; > > // Objective-C ABI options. > def fobjc_abi_version_EQ : Joined<"-fobjc-abi-version=">, Group<f_Group>; > > Modified: cfe/trunk/lib/Driver/Tools.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/Tools.cpp (original) > +++ cfe/trunk/lib/Driver/Tools.cpp Mon Jun 13 11:42:53 2011 > @@ -1542,12 +1542,6 @@ > options::OPT_fno_lax_vector_conversions)) > CmdArgs.push_back("-fno-lax-vector-conversions"); > > - // -fobjc-infer-related-result-type is the default. > - if (Args.hasFlag(options::OPT_fobjc_infer_related_result_type, > - options::OPT_fno_objc_infer_related_result_type, > - /*Default=*/true)) > - CmdArgs.push_back("-fobjc-infer-related-result-type"); > - > // Handle -fobjc-gc and -fobjc-gc-only. They are exclusive, and > -fobjc-gc-only > // takes precedence. > const Arg *GCArg = Args.getLastArg(options::OPT_fobjc_gc_only); > > Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original) > +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Mon Jun 13 11:42:53 2011 > @@ -670,9 +670,6 @@ > Res.push_back("-fobjc-gc-only"); > } > } > - if (Opts.ObjCInferRelatedResultType) > - Res.push_back("-fobjc-infer-related-result-type"); > - > if (Opts.AppleKext) > Res.push_back("-fapple-kext"); > > @@ -1488,9 +1485,6 @@ > else if (Args.hasArg(OPT_fobjc_gc)) > Opts.setGCMode(LangOptions::HybridGC); > > - if (Args.hasArg(OPT_fobjc_infer_related_result_type)) > - Opts.ObjCInferRelatedResultType = 1; > - > if (Args.hasArg(OPT_fapple_kext)) { > if (!Opts.CPlusPlus) > Diags.Report(diag::warn_c_kext); > > Modified: cfe/trunk/lib/Sema/SemaDeclObjC.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclObjC.cpp?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/lib/Sema/SemaDeclObjC.cpp (original) > +++ cfe/trunk/lib/Sema/SemaDeclObjC.cpp Mon Jun 13 11:42:53 2011 > @@ -2112,8 +2112,7 @@ > mergeObjCMethodDecls(ObjCMethod, InterfaceMD); > } > > - if (!ObjCMethod->hasRelatedResultType() && > - getLangOptions().ObjCInferRelatedResultType) { > + if (!ObjCMethod->hasRelatedResultType()) { > bool InferRelatedResultType = false; > switch (ObjCMethod->getMethodFamily()) { > case OMF_None: > > Modified: cfe/trunk/lib/Serialization/ASTReader.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/lib/Serialization/ASTReader.cpp (original) > +++ cfe/trunk/lib/Serialization/ASTReader.cpp Mon Jun 13 11:42:53 2011 > @@ -92,7 +92,6 @@ > PARSE_LANGOPT_IMPORTANT(AppleKext, diag::warn_pch_apple_kext); > PARSE_LANGOPT_IMPORTANT(ObjCDefaultSynthProperties, > diag::warn_pch_objc_auto_properties); > - PARSE_LANGOPT_BENIGN(ObjCInferRelatedResultType) > PARSE_LANGOPT_IMPORTANT(NoConstantCFStrings, > diag::warn_pch_no_constant_cfstrings); > PARSE_LANGOPT_BENIGN(PascalStrings); > @@ -2935,7 +2934,6 @@ > PARSE_LANGOPT(ObjCNonFragileABI2); > PARSE_LANGOPT(AppleKext); > PARSE_LANGOPT(ObjCDefaultSynthProperties); > - PARSE_LANGOPT(ObjCInferRelatedResultType); > PARSE_LANGOPT(NoConstantCFStrings); > PARSE_LANGOPT(PascalStrings); > PARSE_LANGOPT(WritableStrings); > > Modified: cfe/trunk/lib/Serialization/ASTWriter.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/lib/Serialization/ASTWriter.cpp (original) > +++ cfe/trunk/lib/Serialization/ASTWriter.cpp Mon Jun 13 11:42:53 2011 > @@ -1050,7 +1050,6 @@ > Record.push_back(LangOpts.AppleKext); // Apple's kernel extensions > ABI > Record.push_back(LangOpts.ObjCDefaultSynthProperties); // Objective-C > auto-synthesized > // properties enabled. > - Record.push_back(LangOpts.ObjCInferRelatedResultType); > Record.push_back(LangOpts.NoConstantCFStrings); // non cfstring generation > enabled.. > > Record.push_back(LangOpts.PascalStrings); // Allow Pascal strings > > Modified: cfe/trunk/test/Analysis/misc-ps-eager-assume.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/misc-ps-eager-assume.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/Analysis/misc-ps-eager-assume.m (original) > +++ cfe/trunk/test/Analysis/misc-ps-eager-assume.m Mon Jun 13 11:42:53 2011 > @@ -12,6 +12,7 @@ > @end @protocol NSCoding - (void)encodeWithCoder:(NSCoder *)aCoder; > @end @interface NSObject <NSObject> {} > + (id)alloc; > +- (id)init; > @end typedef struct {} > NSFastEnumerationState; > @protocol NSFastEnumeration - > (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state > objects:(id *)stackbuf count:(NSUInteger)len; > > Modified: cfe/trunk/test/Analysis/retain-release-gc-only.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release-gc-only.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/Analysis/retain-release-gc-only.m (original) > +++ cfe/trunk/test/Analysis/retain-release-gc-only.m Mon Jun 13 11:42:53 2011 > @@ -113,6 +113,7 @@ > @end @interface NSAutoreleasePool : NSObject { > } > - (void)drain; > +- (id)init; > @end extern NSString * const NSBundleDidLoadNotification; > typedef double NSTimeInterval; > @interface NSDate : NSObject <NSCopying, NSCoding> - > (NSTimeInterval)timeIntervalSinceReferenceDate; > > Modified: cfe/trunk/test/Analysis/retain-release.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/Analysis/retain-release.m (original) > +++ cfe/trunk/test/Analysis/retain-release.m Mon Jun 13 11:42:53 2011 > @@ -116,6 +116,7 @@ > - (id)retain; > - (oneway void)release; > - (id)autorelease; > +- (id)init; > @end @protocol NSCopying - (id)copyWithZone:(NSZone *)zone; > @end @protocol NSMutableCopying - (id)mutableCopyWithZone:(NSZone *)zone; > @end @protocol NSCoding - (void)encodeWithCoder:(NSCoder *)aCoder; > @@ -1445,7 +1446,7 @@ > while (error_to_dump != ((void*)0)) { > CFDictionaryRef info; > > - info = CFErrorCopyUserInfo(error_to_dump); // > expected-warning{{Potential leak of an object allocated on line 1448 and > stored into 'info'}} > + info = CFErrorCopyUserInfo(error_to_dump); // > expected-warning{{Potential leak of an object allocated on line 1449 and > stored into 'info'}} > > if (info != ((void*)0)) { > } > > Modified: cfe/trunk/test/Analysis/retain-release.mm > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release.mm?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/Analysis/retain-release.mm (original) > +++ cfe/trunk/test/Analysis/retain-release.mm Mon Jun 13 11:42:53 2011 > @@ -121,6 +121,7 @@ > + (id)allocWithZone:(NSZone *)zone; > + (id)alloc; > - (void)dealloc; > +- (id)init; > @end > @interface NSObject (NSCoderMethods) > - (id)awakeAfterUsingCoder:(NSCoder *)aDecoder; > > Modified: cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m (original) > +++ cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m Mon Jun 13 11:42:53 2011 > @@ -11,7 +11,10 @@ > @protocol NSObject - (BOOL)isEqual:(id)object; @end > @protocol NSCopying - (id)copyWithZone:(NSZone *)zone; @end > @protocol NSCoding - (void)encodeWithCoder:(NSCoder *)aCoder; @end > -@interface NSObject <NSObject> {} + (id)alloc; @end > +@interface NSObject <NSObject> {} > ++ (id)alloc; > +- (id)init; > +@end > extern id NSAllocateObject(Class aClass, NSUInteger extraBytes, NSZone > *zone); > @interface NSValue : NSObject <NSCopying, NSCoding> - (void)getValue:(void > *)value; @end > @class NSString, NSData; > > Modified: cfe/trunk/test/Analysis/variadic-method-types.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/variadic-method-types.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/Analysis/variadic-method-types.m (original) > +++ cfe/trunk/test/Analysis/variadic-method-types.m Mon Jun 13 11:42:53 2011 > @@ -73,13 +73,13 @@ > [NSDictionary dictionaryWithObjectsAndKeys:@"Foo", "Bar", nil]; // > expected-warning {{Argument to 'NSDictionary' method > 'dictionaryWithObjectsAndKeys:' should be an Objective-C pointer type, not > 'char *'}} > [NSSet setWithObjects:@"Foo", "Bar", nil]; // expected-warning {{Argument > to 'NSSet' method 'setWithObjects:' should be an Objective-C pointer type, > not 'char *'}} > > - [[[NSArray alloc] initWithObjects:@"Foo", "Bar", nil] autorelease]; // > expected-warning {{Argument to method 'initWithObjects:' should be an > Objective-C pointer type, not 'char *'}} > - [[[NSDictionary alloc] initWithObjectsAndKeys:@"Foo", "Bar", nil] > autorelease]; // expected-warning {{Argument to method > 'initWithObjectsAndKeys:' should be an Objective-C pointer type, not 'char > *'}} > + [[[NSArray alloc] initWithObjects:@"Foo", "Bar", nil] autorelease]; // > expected-warning {{Argument to 'NSArray' method 'initWithObjects:' should be > an Objective-C pointer type, not 'char *'}} > + [[[NSDictionary alloc] initWithObjectsAndKeys:@"Foo", "Bar", nil] > autorelease]; // expected-warning {{Argument to 'NSDictionary' method > 'initWithObjectsAndKeys:' should be an Objective-C pointer type, not 'char > *'}} > [[[NSDictionary alloc] initWithObjectsAndKeys:@"Foo", (void*) 0, nil] > autorelease]; // no-warning > [[[NSDictionary alloc] initWithObjectsAndKeys:@"Foo", > kCGImageSourceShouldCache, nil] autorelease]; // no-warning > [[[NSDictionary alloc] initWithObjectsAndKeys:@"Foo", fooType, nil] > autorelease]; // no-warning > - [[[NSDictionary alloc] initWithObjectsAndKeys:@"Foo", barType, nil] > autorelease]; // expected-warning {{Argument to method > 'initWithObjectsAndKeys:' should be an Objective-C pointer type, not > 'BarType'}} > - [[[NSSet alloc] initWithObjects:@"Foo", "Bar", nil] autorelease]; // > expected-warning {{Argument to method 'initWithObjects:' should be an > Objective-C pointer type, not 'char *'}} > + [[[NSDictionary alloc] initWithObjectsAndKeys:@"Foo", barType, nil] > autorelease]; // expected-warning {{Argument to 'NSDictionary' method > 'initWithObjectsAndKeys:' should be an Objective-C pointer type, not > 'BarType'}} > + [[[NSSet alloc] initWithObjects:@"Foo", "Bar", nil] autorelease]; // > expected-warning {{Argument to 'NSSet' method 'initWithObjects:' should be an > Objective-C pointer type, not 'char *'}} > } > > // This previously crashed the variadic argument checker. > > Modified: cfe/trunk/test/Driver/rewrite-objc.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/rewrite-objc.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/Driver/rewrite-objc.m (original) > +++ cfe/trunk/test/Driver/rewrite-objc.m Mon Jun 13 11:42:53 2011 > @@ -3,7 +3,7 @@ > // TEST0: clang{{.*}}" "-cc1" > // TEST0: "-rewrite-objc" > // FIXME: CHECK-NOT is broken somehow, it doesn't work here. Check adjacency > instead. > -// TEST0: "-fmessage-length" "0" "-fobjc-infer-related-result-type" > "-fobjc-exceptions" "-fdiagnostics-show-option" > +// TEST0: "-fmessage-length" "0" "-fobjc-exceptions" > "-fdiagnostics-show-option" > // TEST0: rewrite-objc.m" > > // RUN: not %clang -ccc-no-clang -ccc-host-triple unknown -rewrite-objc %s > -o - -### 2>&1 | \ > > Modified: cfe/trunk/test/SemaObjC/related-result-type-inference.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/related-result-type-inference.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/SemaObjC/related-result-type-inference.m (original) > +++ cfe/trunk/test/SemaObjC/related-result-type-inference.m Mon Jun 13 > 11:42:53 2011 > @@ -1,4 +1,4 @@ > -// RUN: %clang_cc1 -fobjc-infer-related-result-type -verify %s > +// RUN: %clang_cc1 -verify %s > > @interface Unrelated > @end > > Modified: cfe/trunk/test/SemaObjC/typedef-class.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/typedef-class.m?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/SemaObjC/typedef-class.m (original) > +++ cfe/trunk/test/SemaObjC/typedef-class.m Mon Jun 13 11:42:53 2011 > @@ -5,7 +5,7 @@ > > @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; > > -@protocol NSObject - (BOOL) isEqual:(id) object; @end > +@protocol NSObject - (BOOL) isEqual:(id) object; - (id)init; @end > @protocol NSCopying - (id) copyWithZone:(NSZone *) zone; @end > @protocol NSCoding - (void) encodeWithCoder:(NSCoder *) aCoder; @end > > > Modified: cfe/trunk/test/SemaObjCXX/related-result-type-inference.mm > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjCXX/related-result-type-inference.mm?rev=132919&r1=132918&r2=132919&view=diff > ============================================================================== > --- cfe/trunk/test/SemaObjCXX/related-result-type-inference.mm (original) > +++ cfe/trunk/test/SemaObjCXX/related-result-type-inference.mm Mon Jun 13 > 11:42:53 2011 > @@ -1,4 +1,4 @@ > -// RUN: %clang_cc1 -fobjc-infer-related-result-type -verify %s > +// RUN: %clang_cc1 -verify %s > > @interface Unrelated > @end > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
