aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC
AgeCommit message (Collapse)Author
2011-03-14Block return type of the initialized must beFariborz Jahanian
be more speciaclized than that of the initializer, when matching protocol qualifier list. // rdar:// 9118343. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127585 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-12Place duplicate argument declaration in inFariborz Jahanian
method prototypes under the -Wduplicate-method-arg and turn it off by default. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127552 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-09Property setter/getter must be looked up in property type'sFariborz Jahanian
list of protocols as well. // rdar://9078584 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127367 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-09Lookup selector in protocol list of qualified objc typeFariborz Jahanian
to avoid a bogus warning. // rdar:// 9072298 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127355 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-08Warn on usage of unavailable objc 'class' inFariborz Jahanian
varienty of cases. // rdar://9092208 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127257 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-08Fix my earlier commit to work with escaped newlines and leave breadcrumbsJohn McCall
in case we want to make a world where we can check intermediate instantiations for this kind of breadcrumb. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127221 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-08objc_gc wants a pointer type, not a function type; give it a more appropriate John McCall
diagnostic. Also, these attributes are commonly written with macros which we actually pre-define, so instead of expanding the macro location, refer to the instantiation location and name it using the macro loc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127219 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-07Fix tests to account for new warning "expected ';' at end of declaration ↵Carl Norum
list". Sorry, folks! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127188 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-02Pretty up the wrong-number-of-arguments-for-attribute diagnostic byJohn McCall
using a custom plural form. Split out the range diagnostics as their own message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126840 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28Move test/SemaObjC/method-arg-decay.m -> test/Analysis/method-arg-decay.mArgyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126675 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23fix typo in *all* of the test casesMatt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126328 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23fix typo in test tooMatt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126327 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-22Provide Fixit warning when 'auto' is intended as storageFariborz Jahanian
specifier in legacy code. Patch is reviewed offline by Doug. // rdar://9036633. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126261 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-22Make clang -cc1 disable Objective-C exceptions by default, and add a ↵Anders Carlsson
-fobjc-exceptions flag to turn them on. Update all tests accordingly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126177 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-22Move some Objective-C tests to SemaObjC and CodeGenObjC.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126175 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-22In Objective-C, there are no trailing return types, so don't produce ↵Richard Smith
diagnostics suggesting they are missing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126174 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-21Warn when type modifiers on objc method declarations inFariborz Jahanian
protocols do not match with method implementation. // rdar://7076235 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126162 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-21Turn on 'auto' in plain objc mode.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126134 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-21Remove warning on future change in ivar lookup ruleFariborz Jahanian
when doing the property default synthesis. // rdar://9027673. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126128 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-19Add a new ObjCExceptions member variable to LangOptions. This controls ↵Anders Carlsson
whether Objective-C exceptions are enabled or not (they are by default). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126061 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-18Test case for // rdar://8850818Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125982 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-18Selector::getIdentifierInfoForSlot() can return NULL values, a factDouglas Gregor
that was ignored in a few places (most notably, code completion). Introduce Selector::getNameForSlot() for the common case where we only care about the name. Audit all uses of getIdentifierInfoForSlot(), switching many over to getNameForSlot(), fixing a few crashers. Fixed <rdar://problem/8939352>, a code-completion crasher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125977 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-17Improve diagnostics on missing property decl.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125752 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-17Improve diagnostics when property names an object type ofFariborz Jahanian
a forward class. // rdar://8851803 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125699 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-15Warn if method for a deprecated method is implemented.Fariborz Jahanian
Warn if class for a deprecated class is implemented. Warn if category for a deprecated class is implemented. All under control of -Wdeprecated-implementations. // rdar://8973810. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125545 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-14Put "incomplete implementation" warning under a flag.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125535 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-11Fix a block sema bug where result type of initializerFariborz Jahanian
is unqualified but its initialized is qualified. This is for c only and fixes the imm. problem. c++ is more involved and is wip. // rdar://8979379 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125386 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-09Fix scoping of method declarations and issue Fariborz Jahanian
warning when same parameter name used multiple times. // rdar://8877730 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125229 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-08Support for objextive-c++ use of property-dot syntax as receiverFariborz Jahanian
in liu of a class method getter. // rdar://8962253 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125094 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-08Support for objc use of property-dot syntax as receiverFariborz Jahanian
in liu of a class method getter. objc++ uses a different code path and is more involved (TBD). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125061 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-07Move uninitialized variable checking back under ↵Ted Kremenek
-Wuninitialized-experimental. It is clear from user feedback that this warning is not quite ready. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125007 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-04Restore a test which I accientally overwrote in my lastFariborz Jahanian
patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124911 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-04-Wselector should warn on implemented selectors onlyFariborz Jahanian
when selector metadata is generated, which is triggered by at least on class implementation. This is to match gcc's behavior. // rdar://8851684. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124909 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-04Downgrade error about attribute 'iboutlet' and 'ibaction' being applied to ↵Ted Kremenek
anything but a instance method to a warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124858 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-02Based on user feedback, swap -Wuninitialized diagnostics to have the warning ↵Ted Kremenek
refer to the bad use, and the note to the variable declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124758 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-31Improve the diagnostic for -Wcustom-atomic-properties. Suggestion by Fariborz!Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124620 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-31Add -Wcustom-atomic-properties which warns if an atomic-by-default property ↵Argyrios Kyrtzidis
has custom getter or setter. The rationale is that it is highly likely that the user's getter/setter isn't atomically implemented. Off by default. Addresses rdar://8782645. -Wcustom-atomic-properties and -Wimplicit-atomic-properties are under the -Watomic-properties group. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124609 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-27Teach -Wuninitialized about ObjC fast enumeration loops.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124347 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26Tweak the rule for deciding if a provisional ivar is neededFariborz Jahanian
in default ivar synthesis. Fixes // rdar://8913053. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124258 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25Change the wording of the bad-decl-for-attribute warning and errorJohn McCall
to make it clear that we're talking about the declarations and not the types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124175 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-23Tweak diagnostic:Ted Kremenek
error: no super class declared in @interface for 'XXX' to be: error: 'X' cannot use 'super' because it is a root class The latter explains what the user actually did wrong. Fixes: <rdar://problem/8904409> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124074 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-20Add test case for <rdar://problem/8891119>. InTed Kremenek
earlier revisions Clang was incorrectly warning about an incomplete @implementation when a property was getting synthesized. This got fixed somewhere down the line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123939 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-05Don't warn on missing 'copy' attribute on a 'block'Fariborz Jahanian
property when it is 'readonly'. // rdar://8820813 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122923 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-04Fold -fobjc-nonfragile-abi2 into -fobjc-nonfragile-abi.Fariborz Jahanian
// rdar://8818375 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122831 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-03Guard lazy synthesis of provisional ivars under the newFariborz Jahanian
-fobjc-default-synthesize-properties flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122757 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Add -fobjc-default-synthesized-properties flagTed Kremenek
to allow us to explicitly control whether or not Objective-C properties are default synthesized. Currently this feature only works when using the -fobjc-non-fragile-abi2 flag (so there is no functionality change), but we can now turn off this feature without turning off all the features coupled with -fobjc-non-fragile-abi2. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122519 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-22Complain on missing property getter method onlyFariborz Jahanian
if property-dot expression is decidedly an rvalue. // rdar://8155806. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122430 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-21Warn when message is sent to receiver ofFariborz Jahanian
unknown type and there is a possibility that at runtime method is resolved to a deprecated or unavailable method. Addreses // rdar://8769853 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122294 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-17Warn when synthesizing a property which isFariborz Jahanian
implicitly atomic under -Wimplicit-atomic-properties flag. // rdar://8774580 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122095 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-16Improve diagnostics when property being looked upFariborz Jahanian
in a forward @class object. // rdar://8774513 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121933 91177308-0d34-0410-b5e6-96231b3b80d8