| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 45905
|
|
|
|
|
|
| |
extern "C" in C++ mode. Patch by Mike Stump!
llvm-svn: 45904
|
|
|
|
| |
llvm-svn: 45834
|
|
|
|
|
|
|
| |
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
|
|
|
|
|
|
| |
suggestion.
llvm-svn: 45601
|
|
|
|
| |
llvm-svn: 45598
|
|
|
|
| |
llvm-svn: 45539
|
|
|
|
| |
llvm-svn: 45511
|
|
|
|
| |
llvm-svn: 45491
|
|
|
|
| |
llvm-svn: 45489
|
|
|
|
| |
llvm-svn: 45412
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
| |
llvm-svn: 45370
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tok.getIdentifierInfo()->getObjCKeywordID().
The later fails if the token is not an identifier.
- Replace tabs with spaces.
- Various other cleanups.
Patch by Nico Weber!
llvm-svn: 45368
|
|
|
|
| |
llvm-svn: 45149
|
|
|
|
|
|
| |
there is still work to do.
llvm-svn: 45135
|
|
|
|
| |
llvm-svn: 44978
|
|
|
|
| |
llvm-svn: 44964
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:
FullLoc.getManager().someMethod(FullLoc.getLocation());
instead we have:
FullLoc.someMethod();
Modified TextDiagnostics (and related classes) to use this short-hand.
llvm-svn: 44957
|
|
|
|
| |
llvm-svn: 44923
|
|
|
|
| |
llvm-svn: 44922
|
|
|
|
| |
llvm-svn: 44913
|
|
|
|
|
|
|
|
| |
this is passed to sema and ignored there, so the second part of the
string will not make it into the AST. Passing to Fariborz to finish
Sema + AST construction.
llvm-svn: 44898
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager is passed by reference, allowing the SourceManager to be
associated with a specific translation unit, and not the entire execution
of the driver.
Modified all users of Diagnostics to comply with this new interface.
Integrated SourceManager as a member variable of TargetInfo. TargetInfo will
eventually be associated with a single translation unit (just like
SourceManager).
Made the SourceManager reference in ASTContext private. Provided accessor
getSourceManager() for clients to use instead. Modified clients to comply with
new interface.
llvm-svn: 44878
|
|
|
|
|
|
| |
a method declaration.
llvm-svn: 44870
|
|
|
|
|
|
| |
"@class Protocol;"
llvm-svn: 44670
|
|
|
|
|
|
| |
(with no arguments) properly.
llvm-svn: 44636
|
|
|
|
| |
llvm-svn: 44496
|
|
|
|
| |
llvm-svn: 44488
|
|
|
|
|
|
|
| |
After a discussion with Ted, we both came to the conclusion that adding a "HandleTopLevelDeclaration" hook to ASConsumer is far more elegant. The default implementation of HandleTopLevelDeclaration will be responsible for iterating over the ScopedDecl (which has a chain of the decls:-).
TODO: Once Ted adds HandleTopLevelDeclaration, make sure TagDecls are chainged appropriately...
llvm-svn: 44445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following code...
typedef struct cssm_data {} CSSM_DATA, *CSSM_DATA_PTR;
struct Y { int A; };
struct X { int A; } D;
struct X E, F;
...now produces the following output...
> ../../Debug/bin/clang xx.c -ast-print
Read top-level tag decl: 'cssm_data'
typedef struct cssm_data CSSM_DATA;
typedef struct cssm_data *CSSM_DATA_PTR;
Read top-level tag decl: 'Y'
Read top-level tag decl: 'X'
Read top-level variable decl: 'D'
Read top-level variable decl: 'E'
Read top-level variable decl: 'F'
...which is much more accurate than the previous -ast-print output...
typedef struct cssm_data CSSM_DATA;
typedef struct cssm_data CSSM_DATA;
Read top-level variable decl: 'D'
Read top-level variable decl: 'E'
Read top-level variable decl: 'E'
llvm-svn: 44421
|
|
|
|
| |
llvm-svn: 44297
|
|
|
|
|
|
| |
AsmStmt. Ted, could you please review the serialization/deserialization code?
llvm-svn: 44266
|
|
|
|
| |
llvm-svn: 44265
|
|
|
|
| |
llvm-svn: 44255
|
|
|
|
| |
llvm-svn: 44172
|
|
|
|
| |
llvm-svn: 44171
|
|
|
|
|
|
|
|
| |
This fixes code like "if((bool)x) {}" for example.
Patch by Nate Begeman.
llvm-svn: 44159
|
|
|
|
|
|
| |
between method declarations and definitions.
llvm-svn: 44080
|
|
|
|
|
|
| |
variables.
llvm-svn: 44073
|
|
|
|
|
|
| |
is an expression.
llvm-svn: 44065
|
|
|
|
| |
llvm-svn: 44025
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This now exposes the following bug...
******************** TEST 'Sema/message.m' FAILED! ********************
Command:
clang -fsyntax-only -verify Sema/message.m
Output:
Errors seen but not expected:
Line 9: invalid receiver to message expression
******************** TEST 'Sema/message.m' FAILED! ********************
As far as I can tell, all messages to method agruments fail.
The method arguments are built by Sema::ObjcActOnStartOfMethodDef().
llvm-svn: 44022
|
|
|
|
|
|
| |
ActOnMethodDefBody) with 1 method definition action (ActOnFinishFunctionBody). I can't think of any reason that we would need two action hooks.
llvm-svn: 44000
|
|
|
|
|
|
|
|
| |
ParseObjCInstanceMethodDefinition, ParseObjCClassMethodDefinition) with 1 method definition function (ParseObjCMethodDefinition).
Less code/confusion.
llvm-svn: 43999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
about private methods (r43989).
While the diff is large, the idea is very simple. When we parse method definitions (in an @implementation), we need to add them incrementally (rather than wait until the @end).
Other details...
- Renamed Sema::ActOnAddMethodsToObjcDecl() to Sema::ActOnAtEnd(). The methods are now optional arguments.
- Removed Parser::AllImplMethods (a nice cleanup).
- Added location info to ObjcImplementationDecl (since we will need it very soon:-)
- Modified message.m test to no longer allow the bogus diagnostic.
llvm-svn: 43995
|
|
|
|
| |
llvm-svn: 43986
|
|
|
|
| |
llvm-svn: 43979
|
|
|
|
|
|
| |
process method definitions.
llvm-svn: 43967
|
|
|
|
|
|
| |
to 'self' method of instance methods.
llvm-svn: 43957
|