[objcmt] Fix a mishandled conversion to objc directory literal.

rdar://13181413

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178942 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Edit/EditedSource.cpp b/lib/Edit/EditedSource.cpp
index dd99ca9..34b5e62 100644
--- a/lib/Edit/EditedSource.cpp
+++ b/lib/Edit/EditedSource.cpp
@@ -188,6 +188,8 @@
     unsigned diff = EndOffs.getOffset() - TopEnd.getOffset();
     TopEnd = EndOffs;
     TopFA->RemoveLen += diff;
+    if (B == BeginOffs)
+      TopFA->Text = StringRef();
     ++I;
   }
 
diff --git a/test/ARCMT/objcmt-subscripting-literals.m b/test/ARCMT/objcmt-subscripting-literals.m
index 8cef091..014c109 100644
--- a/test/ARCMT/objcmt-subscripting-literals.m
+++ b/test/ARCMT/objcmt-subscripting-literals.m
@@ -157,6 +157,7 @@
   dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", [NSArray array], nil] forKeys:[NSArray arrayWithObjects:@"A", [arr objectAtIndex:2], nil]];
   dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", @"2", nil] forKeys:arr];
   dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", @"2", nil] forKeys:@[@"A", @"B"]];
+  dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSArray array], @"A", [NSArray array], @"B", nil];
 }
 @end
 
diff --git a/test/ARCMT/objcmt-subscripting-literals.m.result b/test/ARCMT/objcmt-subscripting-literals.m.result
index 0ca6dca..e9ff8df 100644
--- a/test/ARCMT/objcmt-subscripting-literals.m.result
+++ b/test/ARCMT/objcmt-subscripting-literals.m.result
@@ -157,6 +157,7 @@
   dict = @{@"A": @"1", arr[2]: @[]};
   dict = [NSDictionary dictionaryWithObjects:@[@"1", @"2"] forKeys:arr];
   dict = @{@"A": @"1", @"B": @"2"};
+  dict = @{@"A": @[], @"B": @[]};
 }
 @end