]> granicus.if.org Git - clang/commitdiff
Incorporate some feedback from Chris...
authorSteve Naroff <snaroff@apple.com>
Wed, 24 Oct 2007 01:09:48 +0000 (01:09 +0000)
committerSteve Naroff <snaroff@apple.com>
Wed, 24 Oct 2007 01:09:48 +0000 (01:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43285 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/RewriteTest.cpp
Lex/Preprocessor.cpp

index 42b5940e193c556eab43184d38ccd8ba014120a4..cfa794619d46b7a08d56502644b67d37cd7d668a 100644 (file)
@@ -40,6 +40,7 @@ namespace {
       SM = &Context->SourceMgr;
       MainFileID = mainFileID;
       MsgSendFunctionDecl = 0;
+      GetClassFunctionDecl = 0;
       Rewrite.setSourceMgr(Context->SourceMgr);
     }
     
@@ -74,9 +75,9 @@ void RewriteTest::HandleTopLevelDecl(Decl *D) {
 
   // Look for built-in declarations that we need to refer during the rewrite.
   if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
-    if (FD->getIdentifier() == &Context->Idents.get("objc_msgSend"))
+    if (strcmp(FD->getName(), "objc_msgSend") == 0)
       MsgSendFunctionDecl = FD;
-    else if (FD->getIdentifier() == &Context->Idents.get("objc_getClass"))
+    else if (strcmp(FD->getName(), "objc_getClass") == 0)
       GetClassFunctionDecl = FD;
   }
   if (SM->getDecomposedFileLoc(Loc).first == MainFileID)
@@ -185,8 +186,7 @@ void RewriteTest::RewriteForwardClassDecl(ObjcClassDecl *ClassDecl) {
   // Get the start location and compute the semi location.
   SourceLocation startLoc = ClassDecl->getLocation();
   const char *startBuf = SM->getCharacterData(startLoc);
-  const char *semiPtr = startBuf;
-  while (semiPtr && (*semiPtr != ';')) semiPtr++;
+  const char *semiPtr = strchr(startBuf, ';');
 
   // Translate to typedef's that forward reference structs with the same name
   // as the class. As a convenience, we include the original declaration
index 63805443765f38d11b106e6ecf9bf37d967d56d0..8cdfe44fad1a19b4b20ae00a10f1ec892a766604 100644 (file)
@@ -400,7 +400,7 @@ static void InitializePredefinedMacros(Preprocessor &PP,
     // Predefine ObjC primitive functions, traditionally declared in
     // <objc/objc-runtime.h>. Unlike the declarations above, we don't protect
     // these with a header guard (since multiple identical function declarations
-    // don't result in an error.
+    // don't result in an error. FIXME: don't predefine these...
     ObjcType = "OBJC_EXPORT id objc_getClass(const char *name);\n";
     Buf.insert(Buf.end(), ObjcType, ObjcType+strlen(ObjcType));
     ObjcType = "OBJC_EXPORT id objc_getMetaClass(const char *name);\n";