diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2008-08-05 01:35:17 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2008-08-05 01:35:17 +0000 |
| commit | 4983df37a74714d99f2db3bb04919087f9328ecc (patch) | |
| tree | 732ef9e70ac76bfe86b6b3a20810e6c83284601b /clang/Driver/PrintParserCallbacks.cpp | |
| parent | 5aa55d51ca1df0c28dd91d65680e04091f53fdf3 (diff) | |
| download | bcm5719-llvm-4983df37a74714d99f2db3bb04919087f9328ecc.tar.gz bcm5719-llvm-4983df37a74714d99f2db3bb04919087f9328ecc.zip | |
Add more Parser/Sema support for GCC asm-label extension.
- 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
Diffstat (limited to 'clang/Driver/PrintParserCallbacks.cpp')
| -rw-r--r-- | clang/Driver/PrintParserCallbacks.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/Driver/PrintParserCallbacks.cpp b/clang/Driver/PrintParserCallbacks.cpp index fec13e39090..2de16144d5c 100644 --- a/clang/Driver/PrintParserCallbacks.cpp +++ b/clang/Driver/PrintParserCallbacks.cpp @@ -30,7 +30,7 @@ namespace { /// and 'Init' specifies the initializer if any. This is for things like: /// "int X = 4" or "typedef int foo". virtual DeclTy *ActOnDeclarator(Scope *S, Declarator &D, - DeclTy *LastInGroup) { + DeclTy *LastInGroup, ExprTy *AsmLabel) { llvm::cout << __FUNCTION__ << " "; if (IdentifierInfo *II = D.getIdentifier()) { llvm::cout << "'" << II->getName() << "'"; @@ -40,7 +40,7 @@ namespace { llvm::cout << "\n"; // Pass up to EmptyActions so that the symbol table is maintained right. - return MinimalAction::ActOnDeclarator(S, D, LastInGroup); + return MinimalAction::ActOnDeclarator(S, D, LastInGroup, AsmLabel); } /// ActOnPopScope - This callback is called immediately before the specified /// scope is popped and deleted. |

