diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 5576c137..e1e757e9 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -22725,7 +22725,7 @@ types_have_similar_structure(const type_base* first,
   if (const array_type_def* ty1 = is_array_type(first))
     {
       const array_type_def* ty2 = is_array_type(second);
-      // TODO: Handle uint32_t[10] vs uint64_t[5] better.
+      // TODO: Handle int[5][2] vs int[2][5] better.
       if (ty1->get_size_in_bits() != ty2->get_size_in_bits()
 	  || ty1->get_dimension_count() != ty2->get_dimension_count()
 	  || !types_have_similar_structure(ty1->get_element_type(),
diff --git a/tests/data/test-abidiff-exit/test-leaf-peeling-report.txt b/tests/data/test-abidiff-exit/test-leaf-peeling-report.txt
index eeffc7b5..119d01b4 100644
--- a/tests/data/test-abidiff-exit/test-leaf-peeling-report.txt
+++ b/tests/data/test-abidiff-exit/test-leaf-peeling-report.txt
@@ -1,9 +1,9 @@
-Leaf changes summary: 4 artifacts changed
-Changed leaf types summary: 4 leaf types changed
+Leaf changes summary: 6 artifacts changed
+Changed leaf types summary: 6 leaf types changed
 Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
 Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
 
-'struct foo at test-leaf-peeling.0.cc:1:1' changed:
+'struct foo at test-leaf-peeling-v0.cc:1:1' changed:
   type size changed from 32 to 64 (in bits)
   there are data member changes:
     type 'int' of 'foo::z' changed:
@@ -12,7 +12,7 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
     and size changed from 32 to 64 (in bits) (by +32 bits)
 
 
-'struct ops1 at test-leaf-peeling.0.cc:5:1' changed:
+'struct ops1 at test-leaf-peeling-v0.cc:5:1' changed:
   type size hasn't changed
   there are data member changes:
     type 'int*' of 'ops1::x' changed:
@@ -20,15 +20,32 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
 
 
 
-'struct ops2 at test-leaf-peeling.0.cc:9:1' changed:
+'struct ops2 at test-leaf-peeling-v0.cc:9:1' changed:
   type size changed from 320 to 640 (in bits)
   there are data member changes:
     'foo ops2::y[10]' size changed from 320 to 640 (in bits) (by +320 bits)
 
 
-'struct ops3 at test-leaf-peeling.0.cc:13:1' changed:
+'struct ops3 at test-leaf-peeling-v0.cc:13:1' changed:
   type size hasn't changed
   there are data member changes:
     type 'void (int&)*' of 'ops3::spong' changed:
       pointer type changed from: 'void (int&)*' to: 'void (int&&)*'
 
+
+
+'struct ops4 at test-leaf-peeling-v0.cc:17:1' changed:
+  type size hasn't changed
+  there are data member changes:
+    type 'int*' of 'ops4::x' changed:
+      entity changed from 'int*' to 'int&'
+      type size hasn't changed
+
+
+
+'struct ops5 at test-leaf-peeling-v0.cc:21:1' changed:
+  type size hasn't changed
+  there are data member changes:
+    type 'int*' of 'ops5::x' changed:
+      pointer type changed from: 'int*' to: 'int***'
+
diff --git a/tests/data/test-abidiff-exit/test-leaf-peeling-v0.cc b/tests/data/test-abidiff-exit/test-leaf-peeling-v0.cc
index b927d15e..745d44f5 100644
--- a/tests/data/test-abidiff-exit/test-leaf-peeling-v0.cc
+++ b/tests/data/test-abidiff-exit/test-leaf-peeling-v0.cc
@@ -14,11 +14,18 @@ struct ops3 {
   void (*spong)(int & wibble);
 };
 
-void register_ops1(ops1*) {
-}
+struct ops4 {
+  int * x;
+};
+
+struct ops5 {
+  int * x;
+};
 
-void register_ops2(ops2*) {
-}
+int var6[2][5];
 
-void register_ops3(ops3*) {
-}
+void register_ops1(ops1*) { }
+void register_ops2(ops2*) { }
+void register_ops3(ops3*) { }
+void register_ops4(ops4*) { }
+void register_ops5(ops5*) { }
diff --git a/tests/data/test-abidiff-exit/test-leaf-peeling-v0.o b/tests/data/test-abidiff-exit/test-leaf-peeling-v0.o
index a556a63560122a5e926ab708bb13f0fd40714638..e6ed6218704e957cbac929f82d0a571fd181103f 100644
GIT binary patch
diff --git a/tests/data/test-abidiff-exit/test-leaf-peeling-v1.cc b/tests/data/test-abidiff-exit/test-leaf-peeling-v1.cc
index 7c88df9f..439f7c0b 100644
--- a/tests/data/test-abidiff-exit/test-leaf-peeling-v1.cc
+++ b/tests/data/test-abidiff-exit/test-leaf-peeling-v1.cc
@@ -7,6 +7,10 @@ struct ops1 {
 };
 
 struct ops2 {
+  // A change to foo's size is currently considered local here.  Arguably this
+  // should be considered non-local as the change to foo is being reported
+  // independently.  If this happens, the test case will need to be updated (to
+  // remove the reporting of an ops5 diff).
   foo y[10];
 };
 
@@ -14,11 +18,19 @@ struct ops3 {
   void (*spong)(int && wibble);
 };
 
-void register_ops1(ops1*) {
-}
+struct ops4 {
+  int & x;
+};
+
+struct ops5 {
+  int *** x;
+};
 
-void register_ops2(ops2*) {
-}
+// TODO: This *should* be considered a local change, but currently is not.
+int var6[5][2];
 
-void register_ops3(ops3*) {
-}
+void register_ops1(ops1*) { }
+void register_ops2(ops2*) { }
+void register_ops3(ops3*) { }
+void register_ops4(ops4*) { }
+void register_ops5(ops5*) { }
