[cfe-commits] r91511 - /cfe/trunk/lib/Analysis/OSAtomicChecker.cpp

Ted Kremenek kremenek at apple.com
Tue Dec 15 22:03:24 PST 2009


Author: kremenek
Date: Wed Dec 16 00:03:24 2009
New Revision: 91511

URL: http://llvm.org/viewvc/llvm-project?rev=91511&view=rev
Log:
Teach OSAtomicChecker that a FunctionDecl's name isn't always a simple IdentifierInfo*.

Modified:
    cfe/trunk/lib/Analysis/OSAtomicChecker.cpp

Modified: cfe/trunk/lib/Analysis/OSAtomicChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/OSAtomicChecker.cpp?rev=91511&r1=91510&r2=91511&view=diff

==============================================================================
--- cfe/trunk/lib/Analysis/OSAtomicChecker.cpp (original)
+++ cfe/trunk/lib/Analysis/OSAtomicChecker.cpp Wed Dec 16 00:03:24 2009
@@ -44,11 +44,15 @@
   if (!FD)
     return false;
 
-  const char *FName = FD->getNameAsCString();
+  const IdentifierInfo *II = FD->getIdentifier();
+  if (!II)
+    return false;
+  
+  llvm::StringRef FName(II->getName());
 
   // Check for compare and swap.
-  if (strncmp(FName, "OSAtomicCompareAndSwap", 22) == 0 ||
-      strncmp(FName, "objc_atomicCompareAndSwap", 25) == 0)
+  if (FName.startswith("OSAtomicCompareAndSwap") ||
+      FName.startswith("objc_atomicCompareAndSwap"))
     return EvalOSAtomicCompareAndSwap(C, CE);
 
   // FIXME: Other atomics.





More information about the cfe-commits mailing list