modern objective-c translator: couple of minor
changes to how meta-data is declared. 
// rdar://11076938


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153098 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Rewrite/RewriteModernObjC.cpp b/lib/Rewrite/RewriteModernObjC.cpp
index aee89f1..cbae690 100644
--- a/lib/Rewrite/RewriteModernObjC.cpp
+++ b/lib/Rewrite/RewriteModernObjC.cpp
@@ -5269,7 +5269,7 @@
 
 /// struct _class_t {
 ///   struct _class_t *isa;
-///   struct _class_t * const superclass;
+///   struct _class_t *superclass;
 ///   void *cache;
 ///   IMP *vtable;
 ///   struct _class_ro_t *ro;
@@ -5354,7 +5354,7 @@
   
   Result += "\nstruct _class_t {\n";
   Result += "\tstruct _class_t *isa;\n";
-  Result += "\tstruct _class_t *const superclass;\n";
+  Result += "\tstruct _class_t *superclass;\n";
   Result += "\tvoid *cache;\n";
   Result += "\tvoid *vtable;\n";
   Result += "\tstruct _class_ro_t *ro;\n";
@@ -5369,7 +5369,7 @@
   Result += "\tconst struct _prop_list_t *const properties;\n";
   Result += "};\n";
   
-  Result += "extern void *_objc_empty_cache;\n";
+  Result += "__declspec(dllimport) extern struct objc_cache _objc_empty_cache;\n";
   Result += "extern void *_objc_empty_vtable;\n";
   
   meta_data_declared = true;
diff --git a/test/Rewriter/objc-modern-ivar-receiver-1.mm b/test/Rewriter/objc-modern-ivar-receiver-1.mm
index 5ffcdd4..b5078c7 100644
--- a/test/Rewriter/objc-modern-ivar-receiver-1.mm
+++ b/test/Rewriter/objc-modern-ivar-receiver-1.mm
@@ -26,3 +26,6 @@
 @end
 
 // CHECK: id obj = (*(id *)((char *)newInv + OBJC_IVAR_$_NSInvocation$_container));
+// rdar://11076938
+// CHECK: struct _class_t *superclass;
+// CHECK: __declspec(dllimport) extern struct objc_cache _objc_empty_cache;