Fixed a bug exposed by fixing the assert in previous patch (one of the tests asserted).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43586 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp
index 4e01ded..257a060 100644
--- a/Driver/RewriteTest.cpp
+++ b/Driver/RewriteTest.cpp
@@ -544,6 +544,9 @@
                                                std::string &Result) {
   assert(CDecl && "Class missing in SynthesizeObjcInternalStruct");
   assert(CDecl->getName() && "Name missing in SynthesizeObjcInternalStruct");
+  // Do not synthesize more than once.
+  if (ObjcSynthesizedStructs.count(CDecl))
+    return;
   ObjcInterfaceDecl *RCDecl = CDecl->getSuperClass();
   if (RCDecl && !ObjcSynthesizedStructs.count(RCDecl)) {
     // Do it for the root