summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-11-19 07:32:16 +0000
committerChris Lattner <sabre@nondot.org>2008-11-19 07:32:16 +0000
commitb91fd17b7df7a0f7ee9f36cc65b204df08fd4624 (patch)
tree8cfbbd8a20766006a5e2add0378d0c17f16abd63 /clang/lib
parentf76c09dcaac5ff004c12d1c65c25bf4e781be060 (diff)
downloadbcm5719-llvm-b91fd17b7df7a0f7ee9f36cc65b204df08fd4624.tar.gz
bcm5719-llvm-b91fd17b7df7a0f7ee9f36cc65b204df08fd4624.zip
Allow sending IdentifierInfo*'s into Diagnostics without turning them into strings
first. This should allow removal of a bunch of II->getName() calls. llvm-svn: 59601
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Basic/Diagnostic.cpp6
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp2
2 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Basic/Diagnostic.cpp b/clang/lib/Basic/Diagnostic.cpp
index 9428b218e54..a25a790352e 100644
--- a/clang/lib/Basic/Diagnostic.cpp
+++ b/clang/lib/Basic/Diagnostic.cpp
@@ -12,6 +12,7 @@
//===----------------------------------------------------------------------===//
#include "clang/Basic/Diagnostic.h"
+#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
@@ -292,6 +293,11 @@ FormatDiagnostic(llvm::SmallVectorImpl<char> &OutStr) const {
OutStr.append(S.begin(), S.end());
break;
}
+ case DiagnosticInfo::ak_identifierinfo: {
+ const IdentifierInfo *II = getArgIdentifier(StrNo);
+ OutStr.append(II->getName(), II->getName() + II->getLength());
+ break;
+ }
}
DiagStr += 2;
}
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 90d3730f1e9..b62aa9a9d7f 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -234,7 +234,7 @@ void Sema::CheckCXXDefaultArguments(FunctionDecl *FD) {
if (Param->getIdentifier())
Diag(Param->getLocation(),
diag::err_param_default_argument_missing_name)
- << Param->getIdentifier()->getName();
+ << Param->getIdentifier();
else
Diag(Param->getLocation(),
diag::err_param_default_argument_missing);
OpenPOWER on IntegriCloud