ObjectiveC migrator. When migrating to NS_ENUM/NS_OPTIONS,
don't leave a blank line behind replacing the typedef
decl. // rdar://15200949
llvm-svn: 192407
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp
index 21ba06c..ad00d54 100644
--- a/clang/lib/ARCMigrate/ObjCMT.cpp
+++ b/clang/lib/ARCMigrate/ObjCMT.cpp
@@ -511,8 +511,12 @@
commit.replace(R, ClassString);
SourceLocation EndOfTypedefLoc = TypedefDcl->getLocEnd();
EndOfTypedefLoc = trans::findLocationAfterSemi(EndOfTypedefLoc, NS.getASTContext());
+ SourceLocation BeginOfTypedefLoc = TypedefDcl->getLocStart();
if (!EndOfTypedefLoc.isInvalid()) {
- commit.remove(SourceRange(TypedefDcl->getLocStart(), EndOfTypedefLoc));
+ // FIXME. This assumes that typedef decl; is immediately preceeded by eoln.
+ // It is trying to remove the typedef decl. line entirely.
+ BeginOfTypedefLoc = BeginOfTypedefLoc.getLocWithOffset(-1);
+ commit.remove(SourceRange(BeginOfTypedefLoc, EndOfTypedefLoc));
return true;
}
return false;