[cfe-commits] r91510 - /cfe/trunk/lib/Analysis/NoReturnFunctionChecker.cpp
Ted Kremenek
kremenek at apple.com
Tue Dec 15 21:58:28 PST 2009
Author: kremenek
Date: Tue Dec 15 23:58:28 2009
New Revision: 91510
URL: http://llvm.org/viewvc/llvm-project?rev=91510&view=rev
Log:
Teach NoReturnFunctionChecker that FunctionDecl::getIdentifier() is not guaranteed to return a non-null IdentifierInfo*.
Modified:
cfe/trunk/lib/Analysis/NoReturnFunctionChecker.cpp
Modified: cfe/trunk/lib/Analysis/NoReturnFunctionChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/NoReturnFunctionChecker.cpp?rev=91510&r1=91509&r2=91510&view=diff
==============================================================================
--- cfe/trunk/lib/Analysis/NoReturnFunctionChecker.cpp (original)
+++ cfe/trunk/lib/Analysis/NoReturnFunctionChecker.cpp Tue Dec 15 23:58:28 2009
@@ -45,13 +45,12 @@
if (FD->getAttr<NoReturnAttr>() || FD->getAttr<AnalyzerNoReturnAttr>())
BuildSinks = true;
- else {
+ else if (const IdentifierInfo *II = FD->getIdentifier()) {
// HACK: Some functions are not marked noreturn, and don't return.
// Here are a few hardwired ones. If this takes too long, we can
// potentially cache these results.
- using llvm::StringRef;
BuildSinks
- = llvm::StringSwitch<bool>(StringRef(FD->getIdentifier()->getName()))
+ = llvm::StringSwitch<bool>(llvm::StringRef(II->getName()))
.Case("exit", true)
.Case("panic", true)
.Case("error", true)
More information about the cfe-commits
mailing list