summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse
Commit message (Collapse)AuthorAgeFilesLines
...
* Parser support for inline namespacesSebastian Redl2010-08-273-10/+36
| | | | llvm-svn: 112320
* handle :: in selectors in objc++ mode, rdar://8366474Chris Lattner2010-08-271-3/+7
| | | | llvm-svn: 112307
* Suggest "const" and "volatile" code completions after a functionDouglas Gregor2010-08-271-0/+5
| | | | | | declarator, the very definition of "low-hanging fruit". llvm-svn: 112274
* Fix CMake dependencies, from Fernando Pelliccioni!Douglas Gregor2010-08-271-1/+1
| | | | llvm-svn: 112261
* Propagate whether an id-expression is the immediate argument ofJohn McCall2010-08-272-16/+7
| | | | | | | | | | | | | | | | | | | an '&' expression from the second caller of ActOnIdExpression. Teach template argument deduction that an overloaded id-expression doesn't give a valid type for deduction purposes to a non-static member function unless the expression has the correct syntactic form. Teach ActOnIdExpression that it shouldn't try to create implicit member expressions for '&function', because this isn't a permitted form of use for member functions. Teach CheckAddressOfOperand to diagnose these more carefully. Some of these cases aren't reachable right now because earlier diagnostics interrupt them. llvm-svn: 112258
* One who seeks knowledge learns something new every day.John McCall2010-08-2612-133/+129
| | | | | | | | | One who seeks the Tao unlearns something new every day. Less and less remains until you arrive at non-action. When you arrive at non-action, nothing will be left undone. llvm-svn: 112244
* Implement code completion for @selector expressionsDouglas Gregor2010-08-261-0/+18
| | | | llvm-svn: 112186
* Initialize the translation-unit scope before lexing the firstDouglas Gregor2010-08-251-4/+4
| | | | | | | token. The first token might be something that ends up triggering code completion, which in turn requires a valid Scope. Test case forthcoming. llvm-svn: 112066
* Introduce a preprocessor code-completion hook for contexts where weDouglas Gregor2010-08-251-0/+4
| | | | | | | expect "natural" language and should not provide any completions, e.g., comments, string literals, #error. llvm-svn: 112054
* Remove Sema.h's dependency on DeclCXX.h.John McCall2010-08-251-0/+1
| | | | llvm-svn: 112032
* Reformatting.John McCall2010-08-251-3/+3
| | | | llvm-svn: 112018
* Preserve invalidity of typeof operands in C++.John McCall2010-08-241-1/+2
| | | | llvm-svn: 111999
* Implement code completion for preprocessor expressions and in macroDouglas Gregor2010-08-241-2/+13
| | | | | | arguments. llvm-svn: 111976
* Implement preprocessor code completion where a macro name is expected,Douglas Gregor2010-08-241-0/+4
| | | | | | | e.g., after #ifdef/#ifndef or #undef, or inside a defined <macroname> expression in a preprocessor conditional. llvm-svn: 111954
* Introduce basic code-completion support for preprocessor directives,Douglas Gregor2010-08-241-0/+13
| | | | | | e.g., after a "#" we'll suggest #if, #ifdef, etc. llvm-svn: 111943
* Parse all kinds of declarations as part of a linkage-specification,Douglas Gregor2010-08-242-3/+7
| | | | | | from Francois Pichet! Fixes PR7754. llvm-svn: 111912
* OwningExprResult -> ExprResult. This patch brought to you byJohn McCall2010-08-2411-201/+200
| | | | | | | M-x query-replace-regexp \(Sema::\|Action::\|Parser::\|\)Owning\(Expr\|Stmt\)Result -> \2Result llvm-svn: 111903
* Abstract out passing around types and kill off ActionBase.John McCall2010-08-248-142/+152
| | | | llvm-svn: 111901
* Provide code completion results for the context-sensitive Objective-CDouglas Gregor2010-08-241-5/+10
| | | | | | keywords "in", "out", "inout", "byref", "bycopy", and "oneway". llvm-svn: 111884
* Kill off ExprArg (now just Expr*) and StmtArg (now just Stmt*).John McCall2010-08-2310-149/+140
| | | | llvm-svn: 111863
* Handling remaining rule for synthesize bitfields inFariborz Jahanian2010-08-231-1/+2
| | | | | | | | class extensions (nonfragile-abi2).For every class @interface and class extension @interface, if the last ivar is a bitfield of any type, then add an implicit `char :0` ivar to the end of that interface. llvm-svn: 111857
* Introduce a code-completion hook for the Objective-C collectionDouglas Gregor2010-08-231-0/+10
| | | | | | | | argument in a for-each statement (e.g., "for (id x in <blah>)"), which restricts the expression completions provided to Objective-C types (or class types in C++). llvm-svn: 111843
* Introduce a new code-completion point when we're parsing aDouglas Gregor2010-08-232-18/+37
| | | | | | | | | declarator. Here, we can only see a few things (e.g., cvr-qualifiers, nested name specifiers) and we do not want to provide other non-macro completions. Previously, we would end up in recovery mode and would provide a large number of non-relevant completions. llvm-svn: 111818
* When complaining about a duplicate declspec, provide a Fix-It thatDouglas Gregor2010-08-231-1/+6
| | | | | | | removes the copy. Patch from Eelis van der Weegen, tweaked/updated by me. llvm-svn: 111807
* Push DeclGroupRefs and TemplateNames in an opaque but type-safe wayJohn McCall2010-08-234-8/+8
| | | | | | through the parser. llvm-svn: 111800
* Kill off Parser::TemplateParameterList to avoid misparses.John McCall2010-08-231-4/+4
| | | | llvm-svn: 111796
* Sundry incremental steps towards killing off Action.John McCall2010-08-239-53/+55
| | | | llvm-svn: 111795
* DeclPtrTy -> Decl *John McCall2010-08-218-225/+221
| | | | llvm-svn: 111733
* Another step in the process of making the parser depend on Sema:John McCall2010-08-2017-879/+142
| | | | | | | | | - move DeclSpec &c into the Sema library - move ParseAST into the Parse library Reflect this change in a thousand different includes. Reflect this change in the link orders. llvm-svn: 111667
* Get rid of extra nesting when checking for invalid type,Fariborz Jahanian2010-08-171-5/+5
| | | | | | per Doug's comment. llvm-svn: 111328
* Diagnose if type of iboutletcollection attribute is a builtin type.Fariborz Jahanian2010-08-171-2/+4
| | | | llvm-svn: 111324
* Add a slightly better hack for microsoft style inline asm, Chris Lattner2010-08-171-2/+2
| | | | | | patch by Per Linden! llvm-svn: 111235
* Fix a crash when parsing malformed out-of-line member function Fariborz Jahanian2010-08-161-1/+4
| | | | | | definition. radar 8307865. llvm-svn: 111163
* -Make TokenID of IdentifierInfo read-only, remove setTokenID().Argyrios Kyrtzidis2010-08-111-2/+2
| | | | | | | | -There are 2 instances that change the TokenID for GNU libstdc++ 4.2 compatibility. To handler those cases introduce a RevertedTokenID bitfield, RevertTokenIDToIdentifier() and hasRevertedTokenIDToIdentifier() methods. Store the bitfield in PCH. llvm-svn: 110868
* Once code completion has completed, pass a "completion context" on toDouglas Gregor2010-08-116-19/+19
| | | | | | | the code-completion consumer. The consumer can use this information to augument, filter, or display the code-completion results. llvm-svn: 110858
* Added vecreturn attribute parsing.John Thompson2010-08-091-0/+1
| | | | llvm-svn: 110609
* Change warning about incomplete parsing of C++ default arg to error and ↵Argyrios Kyrtzidis2010-08-091-6/+2
| | | | | | provide a test case; thanks Doug! llvm-svn: 110603
* Replace a parser assertion with a warning, suggestion by Doug.Argyrios Kyrtzidis2010-08-091-3/+8
| | | | llvm-svn: 110568
* The pre-increment/pre-decrement grammar in C++ differs from that in C,Douglas Gregor2010-08-061-4/+8
| | | | | | | but we were parsing the C grammar. Handle the C++ grammar appropriately. Fixes PR7794. llvm-svn: 110445
* Template keyword should not be ignored building a QualifiedTemplateName.Abramo Bagnara2010-08-063-8/+15
| | | | llvm-svn: 110441
* Introduce a new token kind 'cxx_defaultarg_end' to mark the end of C++ ↵Argyrios Kyrtzidis2010-08-062-2/+14
| | | | | | | | | | | | | | | | default arguments that were part of lexed method declarations. This avoid interference with tokens coming after the point where the default arg tokens were 'injected', e.g. for typedef struct Inst { void m(int x=0); } *InstPtr; when parsing '0' the next token would be '*' and things would be messed up. llvm-svn: 110436
* Remove ElseScope which is also dead code now.Nick Lewycky2010-08-061-6/+0
| | | | llvm-svn: 110433
* Allow multiple __declspec attributes after a class-key.John McCall2010-08-051-1/+1
| | | | | | Patch by Francois Pichet! llvm-svn: 110344
* Implement #pragma GCC visibility.Eli Friedman2010-08-053-0/+67
| | | | llvm-svn: 110315
* Parser: Add support for #pragma align, which is just another spelling of #pragmaDaniel Dunbar2010-07-313-13/+40
| | | | | | options align. llvm-svn: 109952
* After a lengthy design discussion, add support for "ownership attributes" ↵Ted Kremenek2010-07-311-0/+3
| | | | | | for malloc/free checking. Patch by Andrew McGregor! llvm-svn: 109939
* Fixed typedef inside extern "C".Abramo Bagnara2010-07-302-3/+19
| | | | llvm-svn: 109865
* Improve error recovery when presented with an ill-formed template-idJohn McCall2010-07-301-5/+9
| | | | | | | | (e.g. due to a broken template argument) following template parameters. Fixes rdar://problem/8254267 llvm-svn: 109853
* Reword the empty struct/union warning in C to note that such structs and ↵Douglas Gregor2010-07-291-2/+2
| | | | | | unions have size 0 in C, size 1 in C++. Put this warning under -Wc++-compat. llvm-svn: 109748
* The grammar for GNU typeof in C requires an expression to beDouglas Gregor2010-07-281-4/+7
| | | | | | | | | | | | | parenthesized, unlike in C++, e.g., C has: typeof ( expression) C++ has: typeof unary-expression So, once we've parsed a parenthesized expression after typeof, we should only go on to parse the postfix expression suffix if we're in C++. Fixes <rdar://problem/8237491>. llvm-svn: 109606
OpenPOWER on IntegriCloud