]> granicus.if.org Git - clang/commitdiff
[objcmt] Fix a mishandled conversion to objc directory literal.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sat, 6 Apr 2013 01:13:17 +0000 (01:13 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sat, 6 Apr 2013 01:13:17 +0000 (01:13 +0000)
rdar://13181413

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178942 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Edit/EditedSource.cpp
test/ARCMT/objcmt-subscripting-literals.m
test/ARCMT/objcmt-subscripting-literals.m.result

index dd99ca9280193d68bc0400d42a0d729b9c9f3e92..34b5e62333adc7ed8e89a2fbd43bcdcab42b6c96 100644 (file)
@@ -188,6 +188,8 @@ void EditedSource::commitRemove(SourceLocation OrigLoc,
     unsigned diff = EndOffs.getOffset() - TopEnd.getOffset();
     TopEnd = EndOffs;
     TopFA->RemoveLen += diff;
+    if (B == BeginOffs)
+      TopFA->Text = StringRef();
     ++I;
   }
 
index 8cef0919bba84f68d4275527dd3626008d6989ef..014c1092999a1d266a331e5343d74fbf5da6d621 100644 (file)
@@ -157,6 +157,7 @@ typedef const struct __CFString * CFStringRef;
   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
 
index 0ca6dca1fea2a42aba15888272d54200bdc1f7b1..e9ff8df34dc6f9da5bbb405d111305940b091dc2 100644 (file)
@@ -157,6 +157,7 @@ typedef const struct __CFString * CFStringRef;
   dict = @{@"A": @"1", arr[2]: @[]};
   dict = [NSDictionary dictionaryWithObjects:@[@"1", @"2"] forKeys:arr];
   dict = @{@"A": @"1", @"B": @"2"};
+  dict = @{@"A": @[], @"B": @[]};
 }
 @end