diff options
-rw-r--r-- | Driver/RewriteTest.cpp | 8 | ||||
-rw-r--r-- | Lex/Preprocessor.cpp | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp index 42b5940e19..cfa794619d 100644 --- a/Driver/RewriteTest.cpp +++ b/Driver/RewriteTest.cpp @@ -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 diff --git a/Lex/Preprocessor.cpp b/Lex/Preprocessor.cpp index 6380544376..8cdfe44fad 100644 --- a/Lex/Preprocessor.cpp +++ b/Lex/Preprocessor.cpp @@ -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"; |