summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/protocol-archane.m
Commit message (Collapse)AuthorAgeFilesLines
* C++ support for Objective-C lightweight generics.Douglas Gregor2015-07-071-0/+4
| | | | | | | | | | | | | | | | | | | Teach C++'s tentative parsing to handle specializations of Objective-C class types (e.g., NSArray<NSString *>) as well as Objective-C protocol qualifiers (id<NSCopying>) by extending type-annotation tokens to handle this case. As part of this, remove Objective-C protocol qualifiers from the declaration specifiers, which never really made sense: instead, provide Sema entry points to make them part of the type annotation token. Among other things, this properly diagnoses bogus types such as "<NSCopying> id" which should have been written as "id <NSCopying>". Implements template instantiation support for, e.g., NSArray<T>* in C++. Note that parameterized classes are not templates in the C++ sense, so that cannot (for example) be used as a template argument for a template template parameter. Part of rdar://problem/6294649. llvm-svn: 241545
* Fix warning text of my last patch.Fariborz Jahanian2013-02-281-3/+3
| | | | | | // rdar://13158394 llvm-svn: 176308
* objective-C: clang, following gcc, warns onFariborz Jahanian2013-02-281-3/+3
| | | | | | | | use of stand-alone protocol as type and uses id<proto>. Modify warning to say what compiler is doing. // rdar//13158394 llvm-svn: 176303
* Added a new attribute, objc_root_class, which informs the compiler when a ↵Patrick Beard2012-04-061-1/+1
| | | | | | | | | root class is intentionally declared. The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698> llvm-svn: 154187
* Fix crash when using archaic protocol, rdar://10238337Argyrios Kyrtzidis2011-10-051-0/+7
| | | | llvm-svn: 141215
* add a bunch of missing prototypes to testsChris Lattner2010-01-091-0/+1
| | | | llvm-svn: 93072
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - 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). llvm-svn: 91446
* Change tests to use clang -cc1...Fariborz Jahanian2009-12-141-1/+1
| | | | llvm-svn: 91297
* Fix <rdar://problem/6770276> Support Class<Proto> syntax.Steve Naroff2009-07-221-2/+1
| | | | llvm-svn: 76741
* Rename clang to clang-cc.Daniel Dunbar2009-03-241-1/+1
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* - Generate error for protocol qualifiers on 'Class'.Steve Naroff2009-02-231-1/+7
| | | | | | - Generate error for protocol qualifiers on non-ObjC types. llvm-svn: 65333
* Revert http://llvm.org/viewvc/llvm-project?view=rev&revision=65244.Steve Naroff2009-02-231-5/+0
| | | | | | Remove support for "Class<P>". Will be making this an error. llvm-svn: 65332
* Add support for GCC ObjC extension "Class<protocol>". Sigh.Steve Naroff2009-02-211-0/+5
| | | | | | | | Found while researching <rdar://problem/6497631> Message lookup is sometimes different than gcc's. Will never be seen in user code. Needed to pass dejagnu testsuite. llvm-svn: 65244
* Warn about bogus protocol qualifiers.Steve Naroff2009-02-211-1/+6
| | | | llvm-svn: 65241
* Make Sema::getTypeName return the opaque pointer of a QualType ratherDouglas Gregor2009-02-091-1/+1
| | | | | | | | | | | | | | | | 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. llvm-svn: 64141
* make the 'to match this' diagnostic a note.Chris Lattner2008-11-231-1/+1
| | | | llvm-svn: 59921
* Fix http://llvm.org/bugs/show_bug.cgi?id=2816.Steve Naroff2008-09-221-0/+10
| | | | llvm-svn: 56433
* remove objc prefixes from these tests.Chris Lattner2008-07-261-0/+14
llvm-svn: 54085
OpenPOWER on IntegriCloud