| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
blocks.
llvm-svn: 55468
|
|
|
|
|
|
| |
This commit adds the declaration syntax (and associated type).
llvm-svn: 55417
|
|
|
|
|
|
| |
finishes.
llvm-svn: 54840
|
|
|
|
|
|
|
| |
- Drop Diagnostic.h from DeclSpec.h, move utility Diag methods into
implementation .cpp
llvm-svn: 54626
|
|
|
|
| |
llvm-svn: 54585
|
|
|
|
|
|
| |
ActOnDeclarator.
llvm-svn: 54353
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- ActOnDeclarator now takes an additional parameter which is the
AsmLabel if used. Its unfortunate that this bubbles up this high,
but we cannot just lump it in as an attribute without mistakenly
*accepting* it as an attribute.
- The actual asm-label itself is, however, encoded as an AsmLabelAttr
on the FunctionDecl.
- Slightly improved parser error recovery on malformed asm-labels.
- CodeGen support still missing...
llvm-svn: 54339
|
|
|
|
|
|
|
|
| |
of DeclTy or void.
No functionality change.
llvm-svn: 54265
|
|
|
|
|
|
|
| |
This temporarily duplicates ParseObjCProtocolReferences, but it
will be removed in the future.
llvm-svn: 54092
|
|
|
|
| |
llvm-svn: 54091
|
|
|
|
| |
llvm-svn: 54089
|
|
|
|
| |
llvm-svn: 54088
|
|
|
|
|
|
| |
clients allocate the memory and it delete it.
llvm-svn: 54087
|
|
|
|
|
|
|
|
| |
1) reject stuff like "id<foo> short" and "<foo> short". 2) set
the declspec range correctly 3) only parse protocol qualifiers
when in objc mode.
llvm-svn: 54086
|
|
|
|
|
|
|
|
| |
like "id<foo>". This 1) fixes an infinite loop in the parser on things
like "short<foo>" 2) emits a warning about this bogus construct and 3)
changes the testcase to be substantially reduced.
llvm-svn: 54082
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a specific smallvector size.
Fix protocol lists to pass down proper location info, so we get diagnostics
like this:
t.m:3:35: error: cannot find protocol definition for 'NSCopying', referenced by 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
^
instead of this:
t.m:3:44: error: cannot find protocol definition for 'NSCopying', referenced by 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
^
Add a new IdentifierLocPair typedef which is just a pair<IdentifierInfo*, SourceLocation>
llvm-svn: 53883
|
|
|
|
|
|
| |
Patch by David Chisnall!
llvm-svn: 52586
|
|
|
|
|
|
|
|
|
|
| |
only documentation I could find on it).
/* Make "<SomeProtocol>" equivalent to "id <SomeProtocol>" - nisse@lysator.liu.se. */
This commit adds the parser magic. The type associated with <p> is still incorrect. Will discuss with Chris.
llvm-svn: 51972
|
|
|
|
|
|
|
| |
-identifierResolver exposes an iterator interface to get all decls through the scope chain.
-The semantic staff (checking IdentifierNamespace and Doug's checking for shadowed tags were moved out of IdentifierResolver and back into Sema. IdentifierResolver just gives an iterator for all reachable decls of an identifier.
llvm-svn: 50923
|
|
|
|
|
|
|
|
|
|
|
| |
inheritance in C++. It'll parse the base-specifier list, e.g.,
class D : public B1, virtual public B2 { };
and do some of the simpler semantic checks (B1 and B2 are classes;
they aren't unions or incomplete types, etc).
llvm-svn: 49623
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allows the parsing of "class" in addition to "struct" and "union" to
declare a record. So this patch allows:
class C { };
class C c1;
But it does not contain the lookup bits, so this won't work yet:
C c2;
Patch by Doug Gregor!
llvm-svn: 49613
|
|
|
|
|
|
| |
Doug Gregor!
llvm-svn: 49598
|
|
|
|
|
|
|
|
| |
1) objc ivar processing is split out of ActOnField into its own ActOnIvar method.
2) the new objc ivar action takes visibility info directly, eliminating
AllVisibilities in ParseObjCClassInstanceVariables.
llvm-svn: 49506
|
|
|
|
| |
llvm-svn: 49489
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarators. This allows the clients (C structs, objc classes, objc
properties, [future] C++ classes) etc, to do custom processing before invoking
an action.
This has two benefits in the short term:
1) objc ivar processing should be split out of ActOnField into its own ActOn method.
2) the new objc ivar action can take visibility info directly, eliminating
AllVisibilities in ParseObjCClassInstanceVariables.
3) objc properties can pass their own special sauce down to sema as well.
llvm-svn: 49468
|
|
|
|
| |
llvm-svn: 49467
|
|
|
|
|
|
| |
argument handling. I'll fix up the c89 (void) thing next.
llvm-svn: 49459
|
|
|
|
|
|
|
|
| |
interaction for function parameters, fixing PR2046.
Patch by Doug Gregor!
llvm-svn: 49369
|
|
|
|
| |
llvm-svn: 49273
|
|
|
|
|
|
| |
normal typed argument lists.
llvm-svn: 49272
|
|
|
|
| |
llvm-svn: 49271
|
|
|
|
| |
llvm-svn: 49270
|
|
|
|
| |
llvm-svn: 49269
|
|
|
|
|
|
| |
their own method.
llvm-svn: 49268
|
|
|
|
|
|
| |
handles function argument parens in declarators.
llvm-svn: 49265
|
|
|
|
| |
llvm-svn: 49264
|
|
|
|
|
|
|
| |
Since it is rare, the cost is not significant and we enjoy the
simplification.
llvm-svn: 49263
|
|
|
|
|
|
| |
subsuming) my patch for PR1999.
llvm-svn: 49251
|
|
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
|