From: Steve Naroff Date: Thu, 1 Nov 2007 03:35:41 +0000 (+0000) Subject: Tweak RewriteInterfaceDecl() to generate a typedef (if one hasn't already been genera... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6c6a2dbb4db96a69d6f1c2e3d322e4c3abd43814;p=clang Tweak RewriteInterfaceDecl() to generate a typedef (if one hasn't already been generated). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43600 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp index 999b0796a9..026c5d62c4 100644 --- a/Driver/RewriteTest.cpp +++ b/Driver/RewriteTest.cpp @@ -329,6 +329,17 @@ void RewriteTest::RewriteInterfaceDecl(ObjcInterfaceDecl *ClassDecl) { endBuf += Lexer::MeasureTokenLength(LocEnd, *SM); std::string ResultStr; + if (!ObjcForwardDecls.count(ClassDecl)) { + // we haven't seen a forward decl - generate a typedef. + ResultStr += "typedef struct "; + ResultStr += ClassDecl->getName(); + ResultStr += " "; + ResultStr += ClassDecl->getName(); + ResultStr += ";"; + + // Mark this typedef as having been generated. + ObjcForwardDecls.insert(ClassDecl); + } SynthesizeObjcInternalStruct(ClassDecl, ResultStr); Rewrite.ReplaceText(LocStart, endBuf-startBuf, diff --git a/clang.xcodeproj/project.pbxproj b/clang.xcodeproj/project.pbxproj index fe4cf8d85b..de41b4628d 100644 --- a/clang.xcodeproj/project.pbxproj +++ b/clang.xcodeproj/project.pbxproj @@ -756,7 +756,6 @@ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "clang" */; - compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 08FB7794FE84155DC02AAC07 /* clang */; projectDirPath = "";