diff --git a/src/abg-default-reporter.cc b/src/abg-default-reporter.cc
index b28f2301..0c7d3e1d 100644
--- a/src/abg-default-reporter.cc
+++ b/src/abg-default-reporter.cc
@@ -1844,7 +1844,7 @@ default_reporter::report(const corpus_diff& d, ostream& out,
 	      function_decl_sptr fn = (*i)->first_function_decl();
 	      out << indent << "  [C] '"
 		  << fn->get_pretty_representation() << "'";
-	      report_loc_info((*i)->second_function_decl(), *ctxt, out);
+	      report_loc_info((*i)->first_function_decl(), *ctxt, out);
 	      out << " has some indirect sub-type changes:\n";
 	      if (// The symbol of the function has aliases and the
 		  // function is not a cdtor (yeah because c++ cdtors
diff --git a/tests/data/test-abicompat/test0-fn-changed-report-2.txt b/tests/data/test-abicompat/test0-fn-changed-report-2.txt
index 80b07e73..e2e85b44 100644
--- a/tests/data/test-abicompat/test0-fn-changed-report-2.txt
+++ b/tests/data/test-abicompat/test0-fn-changed-report-2.txt
@@ -4,14 +4,14 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function libapp::S0* libapp::create_s0()' at test0-fn-changed-libapp-v1.cc:61:1 has some indirect sub-type changes:
+  [C] 'function libapp::S0* libapp::create_s0()' at test0-fn-changed-libapp-v0.cc:47:1 has some indirect sub-type changes:
     return type changed:
       in pointed to type 'struct libapp::S0' at test0-fn-changed-libapp-v1.cc:10:1:
         type size changed from 32 to 64 (in bits)
         1 data member insertion:
           'char m1', at offset 32 (in bits) at test0-fn-changed-libapp-v1.cc:13:1
 
-  [C] 'function libapp::S1* libapp::create_s1()' at test0-fn-changed-libapp-v1.cc:69:1 has some indirect sub-type changes:
+  [C] 'function libapp::S1* libapp::create_s1()' at test0-fn-changed-libapp-v0.cc:55:1 has some indirect sub-type changes:
     return type changed:
       in pointed to type 'struct libapp::S1' at test0-fn-changed-libapp-v1.cc:21:1:
         type size changed from 32 to 96 (in bits)
diff --git a/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt b/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt
index d45c9c6c..9b9bd19a 100644
--- a/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt
+++ b/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void fun(S*)' at qualifier-typedef-array-v1.c:37:1 has some indirect sub-type changes:
+  [C] 'function void fun(S*)' at qualifier-typedef-array-v0.c:37:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at qualifier-typedef-array-v1.c:10:1:
         type size hasn't changed
diff --git a/tests/data/test-abidiff-exit/test-PR28316-report.txt b/tests/data/test-abidiff-exit/test-PR28316-report.txt
index b08073f1..637897df 100644
--- a/tests/data/test-abidiff-exit/test-PR28316-report.txt
+++ b/tests/data/test-abidiff-exit/test-PR28316-report.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(E)' at test-PR28316-v1.cc:9:1 has some indirect sub-type changes:
+  [C] 'function void foo(E)' at test-PR28316-v0.cc:8:1 has some indirect sub-type changes:
     parameter 1 of type 'typedef E' has sub-type changes:
       underlying type 'enum E' at test-PR28316-v0.cc:1:1 changed:
         type size hasn't changed
diff --git a/tests/data/test-abidiff-exit/test-decl-enum-report.txt b/tests/data/test-abidiff-exit/test-decl-enum-report.txt
index e46ebfa6..aa6c834e 100644
--- a/tests/data/test-abidiff-exit/test-decl-enum-report.txt
+++ b/tests/data/test-abidiff-exit/test-decl-enum-report.txt
@@ -3,13 +3,13 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function void reg1(const embodied_enum*)' at test-decl-enum-v1.c:4:1 has some indirect sub-type changes:
+  [C] 'function void reg1(const embodied_enum*)' at test-decl-enum-v0.c:4:1 has some indirect sub-type changes:
     parameter 1 of type 'const embodied_enum*' has sub-type changes:
       in pointed to type 'const embodied_enum':
         in unqualified underlying type 'enum embodied_enum' at test-decl-enum-v1.c:1:1:
           enum type enum embodied_enum was a declaration-only enum type and is now a defined enum type
 
-  [C] 'function void reg2(const disembodied_enum*)' at test-decl-enum-v1.c:5:1 has some indirect sub-type changes:
+  [C] 'function void reg2(const disembodied_enum*)' at test-decl-enum-v0.c:5:1 has some indirect sub-type changes:
     parameter 1 of type 'const disembodied_enum*' has sub-type changes:
       in pointed to type 'const disembodied_enum':
         in unqualified underlying type 'enum disembodied_enum':
diff --git a/tests/data/test-abidiff-exit/test-decl-struct-report.txt b/tests/data/test-abidiff-exit/test-decl-struct-report.txt
index f1fa2077..4702fcbd 100644
--- a/tests/data/test-abidiff-exit/test-decl-struct-report.txt
+++ b/tests/data/test-abidiff-exit/test-decl-struct-report.txt
@@ -3,13 +3,13 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function void reg1(const embodied*)' at test-decl-struct-v1.c:4:1 has some indirect sub-type changes:
+  [C] 'function void reg1(const embodied*)' at test-decl-struct-v0.c:4:1 has some indirect sub-type changes:
     parameter 1 of type 'const embodied*' has sub-type changes:
       in pointed to type 'const embodied':
         in unqualified underlying type 'struct embodied' at test-decl-struct-v1.c:1:1:
           type struct embodied was a declaration-only type and is now a defined type
 
-  [C] 'function void reg2(const disembodied*)' at test-decl-struct-v1.c:5:1 has some indirect sub-type changes:
+  [C] 'function void reg2(const disembodied*)' at test-decl-struct-v0.c:5:1 has some indirect sub-type changes:
     parameter 1 of type 'const disembodied*' has sub-type changes:
       in pointed to type 'const disembodied':
         in unqualified underlying type 'struct disembodied':
diff --git a/tests/data/test-abidiff-exit/test-fun-param-report.txt b/tests/data/test-abidiff-exit/test-fun-param-report.txt
index 71f41b0e..7e357483 100644
--- a/tests/data/test-abidiff-exit/test-fun-param-report.txt
+++ b/tests/data/test-abidiff-exit/test-fun-param-report.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void reg(ops*)' at test-fun-param-v1.c:7:1 has some indirect sub-type changes:
+  [C] 'function void reg(ops*)' at test-fun-param-v0.c:7:1 has some indirect sub-type changes:
     parameter 1 of type 'ops*' has sub-type changes:
       in pointed to type 'struct ops' at test-fun-param-v1.c:1:1:
         type size hasn't changed
diff --git a/tests/data/test-abidiff-exit/test-headers-dirs/test-headers-dir-report-2.txt b/tests/data/test-abidiff-exit/test-headers-dirs/test-headers-dir-report-2.txt
index ee3bd02b..e48942fd 100644
--- a/tests/data/test-abidiff-exit/test-headers-dirs/test-headers-dir-report-2.txt
+++ b/tests/data/test-abidiff-exit/test-headers-dirs/test-headers-dir-report-2.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void bar(second_public_struct_pointer_type, second_opaque_struct_pointer_type)' at test-headers-dir-v1.c:33:1 has some indirect sub-type changes:
+  [C] 'function void bar(second_public_struct_pointer_type, second_opaque_struct_pointer_type)' at test-headers-dir-v0.c:30:1 has some indirect sub-type changes:
     parameter 1 of type 'typedef second_public_struct_pointer_type' has sub-type changes:
       underlying type 'second_public_struct*' changed:
         in pointed to type 'struct second_public_struct' at header-b-v1.h:5:1:
diff --git a/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt b/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
index b5763b95..248e15b5 100644
--- a/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
+++ b/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void x(unsigned char)' at test-loc-v1.c:1:1 has some indirect sub-type changes:
+  [C] 'function void x(unsigned char)' at test-loc-v0.c:1:1 has some indirect sub-type changes:
     parameter 1 of type 'unsigned char' changed:
       type name changed from 'unsigned char' to 'signed char'
       type size hasn't changed
diff --git a/tests/data/test-abidiff-exit/test-member-size-report0.txt b/tests/data/test-abidiff-exit/test-member-size-report0.txt
index 5c8ece62..8f70bd3b 100644
--- a/tests/data/test-abidiff-exit/test-member-size-report0.txt
+++ b/tests/data/test-abidiff-exit/test-member-size-report0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function void reg1(S*, T*, T*)' at test-member-size-v1.cc:26:1 has some indirect sub-type changes:
+  [C] 'function void reg1(S*, T*, T*)' at test-member-size-v0.cc:25:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-member-size-v1.cc:3:1:
         type size changed from 128 to 192 (in bits)
@@ -16,7 +16,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
         1 data member changes (1 filtered):
           'int a' offset changed from 128 to 192 (in bits) (by +64 bits)
 
-  [C] 'function void reg2(U*)' at test-member-size-v1.cc:27:1 has some indirect sub-type changes:
+  [C] 'function void reg2(U*)' at test-member-size-v0.cc:26:1 has some indirect sub-type changes:
     parameter 1 of type 'U*' has sub-type changes:
       in pointed to type 'struct U' at test-member-size-v1.cc:19:1:
         type size changed from 192 to 256 (in bits)
diff --git a/tests/data/test-abidiff-exit/test-rhbz2114909-report-1.txt b/tests/data/test-abidiff-exit/test-rhbz2114909-report-1.txt
index 7cb15229..019320cf 100644
--- a/tests/data/test-abidiff-exit/test-rhbz2114909-report-1.txt
+++ b/tests/data/test-abidiff-exit/test-rhbz2114909-report-1.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(ns2::C&)' at test-rhbz2114909-v1.cc:33:1 has some indirect sub-type changes:
+  [C] 'function void foo(ns2::C&)' at test-rhbz2114909-v0.cc:32:1 has some indirect sub-type changes:
     parameter 1 of type 'ns2::C&' has sub-type changes:
       in referenced type 'class ns2::C' at test-rhbz2114909-v1.cc:22:1:
         type size changed from 160 to 96 (in bits)
diff --git a/tests/data/test-diff-filter/libtest45-basic-type-change-report-0.txt b/tests/data/test-diff-filter/libtest45-basic-type-change-report-0.txt
index 947a51b6..bef70c68 100644
--- a/tests/data/test-diff-filter/libtest45-basic-type-change-report-0.txt
+++ b/tests/data/test-diff-filter/libtest45-basic-type-change-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 4 functions with some indirect sub-type change:
 
-  [C] 'function int& foo0(S0&)' at test45-basic-type-change-v1.cc:24:1 has some indirect sub-type changes:
+  [C] 'function int& foo0(S0&)' at test45-basic-type-change-v0.cc:25:1 has some indirect sub-type changes:
     return type changed:
       in referenced type 'int':
         type name changed from 'int' to 'char'
@@ -17,7 +17,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
               type name changed from 'int' to 'char'
               type size changed from 32 to 8 (in bits)
 
-  [C] 'function int* foo1(S1&)' at test45-basic-type-change-v1.cc:28:1 has some indirect sub-type changes:
+  [C] 'function int* foo1(S1&)' at test45-basic-type-change-v0.cc:29:1 has some indirect sub-type changes:
     return type changed:
       in pointed to type 'int':
         type name changed from 'int' to 'char'
@@ -31,7 +31,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
               type name changed from 'int' to 'char'
               type size changed from 32 to 8 (in bits)
 
-  [C] 'function const int foo2(S2&)' at test45-basic-type-change-v1.cc:32:1 has some indirect sub-type changes:
+  [C] 'function const int foo2(S2&)' at test45-basic-type-change-v0.cc:33:1 has some indirect sub-type changes:
     return type changed:
       'const int' changed to 'const char'
     parameter 1 of type 'S2&' has sub-type changes:
@@ -43,7 +43,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
               type name changed from 'int' to 'char'
               type size changed from 32 to 8 (in bits)
 
-  [C] 'function int foo3(S2&)' at test45-basic-type-change-v1.cc:36:1 has some indirect sub-type changes:
+  [C] 'function int foo3(S2&)' at test45-basic-type-change-v0.cc:37:1 has some indirect sub-type changes:
     return type changed:
       type name changed from 'int' to 'char'
       type size changed from 32 to 8 (in bits)
diff --git a/tests/data/test-diff-filter/test-PR24731-report-1.txt b/tests/data/test-diff-filter/test-PR24731-report-1.txt
index 759fc39c..cda3d6a3 100644
--- a/tests/data/test-diff-filter/test-PR24731-report-1.txt
+++ b/tests/data/test-diff-filter/test-PR24731-report-1.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void test_func(u)' at test-PR24731-v1.c:3:1 has some indirect sub-type changes:
+  [C] 'function void test_func(u)' at test-PR24731-v0.c:3:1 has some indirect sub-type changes:
     parameter 1 of type 'union u' has sub-type changes:
       type size hasn't changed
       type changed from:
diff --git a/tests/data/test-diff-filter/test-PR25661-1-report-2.txt b/tests/data/test-diff-filter/test-PR25661-1-report-2.txt
index 3d9f6637..c3d2bb53 100644
--- a/tests/data/test-diff-filter/test-PR25661-1-report-2.txt
+++ b/tests/data/test-diff-filter/test-PR25661-1-report-2.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(S*)' at test-PR25661-1-v1.c:18:1 has some indirect sub-type changes:
+  [C] 'function void foo(S*)' at test-PR25661-1-v0.c:10:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-PR25661-1-v1.c:1:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR25661-2-report-2.txt b/tests/data/test-diff-filter/test-PR25661-2-report-2.txt
index 31ce245d..44afa7dd 100644
--- a/tests/data/test-diff-filter/test-PR25661-2-report-2.txt
+++ b/tests/data/test-diff-filter/test-PR25661-2-report-2.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(S*)' at test-PR25661-2-v1.c:20:1 has some indirect sub-type changes:
+  [C] 'function void foo(S*)' at test-PR25661-2-v0.c:10:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-PR25661-2-v1.c:1:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR25661-3-report-2.txt b/tests/data/test-diff-filter/test-PR25661-3-report-2.txt
index f275382e..63051339 100644
--- a/tests/data/test-diff-filter/test-PR25661-3-report-2.txt
+++ b/tests/data/test-diff-filter/test-PR25661-3-report-2.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(S*)' at test-PR25661-3-v1.c:21:1 has some indirect sub-type changes:
+  [C] 'function void foo(S*)' at test-PR25661-3-v0.c:10:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-PR25661-3-v1.c:1:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR25661-4-report-2.txt b/tests/data/test-diff-filter/test-PR25661-4-report-2.txt
index 19f2582f..d35d7d19 100644
--- a/tests/data/test-diff-filter/test-PR25661-4-report-2.txt
+++ b/tests/data/test-diff-filter/test-PR25661-4-report-2.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void func(S*)' at test-PR25661-4-v1.c:18:1 has some indirect sub-type changes:
+  [C] 'function void func(S*)' at test-PR25661-4-v0.c:12:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-PR25661-4-v1.c:3:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR25661-5-report-2.txt b/tests/data/test-diff-filter/test-PR25661-5-report-2.txt
index e0c2d44e..ac97001c 100644
--- a/tests/data/test-diff-filter/test-PR25661-5-report-2.txt
+++ b/tests/data/test-diff-filter/test-PR25661-5-report-2.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void func(S*)' at test-PR25661-5-v1.c:22:1 has some indirect sub-type changes:
+  [C] 'function void func(S*)' at test-PR25661-5-v0.c:11:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-PR25661-5-v1.c:3:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR25661-6-report-3.txt b/tests/data/test-diff-filter/test-PR25661-6-report-3.txt
index e0044f6b..16deb514 100644
--- a/tests/data/test-diff-filter/test-PR25661-6-report-3.txt
+++ b/tests/data/test-diff-filter/test-PR25661-6-report-3.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(S*)' at test-v1.c:11:1 has some indirect sub-type changes:
+  [C] 'function void foo(S*)' at test-v0.c:7:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-v1.c:1:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR25661-7-report-3.txt b/tests/data/test-diff-filter/test-PR25661-7-report-3.txt
index 8fc7c736..dad42a0d 100644
--- a/tests/data/test-diff-filter/test-PR25661-7-report-3.txt
+++ b/tests/data/test-diff-filter/test-PR25661-7-report-3.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(S*)' at test-PR25661-7-v1.c:24:1 has some indirect sub-type changes:
+  [C] 'function void foo(S*)' at test-PR25661-7-v0.c:10:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test-PR25661-7-v1.c:1:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR26739-2-report-0.txt b/tests/data/test-diff-filter/test-PR26739-2-report-0.txt
index 0918c187..8989efd7 100644
--- a/tests/data/test-diff-filter/test-PR26739-2-report-0.txt
+++ b/tests/data/test-diff-filter/test-PR26739-2-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void f0(A*)' at test-PR26739-2-v1.c:17:1 has some indirect sub-type changes:
+  [C] 'function void f0(A*)' at test-PR26739-2-v0.c:17:1 has some indirect sub-type changes:
     parameter 1 of type 'A*' has sub-type changes:
       in pointed to type 'struct A' at test-PR26739-2-v1.c:6:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test-PR29387-report.txt b/tests/data/test-diff-filter/test-PR29387-report.txt
index d6541d4d..fee79e78 100644
--- a/tests/data/test-diff-filter/test-PR29387-report.txt
+++ b/tests/data/test-diff-filter/test-PR29387-report.txt
@@ -3,13 +3,13 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function void f0(Integer, char)' at PR29387-test-v1.c:4:1 has some indirect sub-type changes:
+  [C] 'function void f0(Integer, char)' at PR29387-test-v0.c:4:1 has some indirect sub-type changes:
     parameter 1 of type 'typedef Integer' changed:
       underlying type 'int' changed:
         type name changed from 'int' to 'long int'
         type size changed from 32 to 64 (in bits)
 
-  [C] 'function void f1(Integer, unsigned char)' at PR29387-test-v1.c:10:1 has some indirect sub-type changes:
+  [C] 'function void f1(Integer, unsigned char)' at PR29387-test-v0.c:10:1 has some indirect sub-type changes:
     parameter 1 of type 'typedef Integer' changed:
       underlying type 'int' changed:
         type name changed from 'int' to 'long int'
diff --git a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt
index 5cf624c1..d555711f 100644
--- a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt
+++ b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt
@@ -1174,7 +1174,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
 
 6 functions with some indirect sub-type change:
 
-  [C] 'method void Engine::fini_process(bool)' at offload_engine.h:560:1 has some indirect sub-type changes:
+  [C] 'method void Engine::fini_process(bool)' at offload_engine.h:409:1 has some indirect sub-type changes:
     implicit parameter 0 of type 'Engine*' has sub-type changes:
       in pointed to type 'struct Engine' at offload_engine.h:395:1:
         type size changed from 2752 to 5504 (in bits)
@@ -1234,7 +1234,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
             array type subrange 1 changed length from 6 to 7
           and offset changed from 2368 to 5056 (in bits) (by +2688 bits)
 
-  [C] 'method void OffloadDescriptor::cleanup()' at offload_host.h:186:1 has some indirect sub-type changes:
+  [C] 'method void OffloadDescriptor::cleanup()' at offload_host.h:143:1 has some indirect sub-type changes:
     implicit parameter 0 of type 'OffloadDescriptor*' has sub-type changes:
       in pointed to type 'struct OffloadDescriptor' at offload_host.h:68:1:
         type size changed from 2240 to 2368 (in bits)
@@ -1292,7 +1292,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
           'uint64_t m_out_datalen' offset changed from 2112 to 2176 (in bits) (by +64 bits)
           'bool m_need_runfunction' offset changed from 2176 to 2240 (in bits) (by +64 bits)
 
-  [C] 'method void OffloadDescriptor::report_coi_error(error_types, COIRESULT)' at offload_host.h:206:1 has some indirect sub-type changes:
+  [C] 'method void OffloadDescriptor::report_coi_error(error_types, COIRESULT)' at offload_host.h:157:1 has some indirect sub-type changes:
     parameter 1 of type 'typedef error_types' has sub-type changes:
       underlying type 'enum error_types' at liboffload_error_codes.h:38:1 changed:
         type size hasn't changed
@@ -1412,7 +1412,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
           'error_types::c_report_myorelease' from value '122' to '126' at liboffload_error_codes.h:38:1
           'error_types::c_coipipe_max_number' from value '123' to '133' at liboffload_error_codes.h:38:1
 
-  [C] 'function void __offload_myoRegisterTables(InitTableEntry*, SharedTableEntry*, FptrTableEntry*)' at offload_myo_host.cpp:691:1 has some indirect sub-type changes:
+  [C] 'function void __offload_myoRegisterTables(InitTableEntry*, SharedTableEntry*, FptrTableEntry*)' at offload_myo_host.cpp:475:1 has some indirect sub-type changes:
     parameter 1 of type 'InitTableEntry*' has sub-type changes:
       in pointed to type 'struct InitTableEntry' at offload_table.h:296:1:
         entity changed from 'struct InitTableEntry' to compatible type 'typedef InitTableEntry' at offload_table.h:296:1
@@ -1422,7 +1422,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
               in pointed to type 'function type void ()':
                 parameter 1 of type 'typedef MyoArena' was added
 
-  [C] 'function void __offload_register_image(void*)' at offload_host.cpp:5531:1 has some indirect sub-type changes:
+  [C] 'function void __offload_register_image(void*)' at offload_host.cpp:4245:1 has some indirect sub-type changes:
     return type changed:
       type name changed from 'void' to 'bool'
       type size changed from 0 to 8 (in bits)
diff --git a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt
index 68014539..7058b67a 100644
--- a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt
+++ b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt
@@ -1174,7 +1174,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
 
 6 functions with some indirect sub-type change:
 
-  [C] 'method void Engine::fini_process(bool)' at offload_engine.h:560:1 has some indirect sub-type changes:
+  [C] 'method void Engine::fini_process(bool)' at offload_engine.h:409:1 has some indirect sub-type changes:
     implicit parameter 0 of type 'Engine*' has sub-type changes:
       in pointed to type 'struct Engine' at offload_engine.h:395:1:
         type size changed from 0x158 to 0x2b0 (in bytes)
@@ -1234,7 +1234,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
             array type subrange 1 changed length from 6 to 7
           and offset changed from 0x128 to 0x278 (in bytes) (by +0x150 bytes)
 
-  [C] 'method void OffloadDescriptor::cleanup()' at offload_host.h:186:1 has some indirect sub-type changes:
+  [C] 'method void OffloadDescriptor::cleanup()' at offload_host.h:143:1 has some indirect sub-type changes:
     implicit parameter 0 of type 'OffloadDescriptor*' has sub-type changes:
       in pointed to type 'struct OffloadDescriptor' at offload_host.h:68:1:
         type size changed from 0x118 to 0x128 (in bytes)
@@ -1292,7 +1292,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
           'uint64_t m_out_datalen' offset changed from 0x108 to 0x110 (in bytes) (by +0x8 bytes)
           'bool m_need_runfunction' offset changed from 0x110 to 0x118 (in bytes) (by +0x8 bytes)
 
-  [C] 'method void OffloadDescriptor::report_coi_error(error_types, COIRESULT)' at offload_host.h:206:1 has some indirect sub-type changes:
+  [C] 'method void OffloadDescriptor::report_coi_error(error_types, COIRESULT)' at offload_host.h:157:1 has some indirect sub-type changes:
     parameter 1 of type 'typedef error_types' has sub-type changes:
       underlying type 'enum error_types' at liboffload_error_codes.h:38:1 changed:
         type size hasn't changed
@@ -1412,7 +1412,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
           'error_types::c_report_myorelease' from value '122' to '126' at liboffload_error_codes.h:38:1
           'error_types::c_coipipe_max_number' from value '123' to '133' at liboffload_error_codes.h:38:1
 
-  [C] 'function void __offload_myoRegisterTables(InitTableEntry*, SharedTableEntry*, FptrTableEntry*)' at offload_myo_host.cpp:691:1 has some indirect sub-type changes:
+  [C] 'function void __offload_myoRegisterTables(InitTableEntry*, SharedTableEntry*, FptrTableEntry*)' at offload_myo_host.cpp:475:1 has some indirect sub-type changes:
     parameter 1 of type 'InitTableEntry*' has sub-type changes:
       in pointed to type 'struct InitTableEntry' at offload_table.h:296:1:
         entity changed from 'struct InitTableEntry' to compatible type 'typedef InitTableEntry' at offload_table.h:296:1
@@ -1422,7 +1422,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
               in pointed to type 'function type void ()':
                 parameter 1 of type 'typedef MyoArena' was added
 
-  [C] 'function void __offload_register_image(void*)' at offload_host.cpp:5531:1 has some indirect sub-type changes:
+  [C] 'function void __offload_register_image(void*)' at offload_host.cpp:4245:1 has some indirect sub-type changes:
     return type changed:
       type name changed from 'void' to 'bool'
       type size changed from 0 to 0x1 (in bytes)
diff --git a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt
index 09a79e82..b58f58d1 100644
--- a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt
+++ b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt
@@ -41,7 +41,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
           '__cxxabiv1::__cxa_exception* nextPropagatingException' offset changed from 160 to 192 (in bits) (by +32 bits)
           'int propagationCount' offset changed from 192 to 224 (in bits) (by +32 bits)
 
-  [C] 'method virtual std::__future_base::_Async_state_common::~_Async_state_common(int)' at compatibility-thread-c++0x.cc:117:1 has some indirect sub-type changes:
+  [C] 'method virtual std::__future_base::_Async_state_common::~_Async_state_common(int)' at compatibility-thread-c++0x.cc:89:1 has some indirect sub-type changes:
     implicit parameter 0 of type 'std::__future_base::_Async_state_common*' has sub-type changes:
       in pointed to type 'class std::__future_base::_Async_state_common' at compatibility-thread-c++0x.cc:106:1:
         type size hasn't changed
@@ -68,7 +68,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
                       and name of 'std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>::_M_t' changed to 'std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>::_M_t' at unique_ptr.h:147:1
         no member function changes (4 filtered);
 
-  [C] 'function void std::__throw_regex_error(std::regex_constants::error_type)' at functexcept.cc:139:1 has some indirect sub-type changes:
+  [C] 'function void std::__throw_regex_error(std::regex_constants::error_type)' at functexcept.cc:116:1 has some indirect sub-type changes:
     parameter 1 of type 'enum std::regex_constants::error_type' has sub-type changes:
       type size hasn't changed
       1 enumerator deletion:
diff --git a/tests/data/test-diff-filter/test36-report-0.txt b/tests/data/test-diff-filter/test36-report-0.txt
index 86a7f3e8..b0d96d46 100644
--- a/tests/data/test-diff-filter/test36-report-0.txt
+++ b/tests/data/test-diff-filter/test36-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function int foo_1(S*)' at test36-1-v1.c:12:1 has some indirect sub-type changes:
+  [C] 'function int foo_1(S*)' at test36-1-v0.c:12:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test36-1-v1.c:6:1:
         type size hasn't changed
@@ -12,7 +12,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
             type name changed from 'int' to 'unsigned int'
             type size hasn't changed
 
-  [C] 'function int foo_2(S*)' at test36-2-v1.c:13:1 has some indirect sub-type changes:
+  [C] 'function int foo_2(S*)' at test36-2-v0.c:13:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test36-2-v1.c:6:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test37-report-0.txt b/tests/data/test-diff-filter/test37-report-0.txt
index dc4483fb..743b2b8b 100644
--- a/tests/data/test-diff-filter/test37-report-0.txt
+++ b/tests/data/test-diff-filter/test37-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 3 functions with some indirect sub-type change:
 
-  [C] 'function void f1(A&)' at test37-v1.cc:19:1 has some indirect sub-type changes:
+  [C] 'function void f1(A&)' at test37-v0.cc:19:1 has some indirect sub-type changes:
     parameter 1 of type 'A&' has sub-type changes:
       in referenced type 'struct A' at test37-v1.cc:3:1:
         type size changed from 32 to 8 (in bits)
@@ -12,7 +12,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
             type name changed from 'int' to 'char'
             type size changed from 32 to 8 (in bits)
 
-  [C] 'function void f2(B&)' at test37-v1.cc:23:1 has some indirect sub-type changes:
+  [C] 'function void f2(B&)' at test37-v0.cc:23:1 has some indirect sub-type changes:
     parameter 1 of type 'B&' has sub-type changes:
       in referenced type 'struct B' at test37-v1.cc:8:1:
         type size changed from 32 to 8 (in bits)
@@ -21,7 +21,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
             type name changed from 'int' to 'char'
             type size changed from 32 to 8 (in bits)
 
-  [C] 'function void f3(C&)' at test37-v1.cc:27:1 has some indirect sub-type changes:
+  [C] 'function void f3(C&)' at test37-v0.cc:27:1 has some indirect sub-type changes:
     parameter 1 of type 'C&' has sub-type changes:
       in referenced type 'struct C' at test37-v1.cc:13:1:
         type size changed from 32 to 8 (in bits)
diff --git a/tests/data/test-diff-filter/test39/test39-report-0.txt b/tests/data/test-diff-filter/test39/test39-report-0.txt
index dd030b3a..1bf4623f 100644
--- a/tests/data/test-diff-filter/test39/test39-report-0.txt
+++ b/tests/data/test-diff-filter/test39/test39-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function long long int foo1(container_type*)' at test39-b-v1.c:10:1 has some indirect sub-type changes:
+  [C] 'function long long int foo1(container_type*)' at test39-b-v0.c:9:1 has some indirect sub-type changes:
     parameter 1 of type 'container_type*' has sub-type changes:
       in pointed to type 'struct container_type' at test39.h:3:1:
         type size hasn't changed
@@ -14,7 +14,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
               1 data member insertion:
                 'char m1', at offset 32 (in bits) at test39-b-v1.c:6:1
 
-  [C] 'function long long int foo2(container_type*)' at test39-c-v1.c:10:1 has some indirect sub-type changes:
+  [C] 'function long long int foo2(container_type*)' at test39-c-v0.c:9:1 has some indirect sub-type changes:
     parameter 1 of type 'container_type*' has sub-type changes:
       in pointed to type 'struct container_type' at test39.h:3:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test41-report-0.txt b/tests/data/test-diff-filter/test41-report-0.txt
index 85d17408..105cc27c 100644
--- a/tests/data/test-diff-filter/test41-report-0.txt
+++ b/tests/data/test-diff-filter/test41-report-0.txt
@@ -112,7 +112,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
           1 base class insertion:
             class std::tr1::__shared_ptr<abigail::ir::corpus, __gnu_cxx::_Lock_policy::_S_atomic> at shared_ptr.h:539:1
 
-  [C] 'method void std::_Deque_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_initialize_map(std::size_t)' at stl_deque.h:625:1 has some indirect sub-type changes:
+  [C] 'method void std::_Deque_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_initialize_map(std::size_t)' at stl_deque.h:679:1 has some indirect sub-type changes:
     'method void std::_Deque_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_initialize_map(std::size_t) {_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapEm}' now becomes 'method void std::_Deque_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char> > >::_M_initialize_map(std::size_t) {_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_initialize_mapEm}'
     implicit parameter 0 of type 'std::_Deque_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*' changed:
       in pointed to type 'class std::_Deque_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' at stl_deque.h:458:1:
@@ -155,7 +155,7 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
               name of 'std::_Deque_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_Deque_impl::_M_finish' changed to 'std::_Deque_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char> > >::_Deque_impl::_M_finish' at stl_deque.h:553:1
           and name of 'std::_Deque_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_impl' changed to 'std::_Deque_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char> > >::_M_impl' at stl_deque.h:631:1
 
-  [C] 'method void std::_Deque_base<unsigned int, std::allocator<unsigned int> >::_M_initialize_map(std::size_t)' at stl_deque.h:625:1 has some indirect sub-type changes:
+  [C] 'method void std::_Deque_base<unsigned int, std::allocator<unsigned int> >::_M_initialize_map(std::size_t)' at stl_deque.h:679:1 has some indirect sub-type changes:
     implicit parameter 0 of type 'std::_Deque_base<unsigned int, std::allocator<unsigned int> >*' has sub-type changes:
       in pointed to type 'class std::_Deque_base<unsigned int, std::allocator<unsigned int> >' at stl_deque.h:458:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-filter/test44-anonymous-data-member-report-0.txt b/tests/data/test-diff-filter/test44-anonymous-data-member-report-0.txt
index 11e1ef02..f9416314 100644
--- a/tests/data/test-diff-filter/test44-anonymous-data-member-report-0.txt
+++ b/tests/data/test-diff-filter/test44-anonymous-data-member-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function int bar(S2*)' at test44-anonymous-data-member-v1.c:26:1 has some indirect sub-type changes:
+  [C] 'function int bar(S2*)' at test-44-anonymous-data-member-v0.c:24:1 has some indirect sub-type changes:
     parameter 1 of type 'S2*' has sub-type changes:
       in pointed to type 'struct S2' at test44-anonymous-data-member-v1.c:11:1:
         type size changed from 128 to 160 (in bits)
diff --git a/tests/data/test-diff-pkg/dirpkg-3-report-2.txt b/tests/data/test-diff-pkg/dirpkg-3-report-2.txt
index 8f40db21..914f678f 100644
--- a/tests/data/test-diff-pkg/dirpkg-3-report-2.txt
+++ b/tests/data/test-diff-pkg/dirpkg-3-report-2.txt
@@ -4,7 +4,7 @@
 
   1 function with some indirect sub-type change:
 
-    [C] 'function void foo(S1&)' at obj-v0.cc:24:1 has some indirect sub-type changes:
+    [C] 'function void foo(S1&)' at obj-v0.cc:21:1 has some indirect sub-type changes:
       parameter 1 of type 'S1&' has sub-type changes:
         in referenced type 'struct S1' at obj-v0.cc:15:1:
           type size changed from 8 to 32 (in bits)
diff --git a/tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt b/tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt
index 8a1a2978..b9a91215 100644
--- a/tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt
+++ b/tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt
@@ -10,7 +10,7 @@
 
   1 function with some indirect sub-type change:
 
-    [C] 'function IceConn IceAcceptConnection(IceListenObj, IceAcceptStatus*)' at accept.c:38:1 has some indirect sub-type changes:
+    [C] 'function IceConn IceAcceptConnection(IceListenObj, IceAcceptStatus*)' at accept.c:39:1 has some indirect sub-type changes:
       return type changed:
         underlying type '_IceConn*' changed:
           in pointed to type 'struct _IceConn' at ICEconn.h:131:1:
diff --git a/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt
index 57b11a8a..cc7079e9 100644
--- a/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt
+++ b/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt
@@ -25,7 +25,7 @@
 
   2 functions with some indirect sub-type change:
 
-    [C] 'function SSLKEAType NSS_FindCertKEAType(CERTCertificate*)' at sslcert.c:939:1 has some indirect sub-type changes:
+    [C] 'function SSLKEAType NSS_FindCertKEAType(CERTCertificate*)' at sslsecur.c:696:1 has some indirect sub-type changes:
       return type changed:
         underlying type 'enum SSLKEAType' at sslt.h:38:1 changed:
           type size hasn't changed
@@ -34,7 +34,7 @@
           1 enumerator change:
             'SSLKEAType::ssl_kea_size' from value '5' to '6' at sslt.h:40:1
 
-    [C] 'function SECStatus SSL_GetCipherSuiteInfo(PRUint16, SSLCipherSuiteInfo*, PRUintn)' at sslinfo.c:294:1 has some indirect sub-type changes:
+    [C] 'function SECStatus SSL_GetCipherSuiteInfo(PRUint16, SSLCipherSuiteInfo*, PRUintn)' at sslinfo.c:274:1 has some indirect sub-type changes:
       parameter 2 of type 'SSLCipherSuiteInfo*' has sub-type changes:
         in pointed to type 'typedef SSLCipherSuiteInfo' at sslt.h:252:1:
           underlying type 'struct SSLCipherSuiteInfoStr' at sslt.h:178:1 changed:
diff --git a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt
index adeec733..5e128ae9 100644
--- a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt
+++ b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt
@@ -19,7 +19,7 @@
 
   1 function with some indirect sub-type change:
 
-    [C] 'function spice_image_compression_t spice_server_get_image_compression(SpiceServer*)' at reds.c:3618:1 has some indirect sub-type changes:
+    [C] 'function spice_image_compression_t spice_server_get_image_compression(SpiceServer*)' at reds.c:4294:1 has some indirect sub-type changes:
       return type changed:
         typedef name changed from spice_image_compression_t to SpiceImageCompression at enums.h:197:1
         underlying type 'enum spice_image_compression_t' at spice.h:471:1 changed:
diff --git a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt
index 7ce840fd..a8f5e5e1 100644
--- a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt
+++ b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt
@@ -19,7 +19,7 @@
 
   2 functions with some indirect sub-type change:
 
-    [C] 'function spice_image_compression_t spice_server_get_image_compression(SpiceServer*)' at reds.c:3618:1 has some indirect sub-type changes:
+    [C] 'function spice_image_compression_t spice_server_get_image_compression(SpiceServer*)' at reds.c:4294:1 has some indirect sub-type changes:
       return type changed:
         typedef name changed from spice_image_compression_t to SpiceImageCompression at enums.h:197:1
         underlying type 'enum spice_image_compression_t' at spice.h:471:1 changed:
@@ -44,7 +44,7 @@
             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_LZ4' value '7'
             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_ENUM_END' value '8'
 
-    [C] 'function int spice_server_set_image_compression(SpiceServer*, spice_image_compression_t)' at reds.c:3602:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_image_compression(SpiceServer*, spice_image_compression_t)' at reds.c:4286:1 has some indirect sub-type changes:
       parameter 2 of type 'typedef spice_image_compression_t' changed:
         typedef name changed from spice_image_compression_t to SpiceImageCompression at enums.h:197:1
         underlying type 'enum spice_image_compression_t' changed at spice.h:471:1, as reported earlier
diff --git a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt
index 2e793184..b2d0b268 100644
--- a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt
+++ b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt
@@ -19,7 +19,7 @@
 
   79 functions with some indirect sub-type change:
 
-    [C] 'function void spice_qxl_add_memslot(QXLInstance*, QXLDevMemSlot*)' at red_dispatcher.c:879:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_add_memslot(QXLInstance*, QXLDevMemSlot*)' at red_dispatcher.c:887:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         in pointed to type 'typedef QXLInstance' at spice-qxl.h:34:1:
           underlying type 'struct QXLInstance' at spice.h:259:1 changed:
@@ -598,103 +598,103 @@
                             'QXLDevSurfaceCreate surface_create' offset changed from 2816 to 2880 (in bits) (by +64 bits)
                             'unsigned int max_monitors' offset changed from 3200 to 3264 (in bits) (by +64 bits)
 
-    [C] 'function void spice_qxl_add_memslot_async(QXLInstance*, QXLDevMemSlot*, uint64_t)' at red_dispatcher.c:948:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_add_memslot_async(QXLInstance*, QXLDevMemSlot*, uint64_t)' at red_dispatcher.c:956:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_create_primary_surface(QXLInstance*, uint32_t, QXLDevSurfaceCreate*)' at red_dispatcher.c:909:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_create_primary_surface(QXLInstance*, uint32_t, QXLDevSurfaceCreate*)' at red_dispatcher.c:917:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_create_primary_surface_async(QXLInstance*, uint32_t, QXLDevSurfaceCreate*, uint64_t)' at red_dispatcher.c:966:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_create_primary_surface_async(QXLInstance*, uint32_t, QXLDevSurfaceCreate*, uint64_t)' at red_dispatcher.c:974:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_del_memslot(QXLInstance*, uint32_t, uint32_t)' at red_dispatcher.c:885:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_del_memslot(QXLInstance*, uint32_t, uint32_t)' at red_dispatcher.c:893:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_destroy_primary_surface(QXLInstance*, uint32_t)' at red_dispatcher.c:903:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_destroy_primary_surface(QXLInstance*, uint32_t)' at red_dispatcher.c:911:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_destroy_primary_surface_async(QXLInstance*, uint32_t, uint64_t)' at red_dispatcher.c:960:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_destroy_primary_surface_async(QXLInstance*, uint32_t, uint64_t)' at red_dispatcher.c:968:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_destroy_surface_async(QXLInstance*, uint32_t, uint64_t)' at red_dispatcher.c:973:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_destroy_surface_async(QXLInstance*, uint32_t, uint64_t)' at red_dispatcher.c:981:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_destroy_surface_wait(QXLInstance*, uint32_t)' at red_dispatcher.c:928:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_destroy_surface_wait(QXLInstance*, uint32_t)' at red_dispatcher.c:936:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_destroy_surfaces(QXLInstance*)' at red_dispatcher.c:897:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_destroy_surfaces(QXLInstance*)' at red_dispatcher.c:905:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_destroy_surfaces_async(QXLInstance*, uint64_t)' at red_dispatcher.c:954:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_destroy_surfaces_async(QXLInstance*, uint64_t)' at red_dispatcher.c:962:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_driver_unload(QXLInstance*)' at red_dispatcher.c:998:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_driver_unload(QXLInstance*)' at red_dispatcher.c:1006:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_flush_surfaces_async(QXLInstance*, uint64_t)' at red_dispatcher.c:979:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_flush_surfaces_async(QXLInstance*, uint64_t)' at red_dispatcher.c:987:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_loadvm_commands(QXLInstance*, QXLCommandExt*, uint32_t)' at red_dispatcher.c:934:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_loadvm_commands(QXLInstance*, QXLCommandExt*, uint32_t)' at red_dispatcher.c:942:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_monitors_config_async(QXLInstance*, QXLPHYSICAL, int, uint64_t)' at red_dispatcher.c:985:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_monitors_config_async(QXLInstance*, QXLPHYSICAL, int, uint64_t)' at red_dispatcher.c:993:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_oom(QXLInstance*)' at red_dispatcher.c:852:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_oom(QXLInstance*)' at red_dispatcher.c:860:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_reset_cursor(QXLInstance*)' at red_dispatcher.c:922:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_reset_cursor(QXLInstance*)' at red_dispatcher.c:930:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_reset_image_cache(QXLInstance*)' at red_dispatcher.c:916:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_reset_image_cache(QXLInstance*)' at red_dispatcher.c:924:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_reset_memslots(QXLInstance*)' at red_dispatcher.c:891:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_reset_memslots(QXLInstance*)' at red_dispatcher.c:899:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_set_max_monitors(QXLInstance*, unsigned int)' at red_dispatcher.c:992:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_set_max_monitors(QXLInstance*, unsigned int)' at red_dispatcher.c:1000:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_start(QXLInstance*)' at red_dispatcher.c:858:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_start(QXLInstance*)' at red_dispatcher.c:866:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_stop(QXLInstance*)' at red_dispatcher.c:864:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_stop(QXLInstance*)' at red_dispatcher.c:872:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_update_area(QXLInstance*, uint32_t, QXLRect*, QXLRect*, uint32_t, uint32_t)' at red_dispatcher.c:870:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_update_area(QXLInstance*, uint32_t, QXLRect*, QXLRect*, uint32_t, uint32_t)' at red_dispatcher.c:878:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_update_area_async(QXLInstance*, uint32_t, QXLRect*, uint32_t, uint64_t)' at red_dispatcher.c:940:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_update_area_async(QXLInstance*, uint32_t, QXLRect*, uint32_t, uint64_t)' at red_dispatcher.c:948:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function void spice_qxl_wakeup(QXLInstance*)' at red_dispatcher.c:846:1 has some indirect sub-type changes:
+    [C] 'function void spice_qxl_wakeup(QXLInstance*)' at red_dispatcher.c:854:1 has some indirect sub-type changes:
       parameter 1 of type 'QXLInstance*' has sub-type changes:
         pointed to type 'typedef QXLInstance' changed at spice.h:103:1, as reported earlier
 
-    [C] 'function int spice_server_add_client(SpiceServer*, int, int)' at reds.c:2391:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_add_client(SpiceServer*, int, int)' at reds.c:3050:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         in pointed to type 'typedef SpiceServer' at spice-server.h:38:1:
           underlying type 'struct RedsState' at reds-private.h:127:1 changed:
@@ -777,80 +777,80 @@
                     type of 'MainChannelClient* mcc' changed:
                       pointed to type 'typedef MainChannelClient' changed at red_channel.h:138:1, as reported earlier
 
-    [C] 'function int spice_server_add_interface(SpiceServer*, SpiceBaseInstance*)' at reds.c:3159:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_add_interface(SpiceServer*, SpiceBaseInstance*)' at reds.c:3830:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_add_renderer(SpiceServer*, const char*)' at reds.c:3704:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_add_renderer(SpiceServer*, const char*)' at reds.c:4382:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_add_ssl_client(SpiceServer*, int, int)' at reds.c:2408:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_add_ssl_client(SpiceServer*, int, int)' at reds.c:3073:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function void spice_server_char_device_wakeup(SpiceCharDeviceInstance*)' at reds.c:3024:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_char_device_wakeup(SpiceCharDeviceInstance*)' at reds.c:3699:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceCharDeviceInstance*' has sub-type changes:
         pointed to type 'typedef SpiceCharDeviceInstance' changed at spice.h:399:1, as reported earlier
 
-    [C] 'function void spice_server_destroy(SpiceServer*)' at reds.c:3419:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_destroy(SpiceServer*)' at reds.c:4110:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function spice_image_compression_t spice_server_get_image_compression(SpiceServer*)' at reds.c:3618:1 has some indirect sub-type changes:
+    [C] 'function spice_image_compression_t spice_server_get_image_compression(SpiceServer*)' at reds.c:4294:1 has some indirect sub-type changes:
       return type changed:
         typedef name changed from spice_image_compression_t to SpiceImageCompression at enums.h:197:1
         underlying type 'enum spice_image_compression_t' changed at spice.h:471:1, as reported earlier
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_get_num_clients(SpiceServer*)' at reds.c:845:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_get_num_clients(SpiceServer*)' at reds.c:940:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_get_peer_info(SpiceServer*, sockaddr*, socklen_t*)' at reds.c:3689:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_get_peer_info(SpiceServer*, sockaddr*, socklen_t*)' at reds.c:4367:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_get_sock_info(SpiceServer*, sockaddr*, socklen_t*)' at reds.c:3680:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_get_sock_info(SpiceServer*, sockaddr*, socklen_t*)' at reds.c:4358:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_init(SpiceServer*, SpiceCoreInterface*)' at reds.c:3407:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_init(SpiceServer*, SpiceCoreInterface*)' at reds.c:4098:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
       parameter 2 of type 'SpiceCoreInterface*' has sub-type changes:
         pointed to type 'typedef SpiceCoreInterface' changed at spice.h:49:1, as reported earlier
 
-    [C] 'function int spice_server_is_server_mouse(SpiceServer*)' at reds.c:3698:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_is_server_mouse(SpiceServer*)' at reds.c:4376:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_migrate_connect(SpiceServer*, const char*, int, int, const char*)' at reds.c:3791:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_migrate_connect(SpiceServer*, const char*, int, int, const char*)' at reds.c:4469:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_migrate_end(SpiceServer*, int)' at reds.c:3866:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_migrate_end(SpiceServer*, int)' at reds.c:4558:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_migrate_info(SpiceServer*, const char*, int, int, const char*)' at reds.c:3842:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_migrate_info(SpiceServer*, const char*, int, int, const char*)' at reds.c:4520:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_migrate_start(SpiceServer*)' at reds.c:3856:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_migrate_start(SpiceServer*)' at reds.c:4534:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_migrate_switch(SpiceServer*)' at reds.c:3899:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_migrate_switch(SpiceServer*)' at reds.c:4591:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function SpiceServer* spice_server_new()' at reds.c:3398:1 has some indirect sub-type changes:
+    [C] 'function SpiceServer* spice_server_new()' at reds.c:4089:1 has some indirect sub-type changes:
       return type changed:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function void spice_server_playback_get_buffer(SpicePlaybackInstance*, uint32_t**, uint32_t*)' at snd_worker.c:1081:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_playback_get_buffer(SpicePlaybackInstance*, uint32_t**, uint32_t*)' at snd_worker.c:1077:1 has some indirect sub-type changes:
       parameter 1 of type 'SpicePlaybackInstance*' has sub-type changes:
         in pointed to type 'typedef SpicePlaybackInstance' at spice-audio.h:33:1:
           underlying type 'struct SpicePlaybackInstance' at spice.h:350:1 changed:
@@ -905,31 +905,31 @@
                         in pointed to type 'typedef SpicePlaybackInstance' at spice-audio.h:33:1:
                           underlying type 'struct SpicePlaybackInstance' changed, as being reported
 
-    [C] 'function void spice_server_playback_put_samples(SpicePlaybackInstance*, uint32_t*)' at snd_worker.c:1100:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_playback_put_samples(SpicePlaybackInstance*, uint32_t*)' at snd_worker.c:1096:1 has some indirect sub-type changes:
       parameter 1 of type 'SpicePlaybackInstance*' has sub-type changes:
         pointed to type 'typedef SpicePlaybackInstance' changed at spice.h:335:1, as reported earlier
 
-    [C] 'function void spice_server_playback_set_mute(SpicePlaybackInstance*, uint8_t)' at snd_worker.c:1021:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_playback_set_mute(SpicePlaybackInstance*, uint8_t)' at snd_worker.c:1017:1 has some indirect sub-type changes:
       parameter 1 of type 'SpicePlaybackInstance*' has sub-type changes:
         pointed to type 'typedef SpicePlaybackInstance' changed at spice.h:335:1, as reported earlier
 
-    [C] 'function void spice_server_playback_set_volume(SpicePlaybackInstance*, uint8_t, uint16_t*)' at snd_worker.c:1003:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_playback_set_volume(SpicePlaybackInstance*, uint8_t, uint16_t*)' at snd_worker.c:999:1 has some indirect sub-type changes:
       parameter 1 of type 'SpicePlaybackInstance*' has sub-type changes:
         pointed to type 'typedef SpicePlaybackInstance' changed at spice.h:335:1, as reported earlier
 
-    [C] 'function void spice_server_playback_start(SpicePlaybackInstance*)' at snd_worker.c:1035:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_playback_start(SpicePlaybackInstance*)' at snd_worker.c:1031:1 has some indirect sub-type changes:
       parameter 1 of type 'SpicePlaybackInstance*' has sub-type changes:
         pointed to type 'typedef SpicePlaybackInstance' changed at spice.h:335:1, as reported earlier
 
-    [C] 'function void spice_server_playback_stop(SpicePlaybackInstance*)' at snd_worker.c:1054:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_playback_stop(SpicePlaybackInstance*)' at snd_worker.c:1050:1 has some indirect sub-type changes:
       parameter 1 of type 'SpicePlaybackInstance*' has sub-type changes:
         pointed to type 'typedef SpicePlaybackInstance' changed at spice.h:335:1, as reported earlier
 
-    [C] 'function void spice_server_port_event(SpiceCharDeviceInstance*, uint8_t)' at spicevmc.c:574:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_port_event(SpiceCharDeviceInstance*, uint8_t)' at spicevmc.c:569:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceCharDeviceInstance*' has sub-type changes:
         pointed to type 'typedef SpiceCharDeviceInstance' changed at spice.h:399:1, as reported earlier
 
-    [C] 'function uint32_t spice_server_record_get_samples(SpiceRecordInstance*, uint32_t*, uint32_t)' at snd_worker.c:1331:1 has some indirect sub-type changes:
+    [C] 'function uint32_t spice_server_record_get_samples(SpiceRecordInstance*, uint32_t*, uint32_t)' at snd_worker.c:1329:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceRecordInstance*' has sub-type changes:
         in pointed to type 'typedef SpiceRecordInstance' at spice-audio.h:67:1:
           underlying type 'struct SpiceRecordInstance' at spice.h:380:1 changed:
@@ -947,118 +947,118 @@
                         in pointed to type 'typedef SpiceRecordInstance' at spice-audio.h:67:1:
                           underlying type 'struct SpiceRecordInstance' changed, as being reported
 
-    [C] 'function void spice_server_record_set_mute(SpiceRecordInstance*, uint8_t)' at snd_worker.c:1279:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_record_set_mute(SpiceRecordInstance*, uint8_t)' at snd_worker.c:1277:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceRecordInstance*' has sub-type changes:
         pointed to type 'typedef SpiceRecordInstance' changed at spice.h:369:1, as reported earlier
 
-    [C] 'function void spice_server_record_set_volume(SpiceRecordInstance*, uint8_t, uint16_t*)' at snd_worker.c:1261:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_record_set_volume(SpiceRecordInstance*, uint8_t, uint16_t*)' at snd_worker.c:1259:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceRecordInstance*' has sub-type changes:
         pointed to type 'typedef SpiceRecordInstance' changed at spice.h:369:1, as reported earlier
 
-    [C] 'function void spice_server_record_start(SpiceRecordInstance*)' at snd_worker.c:1293:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_record_start(SpiceRecordInstance*)' at snd_worker.c:1291:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceRecordInstance*' has sub-type changes:
         pointed to type 'typedef SpiceRecordInstance' changed at spice.h:369:1, as reported earlier
 
-    [C] 'function void spice_server_record_stop(SpiceRecordInstance*)' at snd_worker.c:1313:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_record_stop(SpiceRecordInstance*)' at snd_worker.c:1311:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceRecordInstance*' has sub-type changes:
         pointed to type 'typedef SpiceRecordInstance' changed at spice.h:369:1, as reported earlier
 
-    [C] 'function void spice_server_set_addr(SpiceServer*, const char*, int)' at reds.c:3455:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_set_addr(SpiceServer*, const char*, int)' at reds.c:4146:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_agent_copypaste(SpiceServer*, int)' at reds.c:3747:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_agent_copypaste(SpiceServer*, int)' at reds.c:4425:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_agent_file_xfer(SpiceServer*, int)' at reds.c:3756:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_agent_file_xfer(SpiceServer*, int)' at reds.c:4434:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_agent_mouse(SpiceServer*, int)' at reds.c:3739:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_agent_mouse(SpiceServer*, int)' at reds.c:4417:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_channel_security(SpiceServer*, const char*, int)' at reds.c:3648:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_channel_security(SpiceServer*, const char*, int)' at reds.c:4324:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_compat_version(SpiceServer*, spice_compat_version_t)' at reds.c:3430:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_compat_version(SpiceServer*, spice_compat_version_t)' at reds.c:4121:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_exit_on_disconnect(SpiceServer*, int)' at reds.c:3479:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_exit_on_disconnect(SpiceServer*, int)' at reds.c:4165:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_image_compression(SpiceServer*, spice_image_compression_t)' at reds.c:3602:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_image_compression(SpiceServer*, spice_image_compression_t)' at reds.c:4286:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
       parameter 2 of type 'typedef spice_image_compression_t' changed:
         typedef name changed from spice_image_compression_t to SpiceImageCompression at enums.h:197:1
         underlying type 'enum spice_image_compression_t' changed at spice.h:471:1, as reported earlier
 
-    [C] 'function int spice_server_set_jpeg_compression(SpiceServer*, spice_wan_compression_t)' at reds.c:3624:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_jpeg_compression(SpiceServer*, spice_wan_compression_t)' at reds.c:4300:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_listen_socket_fd(SpiceServer*, int)' at reds.c:3472:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_listen_socket_fd(SpiceServer*, int)' at reds.c:4158:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function void spice_server_set_name(SpiceServer*, const char*)' at reds.c:3517:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_set_name(SpiceServer*, const char*)' at reds.c:4203:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_noauth(SpiceServer*)' at reds.c:3486:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_noauth(SpiceServer*)' at reds.c:4172:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_playback_compression(SpiceServer*, int)' at reds.c:3732:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_playback_compression(SpiceServer*, int)' at reds.c:4410:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_port(SpiceServer*, int)' at reds.c:3445:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_port(SpiceServer*, int)' at reds.c:4136:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_sasl(SpiceServer*, int)' at reds.c:3494:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_sasl(SpiceServer*, int)' at reds.c:4180:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_sasl_appname(SpiceServer*, const char*)' at reds.c:3505:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_sasl_appname(SpiceServer*, const char*)' at reds.c:4191:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function void spice_server_set_seamless_migration(SpiceServer*, int)' at reds.c:3941:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_set_seamless_migration(SpiceServer*, int)' at reds.c:4633:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_streaming_video(SpiceServer*, int)' at reds.c:3720:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_streaming_video(SpiceServer*, int)' at reds.c:4398:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_ticket(SpiceServer*, const char*, int, int, int)' at reds.c:3529:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_ticket(SpiceServer*, const char*, int, int, int)' at reds.c:4215:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_tls(SpiceServer*, int, const char*, const char*, const char*, const char*, const char*, const char*)' at reds.c:3564:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_tls(SpiceServer*, int, const char*, const char*, const char*, const char*, const char*, const char*)' at reds.c:4248:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function void spice_server_set_uuid(SpiceServer*, const uint8_t*)' at reds.c:3523:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_set_uuid(SpiceServer*, const uint8_t*)' at reds.c:4209:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function int spice_server_set_zlib_glz_compression(SpiceServer*, spice_wan_compression_t)' at reds.c:3636:1 has some indirect sub-type changes:
+    [C] 'function int spice_server_set_zlib_glz_compression(SpiceServer*, spice_wan_compression_t)' at reds.c:4312:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function void spice_server_vm_start(SpiceServer*)' at reds.c:3911:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_vm_start(SpiceServer*)' at reds.c:4603:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
-    [C] 'function void spice_server_vm_stop(SpiceServer*)' at reds.c:3926:1 has some indirect sub-type changes:
+    [C] 'function void spice_server_vm_stop(SpiceServer*)' at reds.c:4618:1 has some indirect sub-type changes:
       parameter 1 of type 'SpiceServer*' has sub-type changes:
         pointed to type 'typedef SpiceServer' changed at spice.h:440:1, as reported earlier
 
diff --git a/tests/data/test-diff-pkg/symlink-dir-test1-report0.txt b/tests/data/test-diff-pkg/symlink-dir-test1-report0.txt
index 26c6b496..25b3a0fd 100644
--- a/tests/data/test-diff-pkg/symlink-dir-test1-report0.txt
+++ b/tests/data/test-diff-pkg/symlink-dir-test1-report0.txt
@@ -4,7 +4,7 @@
 
   1 function with some indirect sub-type change:
 
-    [C] 'function int f(S*)' at foo.c:10:1 has some indirect sub-type changes:
+    [C] 'function int f(S*)' at foo.c:9:1 has some indirect sub-type changes:
       parameter 1 of type 'S*' has sub-type changes:
         in pointed to type 'struct S' at foo.c:3:1:
           type size changed from 32 to 64 (in bits)
diff --git a/tests/data/test-diff-pkg/tarpkg-1-report-0.txt b/tests/data/test-diff-pkg/tarpkg-1-report-0.txt
index 40813eae..d246c023 100644
--- a/tests/data/test-diff-pkg/tarpkg-1-report-0.txt
+++ b/tests/data/test-diff-pkg/tarpkg-1-report-0.txt
@@ -4,7 +4,7 @@
 
   1 function with some indirect sub-type change:
 
-    [C] 'function void bar(S&)' at obj-v0.cc:16:1 has some indirect sub-type changes:
+    [C] 'function void bar(S&)' at obj-v0.cc:14:1 has some indirect sub-type changes:
       parameter 1 of type 'S&' has sub-type changes:
         in referenced type 'struct S' at obj-v0.cc:4:1:
           type size changed from 32 to 64 (in bits)
diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
index 07d2f187..28cf8588 100644
--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
@@ -26,7 +26,7 @@
 
   10 functions with some indirect sub-type change:
 
-    [C] 'method void tbb::filter::set_end_of_input()' at pipeline.cpp:700:1 has some indirect sub-type changes:
+    [C] 'method void tbb::filter::set_end_of_input()' at pipeline.cpp:710:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::filter*' has sub-type changes:
         in pointed to type 'class tbb::filter' at pipeline.h:65:1:
           type size hasn't changed
@@ -41,7 +41,7 @@
                     1 base class insertion:
                       class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method tbb::task& tbb::internal::allocate_root_with_context_proxy::allocate(std::size_t) const' at task.h:135:1 has some indirect sub-type changes:
+    [C] 'method tbb::task& tbb::internal::allocate_root_with_context_proxy::allocate(std::size_t) const' at task.h:145:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'const tbb::internal::allocate_root_with_context_proxy*' has sub-type changes:
         in pointed to type 'const tbb::internal::allocate_root_with_context_proxy':
           in unqualified underlying type 'class tbb::internal::allocate_root_with_context_proxy' at task.h:131:1:
@@ -163,7 +163,7 @@
                           'tbb::atomic<long unsigned int> my_nonlocal_ctx_list_update' offset changed from 2944 to 2880 (in bits) (by -64 bits)
                           '__cilk_tbb_unwatch_thunk my_cilk_unwatch_thunk' offset changed from 3008 to 2944 (in bits) (by -64 bits)
 
-    [C] 'method void tbb::internal::concurrent_queue_base_v3::assign(const tbb::internal::concurrent_queue_base&)' at concurrent_queue.cpp:570:1 has some indirect sub-type changes:
+    [C] 'method void tbb::internal::concurrent_queue_base_v3::assign(const tbb::internal::concurrent_queue_base&)' at concurrent_queue.cpp:529:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::internal::concurrent_queue_base_v3*' has sub-type changes:
         in pointed to type 'class tbb::internal::concurrent_queue_base_v3' at _concurrent_queue_impl.h:834:1:
           type size hasn't changed
@@ -178,7 +178,7 @@
                     1 data member change:
                       'tbb::spin_mutex mutex_ec' offset changed from 0 to 8 (in bits) (by +8 bits)
 
-    [C] 'method bool tbb::internal::hash_map_segment_base::internal_grow_predicate() const' at concurrent_hash_map.cpp:44:1 has some indirect sub-type changes:
+    [C] 'method bool tbb::internal::hash_map_segment_base::internal_grow_predicate() const' at concurrent_hash_map.cpp:52:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'const tbb::internal::hash_map_segment_base*' has sub-type changes:
         in pointed to type 'const tbb::internal::hash_map_segment_base':
           in unqualified underlying type 'struct tbb::internal::hash_map_segment_base' at concurrent_hash_map.cpp:27:1:
@@ -192,7 +192,7 @@
                       class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
                     no data member change (1 filtered);
 
-    [C] 'function void tbb::internal::throw_exception_v4(tbb::internal::exception_id)' at tbb_misc.cpp:119:1 has some indirect sub-type changes:
+    [C] 'function void tbb::internal::throw_exception_v4(tbb::internal::exception_id)' at tbb_misc.cpp:126:1 has some indirect sub-type changes:
       parameter 1 of type 'enum tbb::internal::exception_id' has sub-type changes:
         type size hasn't changed
         1 enumerator insertion:
@@ -200,35 +200,35 @@
         1 enumerator change:
           'tbb::internal::exception_id::eid_max' from value '20' to '21' at tbb_exception.h:79:1
 
-    [C] 'method void tbb::mutex::internal_construct()' at mutex.h:218:1 has some indirect sub-type changes:
+    [C] 'method void tbb::mutex::internal_construct()' at mutex.h:224:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::mutex*' has sub-type changes:
         in pointed to type 'class tbb::mutex' at mutex.h:40:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::queuing_mutex::internal_construct()' at queuing_mutex.h:106:1 has some indirect sub-type changes:
+    [C] 'method void tbb::queuing_mutex::internal_construct()' at queuing_mutex.h:114:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::queuing_mutex*' has sub-type changes:
         in pointed to type 'class tbb::queuing_mutex' at queuing_mutex.h:45:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::queuing_rw_mutex::internal_construct()' at queuing_rw_mutex.h:146:1 has some indirect sub-type changes:
+    [C] 'method void tbb::queuing_rw_mutex::internal_construct()' at queuing_rw_mutex.h:154:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::queuing_rw_mutex*' has sub-type changes:
         in pointed to type 'class tbb::queuing_rw_mutex' at queuing_rw_mutex.h:47:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::recursive_mutex::internal_construct()' at recursive_mutex.h:224:1 has some indirect sub-type changes:
+    [C] 'method void tbb::recursive_mutex::internal_construct()' at recursive_mutex.h:230:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::recursive_mutex*' has sub-type changes:
         in pointed to type 'class tbb::recursive_mutex' at recursive_mutex.h:39:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method tbb::thread_bound_filter::result_type tbb::thread_bound_filter::process_item()' at pipeline.cpp:712:1 has some indirect sub-type changes:
+    [C] 'method tbb::thread_bound_filter::result_type tbb::thread_bound_filter::process_item()' at pipeline.cpp:722:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::thread_bound_filter*' has sub-type changes:
         in pointed to type 'class tbb::thread_bound_filter' at pipeline.h:197:1:
           type size hasn't changed
diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
index 203fd4c0..675d766d 100644
--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
@@ -26,7 +26,7 @@
 
   8 functions with some indirect sub-type change:
 
-    [C] 'method tbb::task& tbb::internal::allocate_root_with_context_proxy::allocate(std::size_t) const' at task.h:135:1 has some indirect sub-type changes:
+    [C] 'method tbb::task& tbb::internal::allocate_root_with_context_proxy::allocate(std::size_t) const' at task.h:145:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'const tbb::internal::allocate_root_with_context_proxy*' has sub-type changes:
         in pointed to type 'const tbb::internal::allocate_root_with_context_proxy':
           in unqualified underlying type 'class tbb::internal::allocate_root_with_context_proxy' at task.h:131:1:
@@ -43,7 +43,7 @@
                       array type size changed from 640 to 576
                       array type subrange 1 changed length from 80 to 72
 
-    [C] 'function void tbb::internal::throw_exception_v4(tbb::internal::exception_id)' at tbb_misc.cpp:119:1 has some indirect sub-type changes:
+    [C] 'function void tbb::internal::throw_exception_v4(tbb::internal::exception_id)' at tbb_misc.cpp:126:1 has some indirect sub-type changes:
       parameter 1 of type 'enum tbb::internal::exception_id' has sub-type changes:
         type size hasn't changed
         1 enumerator insertion:
@@ -51,42 +51,42 @@
         1 enumerator change:
           'tbb::internal::exception_id::eid_max' from value '20' to '21' at tbb_exception.h:79:1
 
-    [C] 'method void tbb::mutex::internal_construct()' at mutex.h:218:1 has some indirect sub-type changes:
+    [C] 'method void tbb::mutex::internal_construct()' at mutex.h:224:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::mutex*' has sub-type changes:
         in pointed to type 'class tbb::mutex' at mutex.h:40:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::queuing_mutex::internal_construct()' at queuing_mutex.h:106:1 has some indirect sub-type changes:
+    [C] 'method void tbb::queuing_mutex::internal_construct()' at queuing_mutex.h:114:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::queuing_mutex*' has sub-type changes:
         in pointed to type 'class tbb::queuing_mutex' at queuing_mutex.h:45:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::queuing_rw_mutex::internal_construct()' at queuing_rw_mutex.h:146:1 has some indirect sub-type changes:
+    [C] 'method void tbb::queuing_rw_mutex::internal_construct()' at queuing_rw_mutex.h:154:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::queuing_rw_mutex*' has sub-type changes:
         in pointed to type 'class tbb::queuing_rw_mutex' at queuing_rw_mutex.h:47:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::recursive_mutex::internal_construct()' at recursive_mutex.h:224:1 has some indirect sub-type changes:
+    [C] 'method void tbb::recursive_mutex::internal_construct()' at recursive_mutex.h:230:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::recursive_mutex*' has sub-type changes:
         in pointed to type 'class tbb::recursive_mutex' at recursive_mutex.h:39:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::spin_mutex::internal_construct()' at spin_mutex.h:138:1 has some indirect sub-type changes:
+    [C] 'method void tbb::spin_mutex::internal_construct()' at spin_mutex.h:143:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::spin_mutex*' has sub-type changes:
         in pointed to type 'class tbb::spin_mutex' at spin_mutex.h:40:1:
           type size hasn't changed
           1 base class insertion:
             class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
 
-    [C] 'method void tbb::spin_rw_mutex_v3::internal_acquire_reader()' at spin_rw_mutex.h:53:1 has some indirect sub-type changes:
+    [C] 'method void tbb::spin_rw_mutex_v3::internal_acquire_reader()' at spin_rw_mutex.h:54:1 has some indirect sub-type changes:
       implicit parameter 0 of type 'tbb::spin_rw_mutex_v3*' has sub-type changes:
         in pointed to type 'class tbb::spin_rw_mutex_v3' at spin_rw_mutex.h:42:1:
           type size hasn't changed
diff --git a/tests/data/test-diff-suppr/PR28073/PR28073-output-2.txt b/tests/data/test-diff-suppr/PR28073/PR28073-output-2.txt
index 8731043c..d733d360 100644
--- a/tests/data/test-diff-suppr/PR28073/PR28073-output-2.txt
+++ b/tests/data/test-diff-suppr/PR28073/PR28073-output-2.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void access_bigstruct(bigstruct*)' at PR28073-bitfield-removed.c:12:1 has some indirect sub-type changes:
+  [C] 'function void access_bigstruct(bigstruct*)' at plop.c:13:1 has some indirect sub-type changes:
     parameter 1 of type 'bigstruct*' has sub-type changes:
       in pointed to type 'struct bigstruct' at PR28073-bitfield-removed.c:7:1:
         type size changed from 1040 to 1032 (in bits)
diff --git a/tests/data/test-diff-suppr/libtest48-soname-abixml-report-1.txt b/tests/data/test-diff-suppr/libtest48-soname-abixml-report-1.txt
index a0c45d8c..3bb0a715 100644
--- a/tests/data/test-diff-suppr/libtest48-soname-abixml-report-1.txt
+++ b/tests/data/test-diff-suppr/libtest48-soname-abixml-report-1.txt
@@ -6,7 +6,7 @@ SONAME changed from 'test48-soname-abixml-v0' to 'test48-soname-abixml-v1'
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void foo(S*)' at test48-soname-abixml-v1.c:8:1 has some indirect sub-type changes:
+  [C] 'function void foo(S*)' at test48-soname-abixml-v0.c:7:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'struct S' at test48-soname-abixml-v1.c:1:1:
         type size changed from 32 to 64 (in bits)
diff --git a/tests/data/test-diff-suppr/test30-report-0.txt b/tests/data/test-diff-suppr/test30-report-0.txt
index 7c853087..e273d013 100644
--- a/tests/data/test-diff-suppr/test30-report-0.txt
+++ b/tests/data/test-diff-suppr/test30-report-0.txt
@@ -13,11 +13,11 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'method virtual int non_defined_class::virtual_func0()' at test30-priv-lib-v1.h:15:1 has some indirect sub-type changes:
+  [C] 'method virtual int non_defined_class::virtual_func0()' at test30-priv-lib-v0.h:14:1 has some indirect sub-type changes:
     the vtable offset of method virtual int non_defined_class::virtual_func0() changed from 3 to 4
       note that this is an ABI incompatible change to the vtable of class non_defined_class
 
-  [C] 'function int public_function(S*)' at test30-pub-lib-v1.cc:22:1 has some indirect sub-type changes:
+  [C] 'function int public_function(S*)' at test30-pub-lib-v0.cc:21:1 has some indirect sub-type changes:
     parameter 1 of type 'S*' has sub-type changes:
       in pointed to type 'class S' at test30-pub-lib-v1.h:1:1:
         type size hasn't changed
diff --git a/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt b/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt
index 7dd246c1..6ecab6a8 100644
--- a/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt
+++ b/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 2 functions with some indirect sub-type change:
 
-  [C] 'function void bar(EnumType1)' at test41-enumerator-changes-v1.cc:24:1 has some indirect sub-type changes:
+  [C] 'function void bar(EnumType1)' at test41-enumerator-changes-v0.cc:22:1 has some indirect sub-type changes:
     parameter 1 of type 'enum EnumType1' has sub-type changes:
       type size hasn't changed
       1 enumerator insertion:
@@ -11,7 +11,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
       1 enumerator change:
         'EnumType1::eenum_count' from value '3' to '4' at test41-enumerator-changes-v1.cc:10:1
 
-  [C] 'function void foo(EnumType0)' at test41-enumerator-changes-v1.cc:20:1 has some indirect sub-type changes:
+  [C] 'function void foo(EnumType0)' at test41-enumerator-changes-v0.cc:18:1 has some indirect sub-type changes:
     parameter 1 of type 'enum EnumType0' has sub-type changes:
       type size hasn't changed
       1 enumerator insertion:
diff --git a/tests/data/test-diff-suppr/test42-negative-suppr-type-report-0.txt b/tests/data/test-diff-suppr/test42-negative-suppr-type-report-0.txt
index 4597f3cb..5b839f3a 100644
--- a/tests/data/test-diff-suppr/test42-negative-suppr-type-report-0.txt
+++ b/tests/data/test-diff-suppr/test42-negative-suppr-type-report-0.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void func0(type_to_keep)' at test42-negative-suppr-type-v1.cc:15:1 has some indirect sub-type changes:
+  [C] 'function void func0(type_to_keep)' at test42-negative-suppr-type-v0.cc:13:1 has some indirect sub-type changes:
     parameter 1 of type 'struct type_to_keep' has sub-type changes:
       type size changed from 32 to 64 (in bits)
       1 data member insertion:
diff --git a/tests/data/test-diff-suppr/test42-negative-suppr-type-report-1.txt b/tests/data/test-diff-suppr/test42-negative-suppr-type-report-1.txt
index 4597f3cb..5b839f3a 100644
--- a/tests/data/test-diff-suppr/test42-negative-suppr-type-report-1.txt
+++ b/tests/data/test-diff-suppr/test42-negative-suppr-type-report-1.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 1 function with some indirect sub-type change:
 
-  [C] 'function void func0(type_to_keep)' at test42-negative-suppr-type-v1.cc:15:1 has some indirect sub-type changes:
+  [C] 'function void func0(type_to_keep)' at test42-negative-suppr-type-v0.cc:13:1 has some indirect sub-type changes:
     parameter 1 of type 'struct type_to_keep' has sub-type changes:
       type size changed from 32 to 64 (in bits)
       1 data member insertion:
diff --git a/tests/data/test-diff-suppr/test6-fn-suppr-report-0-1.txt b/tests/data/test-diff-suppr/test6-fn-suppr-report-0-1.txt
index 8bcb277c..1a3d77b7 100644
--- a/tests/data/test-diff-suppr/test6-fn-suppr-report-0-1.txt
+++ b/tests/data/test-diff-suppr/test6-fn-suppr-report-0-1.txt
@@ -3,7 +3,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 3 functions with some indirect sub-type change:
 
-  [C] 'function void bar(S1*)' at test6-fn-suppr-v1.cc:48:1 has some indirect sub-type changes:
+  [C] 'function void bar(S1*)' at test6-fn-suppr-v0.cc:38:1 has some indirect sub-type changes:
     parameter 1 of type 'S1*' has sub-type changes:
       in pointed to type 'struct S1' at test6-fn-suppr-v1.cc:23:1:
         type size changed from 32 to 64 (in bits)
@@ -12,7 +12,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
         1 data member change:
           'int m0' offset changed from 0 to 32 (in bits) (by +32 bits)
 
-  [C] 'function int bar(S&)' at test6-fn-suppr-v1.cc:42:1 has some indirect sub-type changes:
+  [C] 'function int bar(S&)' at test6-fn-suppr-v0.cc:32:1 has some indirect sub-type changes:
     parameter 1 of type 'S&' has sub-type changes:
       in referenced type 'struct S' at test6-fn-suppr-v1.cc:14:1:
         type size changed from 32 to 64 (in bits)
@@ -21,7 +21,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
         1 data member change:
           'int m0' offset changed from 0 to 32 (in bits) (by +32 bits)
 
-  [C] 'function char bar(int, S2**)' at test6-fn-suppr-v1.cc:52:1 has some indirect sub-type changes:
+  [C] 'function char bar(int, S2**)' at test6-fn-suppr-v0.cc:42:1 has some indirect sub-type changes:
     parameter 2 of type 'S2**' has sub-type changes:
       in pointed to type 'S2*':
         in pointed to type 'struct S2' at test6-fn-suppr-v1.cc:32:1:
