summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseObjc.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Replaced bool parameters in SkipUntil function with single bit-based parameter.Alexey Bataev2013-11-181-25/+25
| | | | llvm-svn: 194994
* ObjectiveC: Handle the case of qualifying protocolsFariborz Jahanian2013-09-251-0/+3
| | | | | | | | | declared in a typedef declaraton used as super class of an ObjC class. Curretnly, these protocols are dropped from the class hierarchy. Test shows that it is now included. // rdar://15051465 llvm-svn: 191395
* This patch removes unused parameter allProperties and converts remainingFariborz Jahanian2013-07-161-4/+1
| | | | | | | parameters in ArrayRef'ize Sema::ActOnAtEnd to ArrayRef. Patch by Robert Wilhelm. llvm-svn: 186421
* ArrayRef'ize Sema::CodeComplete*Dmitri Gribenko2013-06-161-25/+13
| | | | | | Patch by Robert Wilhelm. llvm-svn: 184052
* address some comments on r183474:Adrian Prantl2013-06-071-3/+4
| | | | | | | | | | - factor the name construction part out from constructSetterName - rename constructSetterName to the more appropriate constructSetterSelector no functionality change intended. rdar://problem/14035789 llvm-svn: 183582
* Objective-C parsing. Error recovery when category implementationFariborz Jahanian2013-05-171-0/+6
| | | | | | declaration is illegally protocol qualified. // rdar://13920026 llvm-svn: 182136
* Fix a typo in a parse assert.Fariborz Jahanian2013-04-291-1/+1
| | | | | | Patch by Alex Denisov. llvm-svn: 180712
* Objective-C parsing [qoi]: Recover gracefully with good diagnosticFariborz Jahanian2013-04-241-0/+7
| | | | | | | when class implementation declaration adds protocol qualifier list. // rdar://12233858 llvm-svn: 180228
* Objective-C++: Enable passing of modern C++11 style Fariborz Jahanian2013-04-181-1/+8
| | | | | | | initialized temporaries to objc++ methods. // rdar://12788429 llvm-svn: 179818
* Objective-C parsing [qoi]: Provide good recovery whenFariborz Jahanian2013-04-181-1/+3
| | | | | | | Objective-C dictionary literals has bad syntax for the separator. // rdar://10679157 llvm-svn: 179784
* Make the ObjC attributes diagnostics a bit more informative.Nico Weber2013-04-041-6/+10
| | | | llvm-svn: 178720
* Emit a nicer diagnostic for misplaced attributes on ObjC directives.Nico Weber2013-04-031-0/+15
| | | | llvm-svn: 178670
* [Parser] Don't code-complete twice.Argyrios Kyrtzidis2013-03-271-1/+1
| | | | | | | | | | | | | | | When we are consuming the current token just to enter a new token stream, we push the current token in the back of the stream so that we get it again. Unfortunately this had the effect where if the current token is a code-completion one, we would code-complete once during consuming it and another time after the stream ended. Fix this by making sure that, in this case, ConsumeAnyToken() will consume a code-completion token without invoking code-completion. rdar://12842503 llvm-svn: 178199
* Do the error recovery for @end only.Fariborz Jahanian2013-03-201-4/+7
| | | | | | | | I am not sure how much we can improve for when a randon ObjC keyword is thrown into the ivar decl. block. // rdar://6854840 llvm-svn: 177553
* Objective-C [qoi] more gracefull recovery when Fariborz Jahanian2013-03-201-17/+28
| | | | | | | '}' is missing for the ivar declarations. // rdar://6854840 llvm-svn: 177549
* Objective-C [qoi]: Provide improved parse diagnostics whenFariborz Jahanian2013-03-191-0/+4
| | | | | | | | | closing rbrace is missing in an ObjC class declaration. Can do beter than this, but it involves addition of overhead which will be present in correct code. // rdar://6854840 llvm-svn: 177435
* Use None rather than Optional<T>() where possible.David Blaikie2013-02-211-1/+1
| | | | llvm-svn: 175705
* Include llvm::Optional in clang/Basic/LLVM.hDavid Blaikie2013-02-201-1/+1
| | | | | | Post-commit CR feedback from Jordan Rose regarding r175594. llvm-svn: 175679
* Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h.Jordan Rose2013-02-081-1/+2
| | | | | | | Nearly all of these changes are one-to-one replacements; the few that aren't have to do with custom identifier validation. llvm-svn: 174768
* Finish semantic analysis for [[carries_dependency]] attribute.Richard Smith2013-01-281-2/+2
| | | | | | | | | | This required plumbing through a new flag to determine whether a ParmVarDecl is actually a parameter of a function declaration (as opposed to a function typedef etc, where the attribute is prohibited). Weirdly, this attribute (just like [[noreturn]]) cannot be applied to a function type, just to a function declaration (and its parameters). llvm-svn: 173726
* objectiveC (take two): don't warn when in -Wselector mode andFariborz Jahanian2013-01-221-24/+5
| | | | | | | an unimplemented selector is consumed by "respondsToSelector:". // rdar://12938616 llvm-svn: 173179
* objectiveC: don't warn when in -Wselector mode andFariborz Jahanian2013-01-211-3/+22
| | | | | | | an unimplemented selector is consumed by "respondsToSelector:". // rdar://12938616 llvm-svn: 173097
* Refactor to call ActOnFinishFullExpr on every full expression. TeachRichard Smith2013-01-141-1/+1
| | | | | | | | ActOnFinishFullExpr that some of its checks only apply to discarded-value expressions. This adds missing checks for unexpanded variadic template parameter packs to a handful of constructs. llvm-svn: 172485
* s/CXX0X/CXX11/g, except for __GNU_EXPERIMENTAL_CXX0X__, and update a few ↵Richard Smith2013-01-021-1/+1
| | | | | | nearby 'C++0x' comments. llvm-svn: 171372
* Remove some remnants of OwningExprResult / OwningStmtResult.Nico Weber2012-12-311-20/+17
| | | | | | | These got deleted late 2010 during the Actions/Sema unification. No functionality change. llvm-svn: 171269
* Don't require a space between the two ">" in "vector<id<protocol>>" in objc++11.Nico Weber2012-12-141-5/+1
| | | | | | | | C++11 allowed writing "vector<vector<int>>" without a space between the two ">". This change allows this for protocols in template lists too in -std=c++11 mode, and improves the diagnostic in c++98 mode. llvm-svn: 170223
* Use @import rather than @__experimental_modules_import, since theDouglas Gregor2012-12-111-1/+1
| | | | | | latter is rather a mess to type. llvm-svn: 169919
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-1/+1
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* objective-C: improve on warnings about misplacement of methodFariborz Jahanian2012-09-171-20/+4
| | | | | | argument names. // rdar://12263549 llvm-svn: 164077
* objective-C: issue warning when there is no whitespaceFariborz Jahanian2012-09-171-1/+25
| | | | | | | between objc method parameter name and colon. // rdar://12263549 llvm-svn: 164047
* Fix a couple of Doxygen issues pointed out by -Wdocumentation.Dmitri Gribenko2012-09-121-2/+2
| | | | llvm-svn: 163722
* Revert "objective-C: warn under a flag if missing argument"Ted Kremenek2012-09-121-14/+3
| | | | | | | We plan on discussing this more, but we shouldn't have it in the compiler in an incomplete state. llvm-svn: 163720
* Revert "objective-C: warn if selector has nothing but bare"Ted Kremenek2012-09-121-7/+2
| | | | | | We plan on discussing this more. llvm-svn: 163719
* objective-C: warn if selector has nothing but bareFariborz Jahanian2012-09-111-2/+7
| | | | | | ':' in its name. // rdar://8366823 llvm-svn: 163650
* objective-C: warn under a flag if missing argumentFariborz Jahanian2012-09-111-3/+14
| | | | | | | name results in unintended selector name. // rdar://12263549 llvm-svn: 163634
* Remove ASTOwningVector, it doesn't own anything and provides no value over ↵Benjamin Kramer2012-08-231-18/+9
| | | | | | SmallVector. llvm-svn: 162492
* Rip out remnants of move semantic emulation and smart pointers in Sema.Benjamin Kramer2012-08-231-13/+13
| | | | | | | These were nops for quite a while and only lead to confusion. ASTMultiPtr now behaves like a proper dumb array reference. llvm-svn: 162475
* objective-C++: dalyed parsing of ctors with memberFariborz Jahanian2012-08-101-6/+16
| | | | | | | initializer list defined inside an objc class implementation. wip llvm-svn: 161699
* objective-C++: delay parsing of ctor with try blockFariborz Jahanian2012-08-101-0/+10
| | | | | | | with member initializer list defined inside an objc implementation block. wip. llvm-svn: 161692
* objective-C++: delayed parsing of member function withFariborz Jahanian2012-08-101-4/+15
| | | | | | | function-try-block occuring in objc's implementation block. wip. llvm-svn: 161675
* objective-C: refactoring of objc's delayed parsing.Fariborz Jahanian2012-08-091-22/+3
| | | | llvm-svn: 161620
* objective-C: minor refactoring in methodFariborz Jahanian2012-08-091-9/+4
| | | | | | definition parsing logic. llvm-svn: 161593
* Minor simplification for r161534.Eli Friedman2012-08-081-6/+4
| | | | llvm-svn: 161544
* objective-C: refactor/simplify parsing of delayedFariborz Jahanian2012-08-081-1/+4
| | | | | | | method/c-funcs defined in objc class implementation. No intended functionality change. llvm-svn: 161540
* PR13558: Fix typo 'compatiblity'. Thinking of the children. Apparently.Richard Smith2012-08-081-2/+2
| | | | llvm-svn: 161537
* Handle deprecation diagnostics correctly for C struct fields and Objective-C ↵Eli Friedman2012-08-081-4/+6
| | | | | | properties/ivars. <rdar://problem/6642337>. llvm-svn: 161534
* objective-c parsing. Don't crash when selector nameFariborz Jahanian2012-07-261-5/+5
| | | | | | is missing in method prototype. // rdar://11939584 llvm-svn: 160789
* objective-c: provide fixit hint for @autoreleasepoolFariborz Jahanian2012-07-091-2/+17
| | | | | | and similar other keywords. // rdar://10723084 llvm-svn: 159956
* objective-c: just as we have done for method definitions,Fariborz Jahanian2012-07-021-22/+41
| | | | | | | | c-functions declared in implementation should have their parsing delayed until the end so, they can access forward declared private methods. // rdar://10387088 llvm-svn: 159626
* Clean up a large number of C++11 attribute parse issues, including parsingAlexis Hunt2012-06-231-1/+1
| | | | | | | | | | | | | | | | | | attributes in more places where we didn't and catching a lot more issues. This implements nearly every aspect of C++11 attribute parsing, except for: - Attributes are permitted on explicit instantiations inside the declarator (but not preceding the decl-spec) - Attributes are permitted on friend declarations of functions. - Multiple instances of the same attribute in an attribute-list (e.g. [[noreturn, noreturn]], not [[noreturn]] [[noreturn]] which is conforming) are allowed. The first two are marked as expected-FIXME in the test file and the latter is probably a defect and is currently untested. Thanks to Richard Smith for providing the lion's share of the testcases. llvm-svn: 159072
OpenPOWER on IntegriCloud