aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC
AgeCommit message (Collapse)Author
2010-02-23More support for ivars in class extension.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96850 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-21Clang really intends to reject attribute 'warn_unused_result' on Objective-C ↵Ted Kremenek
methods, but instead it crashes on them. We might extend this attribute to work on methods, but for now fix the crasher. Addresses <rdar://problem/7670939>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96723 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-19Start supporting declaration of ivars in @implementationFariborz Jahanian
blocks. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96696 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-19Issue extended diagnostic when property dot-syntax is used and Fariborz Jahanian
there is a setter but no getter (part of radar 7664555). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96687 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Allow for declaration and use of ivars in a stand-aloneFariborz Jahanian
implementation (toward radar 7547942). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96479 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Class continuation now has its own property ast forFariborz Jahanian
those declared in it. This is to allow duplicate property diagnostics for properties declared in class extensions multiple times (radar 7629420) and for future use. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96276 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12Patch to fix a warning which exposed a bug in buildingFariborz Jahanian
a qualified objective-c pointer type. Fixes radar 7638810. (Also removes a FIXME). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96003 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11Diagnose when user provided getter is being used as lvalueFariborz Jahanian
using property dot-syntax. Fixes radar 7628953. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10Reverse a partial fix patch for radar 7214820. It broke some code andFariborz Jahanian
I don't have time to refix it for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95733 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09Finish implementing property synthesis by default.Fariborz Jahanian
(radar 7381956). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95695 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-08Merge block/function pointer types with objc's __weakFariborz Jahanian
attribute properly and avoid bogus warning. This is an objective-c fix only. objective-c++ follows different code pass and requires separate fix (which will come at a later time). Fixes radar 7214820. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95571 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95348 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02Fix test.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95108 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30Add test case for <rdar://problem/7068334> (which was fixed by r94864).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29Switch Sema over to using the new implementation of format stringTed Kremenek
checking. It passes all existing tests, and the diagnostics have been refined to provide better range information (we now highlight individual format specifiers) and more precise wording in the diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94837 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-23Insulate these from changes to the default for -Wunreachable-code.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94326 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22outside a method, 'super' should resolve in a normal name look upFariborz Jahanian
to mimic gcc's behavior. Fixes radar 7400691. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94246 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Settled rule on warning on unimplemented property inFariborz Jahanian
category implementation when some implementations are missing in the primary class implementation. (fixes radar 6505200). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94014 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Patch to implement required warnings for unimplementedFariborz Jahanian
properties imported frfom protocol. Fixes radar 7544809. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-19objective-c test case for __attribute__((unused)) on method arguments.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93887 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-19Issue diagnostics (instead of crashing in code gen) when usingFariborz Jahanian
property dot-syntax notation to use setter/getters in objective-c. Fixes radar 7553050. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93883 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12When in objective-c methods, do the built-in name lookup afterFariborz Jahanian
ivar name lookup. Fixes pr5986. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93271 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-09add a bunch of missing prototypes to testsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93072 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07Whenever we emit a typo-correction diagnostic, also emit a noteDouglas Gregor
pointing to the declaration that we found that has that name (if it is unique). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92877 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-06When suggesting a typo correction for an @implementation without aDouglas Gregor
corresponding @interface, provide a note showing which interface we're referring to. This note has the fix-it hint on it. Also, don't automatically apply fix-it hints for notes. They're meant to express fix-its that would change semantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-06Fix a bug when property is redeclared in multipleFariborz Jahanian
continuation classes and its original declaration is imported from a protocol. This fixes radar 7509234. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92856 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-06Do not diagnose method disguised as property setterFariborz Jahanian
for a 'readonly' property. Fixes radar 7427072. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92808 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-04When declaring an Objective-C implementation without a correspondingDouglas Gregor
interface, suggest correction of typos. For example, given: @interface NSString @end @implementation NSstring @end we'll warn with: t.m:4:19: warning: cannot find interface declaration for 'NSstring'; did you mean 'NSString'? @implementation NSstring ^ However, since this is just a warning, we don't provide a fix-it hint. Good idea, Ted! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-03Implement typo correction for a variety of Objective-C-specificDouglas Gregor
constructs: - Instance variable lookup ("foo->ivar" and, in instance methods, "ivar") - Property name lookup ("foo.prop") - Superclasses - Various places where a class name is required - Protocol names (e.g., id<proto>) This seems to cover many of the common places where typos could occur. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92449 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18clang -cc1: Rename -mcpu to -target-cpu to match other target options and ↵Daniel Dunbar
not alias driver/backend option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17Diagnose duplicate declaration of a property. FixesFariborz Jahanian
PR5809 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91575 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16Add abort() as a builtin. This has two effects: one, we warn for incorrect Eli Friedman
declarations of abort(), and two, we mark it noreturn. Missing the latter shows up in one of the "embarassing" tests (from the thread on llvmdev "detailed comparison of generated code size for LLVM and other compilers"). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91515 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15Diagnose attempting to assign to a sub-structure of an ivarFariborz Jahanian
using objective-c property. (fixes radar 7449707) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar
- This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14Change tests to use clang -cc1...Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91297 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08Patch to warn when discarding objective-c pointer type qualifiersFariborz Jahanian
Still some refactoring to do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90830 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Allow accessing 'isa' via '->' operator. Fariborz Jahanian
(fixes radar 7447251). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Patch to allow restrict applied to id/Class types.Fariborz Jahanian
(fixes radar 7442244). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90773 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Move RequireCompleteType requirement for fields early into ActOnField so thatEli Friedman
subsequent code which depends on a complete type does the right thing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21"Incremental" progress on using expressions, by which I mean totally rippingJohn McCall
into pretty much everything about overload resolution in order to wean BuildDeclarationNameExpr off LookupResult::getAsSingleDecl(). Replace UnresolvedFunctionNameExpr with UnresolvedLookupExpr, which generalizes the idea of a non-member lookup that we haven't totally resolved yet, whether by overloading, argument-dependent lookup, or (eventually) the presence of a function template in the lookup results. Incidentally fixes a problem with argument-dependent lookup where we were still performing ADL even when the lookup results contained something from a block scope. Incidentally improves a diagnostic when using an ObjC ivar from a class method. This just fell out from rewriting BuildDeclarationNameExpr's interaction with lookup, and I'm too apathetic to break it out. The only remaining uses of OverloadedFunctionDecl that I know of are in TemplateName and MemberExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Pass '-mcpu' 'FOO' instead of '-mcpu=FOO'.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89498 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Don't issue spurious diagnostic with Obj-C fast enumeration.Fariborz Jahanian
(radar 7409165). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18Do not enter forward class 'Protocol' in decl context.Fariborz Jahanian
Will do it later. Fixes pr5552. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89269 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18Don't warn if objc method param types in declaration andFariborz Jahanian
implementation mismatch in their qualifiers only. This will match similar behavior in c/c++ and fixes radar 7211653. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89220 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Use -fblocks and -fobjc-nonfragile-abi when that is what is being tested, ↵Daniel Dunbar
instead of forcing the triple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89072 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Don't #include <stdio.h> when tests don't need it, or use clang instead of ↵Daniel Dunbar
clang-cc when they do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Remove extra space in warn_maynot_respond diagnostic. Fixes ↵Ted Kremenek
<rdar://problem/7364274>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89013 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Handle case of missing '@end' in implementation contextFariborz Jahanian
gracefully, on par with gcc, by: Issuing a warning, doing final sematinc check of its definitions and generating its meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12Add <foo> = [<bar> nextObject] to the -Widiomatic-parentheses category,John McCall
and give that category an explicit test. Generalize the internal diagnostic name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86905 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-11writable atomic property's setter/getter must be in 'lock' step ofFariborz Jahanian
either both synthesized or bith user defined. Implements radar 6557233. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86887 91177308-0d34-0410-b5e6-96231b3b80d8