diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2012-03-20 17:34:50 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-03-20 17:34:50 +0000 |
commit | fd4ce2c9d64032b42c037b2af3bf4ebeac5bbac8 (patch) | |
tree | 329a3ca5cd49af51bcc51ad65570bb3e3405e18e | |
parent | c407f2521285f7959c3da7c05067c05fa6396a64 (diff) |
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
-rw-r--r-- | lib/Rewrite/RewriteModernObjC.cpp | 6 | ||||
-rw-r--r-- | test/Rewriter/objc-modern-ivar-receiver-1.mm | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/Rewrite/RewriteModernObjC.cpp b/lib/Rewrite/RewriteModernObjC.cpp index aee89f11b2..cbae690677 100644 --- a/lib/Rewrite/RewriteModernObjC.cpp +++ b/lib/Rewrite/RewriteModernObjC.cpp @@ -5269,7 +5269,7 @@ void RewriteModernObjC::RewriteIvarOffsetComputation(ObjCIvarDecl *ivar, /// 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 @@ static void WriteModernMetadataDeclarations(ASTContext *Context, std::string &Re 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 @@ static void WriteModernMetadataDeclarations(ASTContext *Context, std::string &Re 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 5ffcdd4969..b5078c7cc8 100644 --- a/test/Rewriter/objc-modern-ivar-receiver-1.mm +++ b/test/Rewriter/objc-modern-ivar-receiver-1.mm @@ -26,3 +26,6 @@ void *sel_registerName(const char *); @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; |