aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Rewrite/Frontend/RewriteModernObjC.cpp6
-rw-r--r--test/Rewriter/modern-write-bf-abi.mm20
2 files changed, 23 insertions, 3 deletions
diff --git a/lib/Rewrite/Frontend/RewriteModernObjC.cpp b/lib/Rewrite/Frontend/RewriteModernObjC.cpp
index 68babb4ef0..4803bfa397 100644
--- a/lib/Rewrite/Frontend/RewriteModernObjC.cpp
+++ b/lib/Rewrite/Frontend/RewriteModernObjC.cpp
@@ -1043,7 +1043,7 @@ void RewriteModernObjC::RewritePropertyImplDecl(ObjCPropertyImplDecl *PID,
static void RewriteOneForwardClassDecl(ObjCInterfaceDecl *ForwardDecl,
std::string &typedefString) {
- typedefString += "#ifndef _REWRITER_typedef_";
+ typedefString += "\n#ifndef _REWRITER_typedef_";
typedefString += ForwardDecl->getNameAsString();
typedefString += "\n";
typedefString += "#define _REWRITER_typedef_";
@@ -1076,7 +1076,7 @@ void RewriteModernObjC::RewriteForwardClassDecl(DeclGroupRef D) {
// as a comment.
typedefString += "// @class ";
typedefString += ForwardDecl->getNameAsString();
- typedefString += ";\n";
+ typedefString += ";";
}
RewriteOneForwardClassDecl(ForwardDecl, typedefString);
}
@@ -1092,7 +1092,7 @@ void RewriteModernObjC::RewriteForwardClassDecl(
if (i == 0) {
typedefString += "// @class ";
typedefString += ForwardDecl->getNameAsString();
- typedefString += ";\n";
+ typedefString += ";";
}
RewriteOneForwardClassDecl(ForwardDecl, typedefString);
}
diff --git a/test/Rewriter/modern-write-bf-abi.mm b/test/Rewriter/modern-write-bf-abi.mm
index 6b646db678..85db93924f 100644
--- a/test/Rewriter/modern-write-bf-abi.mm
+++ b/test/Rewriter/modern-write-bf-abi.mm
@@ -98,3 +98,23 @@ int f2(A* a) {
int f3(A *a) {
return a->ivar_d + a->ivar_ext2_a + a->ivar_ext_a + a->ivar_a;
}
+
+__attribute__((objc_root_class)) @interface Base
+{
+ struct objc_class *isa;
+ int full;
+ int full2: 32;
+ int _refs: 8;
+ int field2: 3;
+ unsigned f3: 8;
+ short cc;
+ unsigned g: 16;
+ int r2: 8;
+ int r3: 8;
+ int r4: 2;
+ int r5: 8;
+ char c;
+}
+@end
+
+@implementation Base @end