aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC
AgeCommit message (Collapse)Author
2010-08-17Diagnose use of iboutletcollection on ivar/propertyFariborz Jahanian
of non-object types. Radar 8308053. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111296 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-17Patch to add type parameter support for attribute iboutletcollection.Fariborz Jahanian
Radar 8308053. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111275 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16Diagnose assiging to an interface object inFariborz Jahanian
non-fragile abi mode as sizes are not statically known. Fixes radar 8315734. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111191 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13When issuing warning for future conflict resolution,Fariborz Jahanian
(nonfragile-abi2), do not consider 'ivar' access in class methods. Also, improve on diagnostics. Radar 8304561. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-12Fixes block type matching bug. Radar 8302845.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110950 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-12Downgrade error about nonnull attribute bbeing applied to a function ↵Douglas Gregor
without point arguments to a warning git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110939 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11Change text of diagnostics on user request.Fariborz Jahanian
radar 7948654. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110857 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11IRGen support for functions returning objc objectFariborz Jahanian
types. Fixes PR7865. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110832 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10Fix a spurious warning when message sent to qualified-idFariborz Jahanian
type receiver (pr7861). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110696 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-09Implements gcc's -Wstrict-selector-match.Fariborz Jahanian
(radar 8127244). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110622 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-09Warn if class object does not implement qualifiedFariborz Jahanian
id's protocols. Fixes radar 8154220. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110583 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-07Fix an Objective-C crasher, PR7839.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110515 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Tighten the rules when deciding if an ivar must beFariborz Jahanian
auto-synthesized (nonfragile-abi2 specific). Fixes radar 8251648. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109866 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Don't print out ivars twice in Decl::print(). Fixes <rdar://problem/8253668>.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109833 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-29Tigthen the condition for issung ivar shadowingFariborz Jahanian
variables to those in file scope (nonfragile-abi2). Fixes radar 8248681. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109758 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22Warn when property ivar lookup finds a global variableFariborz Jahanian
of same name. In nonfragile-abi2, lookup accesses a synthesized ivar. This is a transition warning. Radar 8225011. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21Upgrade "'X' is unavailable" from a warning to an error. This matches GCC's ↵Ted Kremenek
behavior. Note that GCC emits a warning instead of an error when using an unavailable Objective-C protocol, so now Clang's behavior is more strict in this case, but more consistent. We will need to see how much this fires on real code and determine whether this case should be downgraded to a warning. Fixes <rdar://problem/8213093>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109033 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-19Patch to type match comparing Objective-C Classes which implement Fariborz Jahanian
protocols (Radar 8191774). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108758 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-19Categories cannot synthesize property ivars,Fariborz Jahanian
and a minor cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108707 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-17Another test case for on demand synthesis of ivars.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108600 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-17Patch to synthesize property ivars on demand asFariborz Jahanian
part of the new property synthesis by default. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108599 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14Don't error when doing default property synthesis Fariborz Jahanian
and some are already synthesized by user declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108341 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14Consider obective-c pointer arguments as valid sentinel argsFariborz Jahanian
as well. Fixes radar 7975788. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108333 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13Check on property attributes which are declaredFariborz Jahanian
in class extensions (radar 8171968). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108283 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-29Add test case for <rdar://problem/4289832>. Clang actuallys getsTed Kremenek
the test case right (for the noreturn warning) because the CFG doesn't support @try yet, but the test case is now present when we do properly implement CFG support for @try...@catch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107203 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-29This patch fixes a bug whereby, clang skipped Fariborz Jahanian
unimplemented property warning for properties coming from class's conformin protocol. It also simplifies the algorithm in the process. Fixes radar 8035776. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-22Patch to provide separate ASTs for multiple ObjC class extension Fariborz Jahanian
declarations (implements radar 7928731). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106597 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Extend format string type-checking to include '%p'. Fixes remaining cases ↵Ted Kremenek
PR 4468. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106151 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-21Clang missing warning about conflicting declaration vs. definition Fariborz Jahanian
for variable arguments list methods. (radar 8006060). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104407 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-18Misc. fixes to bring Objetive-C++'s handling ofFariborz Jahanian
gc attributes to be inline with Objective-C (for radar 7925141). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104084 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-18These test now run in objective-c++ mode we well.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104041 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-03Diagnose unused exception parameters under a different warning groupDouglas Gregor
(-Wunused-exception-parameter) than normal variables, since it's more common to name and then ignore an exception parameter. This warning is neither enabled by default nor by -Wall. Fixes <rdar://problem/7931045>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102931 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-03Complain when we try to initialize an object of Objective-C class typeDouglas Gregor
(which is ill-formed) with an initializer list. Also, change the fallback from an assertion to a generic error message, which is far friendlier. Fixes <rdar://problem/7730948>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102930 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-03Do not issue warning on unimplemented property in the class, if itFariborz Jahanian
conforms to a protocol as one of its super classes does. This is because conforming super class will implement the property. This implements new warning rules for unimplemented properties (radar 7884086). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102919 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-29Properties cannot be synthesized by-dafult inFariborz Jahanian
categories. Issue usual warnings instead of confusing error message. Radar 7920807 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102645 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-26wordsmith an objc warning, rdar://7900756Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-26Refactor Objective-C @catch parameter checking by detangling it fromDouglas Gregor
function-parameter checking and splitting it into the normal ActOn*/Build* pair in Sema. We now use VarDecl to represent the @catch parameter rather than the ill-fitting ParmVarDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102347 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-23Improve on my previous diagnostics: per Doug's comment.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102190 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-23Trying to improve on a diagnostics for properties.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102187 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-23Change the 'declared at' diagnostic to say 'declared here'.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102163 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22Whenever we complain about a failed initialization of a function orDouglas Gregor
method parameter, provide a note pointing at the parameter itself so the user does not have to manually look for the function/method being called and match up parameters to arguments. For example, we now get: t.c:4:5: warning: incompatible pointer types passing 'long *' to parameter of type 'int *' [-pedantic] f(long_ptr); ^~~~~~~~ t.c:1:13: note: passing argument to parameter 'x' here void f(int *x); ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102038 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-21Rework the Parser-Sema interaction for Objective-C messageDouglas Gregor
sends. Major changes include: - Expanded the interface from two actions (ActOnInstanceMessage, ActOnClassMessage), where ActOnClassMessage also handled sends to "super" by checking whether the identifier was "super", to three actions (ActOnInstanceMessage, ActOnClassMessage, ActOnSuperMessage). Code completion has the same changes. - The parser now resolves the type to which we are sending a class message, so ActOnClassMessage now accepts a TypeTy* (rather than an IdentifierInfo *). This opens the door to more interesting types (for Objective-C++ support). - Split ActOnInstanceMessage and ActOnClassMessage into parser action functions (with their original names) and semantic functions (BuildInstanceMessage and BuildClassMessage, respectively). At present, this split is onyl used by ActOnSuperMessage, which decides which kind of super message it has and forwards to the appropriate Build*Message. In the future, Build*Message will be used by template instantiation. - Use getObjCMessageKind() within the disambiguation of Objective-C message sends vs. array designators. Two notes about substandard bits in this patch: - There is some redundancy in the code in ParseObjCMessageExpr and ParseInitializerWithPotentialDesignator; this will be addressed shortly by centralizing the mapping from identifiers to type names for the message receiver. - There is some #if 0'd code that won't likely ever be used---it handles the use of 'super' in methods whose class does not have a superclass---but could be used to model GCC's behavior more closely. This code will die in my next check-in, but I want it in Subversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102021 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-21Improve on source location of diagnostic when defaultFariborz Jahanian
property synthesis is using a super class ivar. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102011 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-20Fix crash on invalid code where a @throw statement is not followed by a ';'Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101941 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-20Patch to support transparent_union types onFariborz Jahanian
objective-c methods. Fixes radar 7875968. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101935 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-19More tests for Objective-C-related name lookup weirdness. Yes, it'sDouglas Gregor
weird; yes, it's what GCC does. Almost. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-18Allow the 'ibaction' attribute to be attached to method declarations (and ↵Ted Kremenek
not issue a warning). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101699 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15Improve the bit-field too wide error message.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101384 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14Fix a -pedantic spurious warning involving @dynamic.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101284 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-12tighten the check for cast of super to avoid rejecting valid code,Chris Lattner
rdar://7853261 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101048 91177308-0d34-0410-b5e6-96231b3b80d8