diff options
author | Chris Lattner <sabre@nondot.org> | 2008-11-23 21:45:46 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-11-23 21:45:46 +0000 |
commit | e3d20d954503fef1256b50977f7e2c9507452c1e (patch) | |
tree | 8473d3824da844a9fcc3808aa798a1bdcf5b2b16 /clang/lib/Sema/SemaDeclCXX.cpp | |
parent | f7e69d5a77b21fd98e29df84411506527faa62b3 (diff) | |
download | bcm5719-llvm-e3d20d954503fef1256b50977f7e2c9507452c1e.tar.gz bcm5719-llvm-e3d20d954503fef1256b50977f7e2c9507452c1e.zip |
Convert IdentifierInfo's to be printed the same as DeclarationNames
with implicit quotes around them. This has a bunch of follow-on
effects and requires tweaking to a whole lot of code. This causes
a regression in two tests (xfailed) by causing it to emit things like:
Line 10: duplicate interface declaration for category 'MyClass1' ('Category1')
instead of:
Line 10: duplicate interface declaration for category 'MyClass1(Category1)'
I will fix this in a follow-up commit.
As part of this, I had to start switching stuff to use ->getDeclName() instead
of Decl::getName() for consistency. This is good, but I was planning to do this
as an independent patch. There will be several follow-on patches
to clean up some of the mess, but this patch is already too big.
llvm-svn: 59917
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index d65d6fff5e2..a92ad9582e0 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -75,7 +75,7 @@ namespace { // class member names. return S->Diag(DRE->getSourceRange().getBegin(), diag::err_param_default_argument_references_param) - << Param->getName() << DefaultArg->getSourceRange(); + << Param->getDeclName() << DefaultArg->getSourceRange(); } else if (VarDecl *VDecl = dyn_cast<VarDecl>(Decl)) { // C++ [dcl.fct.default]p7 // Local variables shall not be used in default argument @@ -83,7 +83,7 @@ namespace { if (VDecl->isBlockVarDecl()) return S->Diag(DRE->getSourceRange().getBegin(), diag::err_param_default_argument_references_local) - << VDecl->getName() << DefaultArg->getSourceRange(); + << VDecl->getDeclName() << DefaultArg->getSourceRange(); } return false; @@ -650,7 +650,7 @@ Sema::ActOnMemInitializer(DeclTy *ConstructorD, QualType BaseType = Context.getTypeDeclType((TypeDecl *)BaseTy); if (!BaseType->isRecordType()) return Diag(IdLoc, diag::err_base_init_does_not_name_class) - << BaseType.getAsString() << SourceRange(IdLoc, RParenLoc); + << BaseType << SourceRange(IdLoc, RParenLoc); // C++ [class.base.init]p2: // [...] Unless the mem-initializer-id names a nonstatic data @@ -1271,7 +1271,7 @@ Sema::DeclTy *Sema::ActOnStartNamespaceDef(Scope *NamespcScope, } else { // This is an invalid name redefinition. Diag(Namespc->getLocation(), diag::err_redefinition_different_kind) - << Namespc->getName(); + << Namespc->getDeclName(); Diag(PrevDecl->getLocation(), diag::err_previous_definition); Namespc->setInvalidDecl(); // Continue on to push Namespc as current DeclContext and return it. |