]> granicus.if.org Git - clang/commitdiff
Always generate a typedef for @class. The typedef removal logic that I'm removing...
authorSteve Naroff <snaroff@apple.com>
Wed, 14 Nov 2007 23:02:56 +0000 (23:02 +0000)
committerSteve Naroff <snaroff@apple.com>
Wed, 14 Nov 2007 23:02:56 +0000 (23:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44145 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/RewriteTest.cpp

index d953e08581eef8b879bcd26d4da1cc8c5762ada9..286b493ddb3928af3116c419edba329103323ea2 100644 (file)
@@ -313,8 +313,6 @@ void RewriteTest::RewriteForwardClassDecl(ObjcClassDecl *ClassDecl) {
   typedefString += "\n";
   for (int i = 0; i < numDecls; i++) {
     ObjcInterfaceDecl *ForwardDecl = ForwardDecls[i];
-    if (ObjcForwardDecls.count(ForwardDecl))
-      continue;
     typedefString += "#ifndef _REWRITER_typedef_";
     typedefString += ForwardDecl->getName();
     typedefString += "\n";
@@ -324,9 +322,6 @@ void RewriteTest::RewriteForwardClassDecl(ObjcClassDecl *ClassDecl) {
     typedefString += "typedef struct objc_object ";
     typedefString += ForwardDecl->getName();
     typedefString += ";\n#endif\n";
-    // Mark this typedef as having been generated.
-    if (!ObjcForwardDecls.insert(ForwardDecl))
-      assert(false && "typedef already output");
   }
   
   // Replace the @class with typedefs corresponding to the classes.
@@ -544,7 +539,7 @@ void RewriteTest::RewriteInterfaceDecl(ObjcInterfaceDecl *ClassDecl) {
   std::string ResultStr;
   if (!ObjcForwardDecls.count(ClassDecl)) {
     // we haven't seen a forward decl - generate a typedef.
-    ResultStr += "#ifndef _REWRITER_typedef_";
+    ResultStr = "#ifndef _REWRITER_typedef_";
     ResultStr += ClassDecl->getName();
     ResultStr += "\n";
     ResultStr += "#define _REWRITER_typedef_";