diff options
author | John McCall <rjmccall@apple.com> | 2010-08-26 23:41:50 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-08-26 23:41:50 +0000 |
commit | faf5fb4b78c79ba5ee3ecf30b44966b22979ab71 (patch) | |
tree | bca2ae0a495c577d87f1bae7612eba699312a8c7 /clang/lib/Sema/Sema.cpp | |
parent | e2e0b451d5b0cf19c3f60327c8c402df65a88f28 (diff) | |
download | bcm5719-llvm-faf5fb4b78c79ba5ee3ecf30b44966b22979ab71.tar.gz bcm5719-llvm-faf5fb4b78c79ba5ee3ecf30b44966b22979ab71.zip |
One who seeks knowledge learns something new every day.
One who seeks the Tao unlearns something new every day.
Less and less remains until you arrive at non-action.
When you arrive at non-action,
nothing will be left undone.
llvm-svn: 112244
Diffstat (limited to 'clang/lib/Sema/Sema.cpp')
-rw-r--r-- | clang/lib/Sema/Sema.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp index 2de4d28cab6..60e308a9824 100644 --- a/clang/lib/Sema/Sema.cpp +++ b/clang/lib/Sema/Sema.cpp @@ -20,6 +20,7 @@ #include "llvm/ADT/APFloat.h" #include "clang/Sema/CXXFieldCollector.h" #include "clang/Sema/ExternalSemaSource.h" +#include "clang/Sema/PrettyDeclStackTrace.h" #include "clang/Sema/Scope.h" #include "clang/Sema/ScopeInfo.h" #include "clang/Sema/SemaConsumer.h" @@ -555,3 +556,21 @@ BlockScopeInfo *Sema::getCurBlock() { // Pin this vtable to this file. ExternalSemaSource::~ExternalSemaSource() {} + +void PrettyDeclStackTraceEntry::print(llvm::raw_ostream &OS) const { + SourceLocation Loc = this->Loc; + if (!Loc.isValid() && TheDecl) Loc = TheDecl->getLocation(); + if (Loc.isValid()) { + Loc.print(OS, S.getSourceManager()); + OS << ": "; + } + OS << Message; + + if (TheDecl && isa<NamedDecl>(TheDecl)) { + std::string Name = cast<NamedDecl>(TheDecl)->getNameAsString(); + if (!Name.empty()) + OS << " '" << Name << '\''; + } + + OS << '\n'; +} |