aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC
AgeCommit message (Collapse)Author
2009-02-16update expected-warning line.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-14Add support for deprecated Obj-C methods. The semantics mostly match what ↵Anders Carlsson
gcc has. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64562 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-14add parser and type checking support for attribute((objc_exception)).Chris Lattner
We don't have "zero cost" exceptions for ObjC yet, so there is no codegen support required. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64546 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-14rename testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64545 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-12Fix <rdar://problem/6499801> clang does not detect objc type mismatch in ↵Steve Naroff
conditional expr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64393 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-12Turn warning into error. Minor incompatibility with GCC (for scalar types, ↵Steve Naroff
GCC only produces a warning). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11Remove some non-ascii characters. Thanks Gabor.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64330 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11Fix <rdar://problem/6505139> [clang on growl]: need to allow unnamed ↵Steve Naroff
selectors as the first argument git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64320 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11Fix <rdar://problem/6243503> [sema] @throw; accepted outside catch block.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64318 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11Fix <rdar://problem/6206858> [sema] type check @throw statements.Steve Naroff
Added a FIXME to handle 'rethrow' check. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64308 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09Make Sema::getTypeName return the opaque pointer of a QualType ratherDouglas Gregor
than a Decl, which gives us some more flexibility to express the results with the type system. There are no clients using this flexibility yet, but it's meant to be able to describe qualified names as written in the source (e.g., "foo::type") or template-ids that name a class template specialization (e.g., "std::vector<INT>"). DeclSpec's TST_typedef has become TST_typename, to reflect its use to describe types found by name (that may or may not be typedefs). The type representation of a DeclSpec with TST_typename is an opaque QualType pointer. All users of TST_typedef, both direct and indirect, have been updated for these changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64141 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07Make one expected-diag directive match exactly one actual diagnostic.Sebastian Redl
This uncovers some bugs, so several test cases now fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64025 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06Add sub-testcase where we process Cocoa.h using --disable-free (i.e., test ↵Ted Kremenek
the usage of the BumpPtrAllocator in ASTContext). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04Fix <rdar://problem/6552648> error: redefinition of ↵Steve Naroff
'XCElementAnchorDelegate' as different kind of symbol. At first glance, this looked like a recent regression (possibly created by http://llvm.org/viewvc/llvm-project?view=rev&revision=63354, which was the only recent change to this section of Sema::ActOnStartClassInterface()). After more investigation, it looks like an edge case bug that we didn't cover in our tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63738 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21Fix <rdar://problem/6512717> by correctly reading the right offset in the ↵Ted Kremenek
token data in PTHLexer::getSourceLocation(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62725 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19Type of property and its ivar is more restrictiveFariborz Jahanian
that rules for assignment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62524 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19Centralize error reporting of improper uses of incomplete types in theDouglas Gregor
new DiagnoseIncompleteType. It provides additional information about struct/class/union/enum types when possible, either by pointing to the forward declaration of that type or by pointing to the definition (if we're in the process of defining that type). Fixes <rdar://problem/6500531>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62521 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19Patch to allow @dynamic synthesis of property in a category,Fariborz Jahanian
with @synthesize being illegal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62515 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17Diagnose when method parameter is an object.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16Don't ICE (issue diagnostics) when receiver is a non-objcFariborz Jahanian
type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16Don't ICE on user redeclaration of objc's built-in types.Fariborz Jahanian
Issue diagnostics instead if types do not match. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62349 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13Implemenent objective-c's NSObject attribute as a way of ddeclaraing c-typeFariborz Jahanian
objects as an objective-c object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62197 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12Implement support for anonymous structs and unions in C. Both C andDouglas Gregor
C++ handle anonymous structs/unions in the same way. Addresses several bugs: <rdar://problem/6259534> <rdar://problem/6481130> <rdar://problem/6483159> The test case in PR clang/1750 now passes with -fsyntax-only, but CodeGen for inline assembler still fails. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62112 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12Patch to supprt case of readonly property being Fariborz Jahanian
assigned to when it has user declared setter method defined in the class implementation (but no declaration in the class itself). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62098 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12Properly set the scope of non-fields declared within a struct, union,Douglas Gregor
or enum to be outside that struct, union, or enum. Fixes several regressions: <rdar://problem/6487662> <rdar://problem/6487669> <rdar://problem/6487684> <rdar://problem/6487702> PR clang/3305 PR clang/3312 There is still some work to do in Objective-C++, but this requires that each of the Objective-C entities (interfaces, implementations, etc.) to be introduced into the context stack with PushDeclContext/PopDeclContext. This will be a separate fix, later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62091 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-10Explicit declaration of property setters over-rideFariborz Jahanian
prohibition of 'readonly' properties in an assignment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62028 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09This patch removes mergeProperties and does the property lookupFariborz Jahanian
in designated protocols lazily. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62007 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09Fix crash on null deference when searching for readwrite properties inDaniel Dunbar
categories. - Also, simplify nesting via early return. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61968 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09Re-enable PTH testing for Cocoa.h and Carbon.h (and include testing for ↵Ted Kremenek
Objective-C++). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61965 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09Temporarily revert r61956 and r61957 (PTH tests failing).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08Enhance -fsyntax-only test of Cocoa.h to also include testing for PTH.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08Place warning about 'readonly' property attributes whichFariborz Jahanian
are related to setter syntax under -Wreadonly-setter-attrs to prevent warnings in projects built with gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08Unify the code for defining tags in C and C++, so that we alwaysDouglas Gregor
introduce a Scope for the body of a tag. This reduces the number of semantic differences between C and C++ structs and unions, and will help with other features (e.g., anonymous unions) in C. Some important points: - Fields are now in the "member" namespace (IDNS_Member), to keep them separate from tags and ordinary names in C. See the new test in Sema/member-reference.c for an example of why this matters. In C++, ordinary and member name lookup will find members in both the ordinary and member namespace, so the difference between IDNS_Member and IDNS_Ordinary is erased by Sema::LookupDecl (but only in C++!). - We always introduce a Scope and push a DeclContext when we're defining a tag, in both C and C++. Previously, we had different actions and different Scope/CurContext behavior for enums, C structs/unions, and C++ structs/unions/classes. Now, it's one pair of actions. (Yay!) There's still some fuzziness in the handling of struct/union/enum definitions within other struct/union/enum definitions in C. We'll need to do some more cleanup to eliminate some reliance on CurContext before we can solve this issue for real. What we want is for something like this: struct X { struct T { int x; } t; }; to introduce T into translation unit scope (placing it at the appropriate point in the IdentifierResolver chain, too), but it should still have struct X as its lexical declaration context. PushOnScopeChains isn't smart enough to do that yet, though, so there's a FIXME test in nested-redef.c git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61940 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07Don't ICE when messaging on 'super' receiver when classFariborz Jahanian
of category implementation is undeclared. Issue error instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61882 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-27add RUN lineNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61452 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-23Add some block-pointer conversions in C++Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61359 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-22Patch to remove bogus warning in case of @dynamicFariborz Jahanian
property in a category and to issue diagnostics for mismatch method in some other cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61336 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Fix for PR3234Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61245 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Fix http://llvm.org/bugs/show_bug.cgi?id=3189.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61202 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Consolidated property check into property-typecheck-1.m file.Fariborz Jahanian
Improved on property diagnostics. Added a FIXME per Steve's comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61141 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Fix <rdar://problem/6450964> clang on xcode: Assertion failed: ↵Steve Naroff
(RecordForDecl && "lookupFieldDeclForIvar no storage for class"). This was a recent regression caused by r61043 (related to code gen. for ivar references). Fariborz, please review. I have some other concerns related to code generation for ivars that we can discuss later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61134 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Semantics of @protocol attributes.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61114 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16Patch to check for ObjC's property type.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61090 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16Diagnose that ivars in current and super class may notFariborz Jahanian
be duplicates and a test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61068 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10The "real" fix for <rdar://problem/6424347> clang on xcode: Assertion ↵Steve Naroff
failed: (0 && "unexpected type"), function mergeTypes, Commit r60845 was premature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60852 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10Fix <rdar://problem/6424347> clang on xcode: Assertion failed: (0 && ↵Steve Naroff
"unexpected type"), function mergeTypes, git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60845 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10Fix <rdar://problem/6418623> Bogus block type compatibility warning.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60842 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09Prevent bogus warning on unimplemented setter/getter when userFariborz Jahanian
has added declaration of these methods in its @interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60803 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09Add testcase for commit r60781.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60793 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-08ObjCInterfaceDecl::lookupInstanceMethod() needs to look through a categories ↵Steve Naroff
protocols. Fixes <rdar://problem/6418640> clang on prokit: error: incompatible type returning 'id', expected 'NSSize' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60716 91177308-0d34-0410-b5e6-96231b3b80d8