Index: test/Tooling/Inputs/clang-diff-basic-src.cpp
===================================================================
--- test/Tooling/Inputs/clang-diff-basic-src.cpp
+++ test/Tooling/Inputs/clang-diff-basic-src.cpp
@@ -61,3 +61,9 @@
} s1, s2, s3;
str x = s1 + s2 - s3;
+
+class S {}; class T {};
+void cons() {
+ T s;
+ (void) S();
+}
Index: test/Tooling/clang-diff-basic.cpp
===================================================================
--- test/Tooling/clang-diff-basic.cpp
+++ test/Tooling/clang-diff-basic.cpp
@@ -97,5 +97,11 @@
// CHECK-NEXT: Match DeclRefExpr: s3
str x = s1 + s2 - s3;
+class S {}; class T {};
+void cons() {
+ T t;
+ (void) T();
+}
+
// CHECK: Delete AccessSpecDecl: public
// CHECK: Delete CXXMethodDecl
Index: test/Tooling/clang-diff-html.test
===================================================================
--- test/Tooling/clang-diff-html.test
+++ test/Tooling/clang-diff-html.test
@@ -26,6 +26,20 @@
update + move
CHECK: 2' class='u m'>2
+VarDecl of same type but different variable name
+ensure that only the latter is marked changed
+CHECK: VarDecl: s
+CHECK: TypeLoc: class T
+CHECK-NEXT: T{{.*}}CXXConstructExpr
+CHECK-NEXT: CXXConstructExpr
+CHECK: s
+CHECK: CXXTemporaryObjectExpr
+CHECK-NEXT: CXXTemporaryObjectExpr
+CHECK-NEXT:
+CHECK-NEXT: TypeLoc: class S
+CHECK-NEXT: S
+
+
insertion
CHECK: