Imported Upstream version 1.61.2 upstream/1.61.2
authorDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 18 Sep 2020 05:40:56 +0000 (14:40 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 18 Sep 2020 05:40:56 +0000 (14:40 +0900)
18 files changed:
NEWS
girepository/girparser.c
girepository/gistructinfo.c
giscanner/ccompiler.py
giscanner/dumper.py
giscanner/transformer.py
meson.build
tests/scanner/Regress-1.0-expected.gir
tests/scanner/Utility-1.0-expected.gir
tests/scanner/WarnLib-1.0-expected.gir
tests/scanner/annotation.c
tests/scanner/drawable.c
tests/scanner/foo.c
tests/scanner/test_ccompiler.py
tests/scanner/utility.c
tests/scanner/warnlib.c
tools/g-ir-tool-template.in
tools/meson.build

diff --git a/NEWS b/NEWS
index 51d13fc..8e98230 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+1.61.2 - 2019-08-17
+-------------------
+
+* dumper: Use the distutils linker :mr:`170` (:user:`David Demelier <markand>`)
+* structinfo: Fix offset in find_method() :mr:`171` (:user:`Florian Müllner <fmuellner>`)
+* tests: Don't include "config.h" in installed files :mr:`172` (:user:`Philip Chimento <ptomato>`)
+* meson: Make meson.override_find_program working on more complex use cases :mr:`173` (:user:`Thibault Saunier <thiblahute>`)
+
+
 1.61.1 - 2019-08-07
 -------------------
 
index 53450ba..fb47e75 100644 (file)
@@ -309,6 +309,10 @@ locate_gir (GIrParser  *parser,
   if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR))
     return path;
   g_free (path);
+  path = g_build_filename (UNINSTALLED_GIR_DIR, girname, NULL);
+  if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR))
+    return path;
+  g_free (path);
   return NULL;
 }
 
index 7db417f..a1edfa9 100644 (file)
@@ -215,12 +215,9 @@ g_struct_info_find_method (GIStructInfo *info,
 {
   gint offset;
   GIRealInfo *rinfo = (GIRealInfo *)info;
-  Header *header = (Header *)rinfo->typelib->data;
   StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
 
-  offset = rinfo->offset + header->struct_blob_size
-    + blob->n_fields * header->field_blob_size;
-
+  offset = g_struct_get_field_offset (info, blob->n_fields);
   return _g_base_info_find_method ((GIBaseInfo*)info, offset, blob->n_methods, name);
 }
 
index 32c9296..35549da 100644 (file)
@@ -413,6 +413,15 @@ class CCompiler(object):
                 ", ".join(not_resolved))
         return shlibs
 
+    @property
+    def linker_cmd(self):
+        if self.check_is_msvc():
+            if not self.compiler.initialized:
+                self.compiler.initialize()
+            return [self.compiler.linker]
+        else:
+            return self.compiler.linker_exe
+
     def check_is_msvc(self):
         return isinstance(self.compiler, MSVCCompiler)
 
index 2b851a5..efa1878 100644 (file)
@@ -91,10 +91,6 @@ class DumpCompiler(object):
         self._uninst_srcdir = os.environ.get('UNINSTALLED_INTROSPECTION_SRCDIR')
         self._packages = ['gio-2.0', 'gmodule-2.0']
         self._packages.extend(options.packages)
-        if self._compiler.check_is_msvc():
-            self._linker_cmd = ['link.exe']
-        else:
-            self._linker_cmd = shlex.split(os.environ.get('CC', 'cc'))
 
     # Public API
 
@@ -202,7 +198,7 @@ class DumpCompiler(object):
             if self._options.quiet:
                 args.append('--silent')
 
-        args.extend(self._linker_cmd)
+        args.extend(self._compiler.linker_cmd)
 
         # We can use -o for the Microsoft compiler/linker,
         # but it is considered deprecated usage
index f63894c..bcabded 100644 (file)
@@ -183,7 +183,6 @@ None."""
     def _get_gi_data_dirs(self):
         data_dirs = utils.get_system_data_dirs()
         data_dirs.append(DATADIR)
-        data_dirs.append(GIRDIR)
         if os.name != 'nt':
             # For backwards compatibility, was always unconditionally added to the list.
             data_dirs.append('/usr/share')
@@ -191,9 +190,9 @@ None."""
 
     def _find_include(self, include):
         searchdirs = self._includepaths[:]
+        searchdirs.extend(GIRDIR)
         for path in self._get_gi_data_dirs():
             searchdirs.append(os.path.join(path, 'gir-1.0'))
-        searchdirs.append(os.path.join(DATADIR, 'gir-1.0'))
 
         girname = '%s-%s.gir' % (include.name, include.version)
         for d in searchdirs:
index 6820057..bd6eaa4 100644 (file)
@@ -1,5 +1,5 @@
 project('gobject-introspection', 'c',
-  version: '1.61.1',
+  version: '1.61.2',
   meson_version: '>= 0.49.2',
   default_options: [
     'warning_level=1',
@@ -90,6 +90,7 @@ endif
 girdir = join_paths(gir_dir_prefix, 'gir-1.0')
 config.set_quoted('GIR_DIR', girdir)
 config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
+config.set_quoted('UNINSTALLED_GIR_DIR', join_paths(meson.current_build_dir(), 'gir'))
 
 foreach type : ['char', 'short', 'int', 'long']
   size = cc.sizeof(type)
index 949df37..a589b82 100644 (file)
@@ -251,14 +251,14 @@ and/or use gtk-doc annotations.  -->
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="568">%NULL always</doc>
+               line="572">%NULL always</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="565">a #GObject</doc>
+                 line="569">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="somearg"
@@ -273,19 +273,19 @@ and/or use gtk-doc annotations.  -->
               c:identifier="regress_annotation_object_calleeowns">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="292">This is a test for out arguments; GObject defaults to transfer</doc>
+             line="296">This is a test for out arguments; GObject defaults to transfer</doc>
         <source-position filename="annotation.h" line="100"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="299">an int</doc>
+               line="303">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="294">a #GObject</doc>
+                 line="298">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="toown"
@@ -294,7 +294,7 @@ and/or use gtk-doc annotations.  -->
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="295">a #GObject</doc>
+                 line="299">a #GObject</doc>
             <type name="GObject.Object" c:type="GObject**"/>
           </parameter>
         </parameters>
@@ -303,19 +303,19 @@ and/or use gtk-doc annotations.  -->
               c:identifier="regress_annotation_object_calleesowns">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="308">This is a test for out arguments, one transferred, other not</doc>
+             line="312">This is a test for out arguments, one transferred, other not</doc>
         <source-position filename="annotation.h" line="104"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="316">an int</doc>
+               line="320">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="310">a #GObject</doc>
+                 line="314">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="toown1"
@@ -324,7 +324,7 @@ and/or use gtk-doc annotations.  -->
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="311">a #GObject</doc>
+                 line="315">a #GObject</doc>
             <type name="GObject.Object" c:type="GObject**"/>
           </parameter>
           <parameter name="toown2"
@@ -333,7 +333,7 @@ and/or use gtk-doc annotations.  -->
                      transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="312">a #GObject</doc>
+                 line="316">a #GObject</doc>
             <type name="GObject.Object" c:type="GObject**"/>
           </parameter>
         </parameters>
@@ -342,7 +342,7 @@ and/or use gtk-doc annotations.  -->
               c:identifier="regress_annotation_object_compute_sum">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="418">Test taking a zero-terminated array</doc>
+             line="422">Test taking a zero-terminated array</doc>
         <source-position filename="annotation.h" line="128"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -351,13 +351,13 @@ and/or use gtk-doc annotations.  -->
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="420">a #GObject</doc>
+                 line="424">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="nums" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="421">Sequence of numbers</doc>
+                 line="425">Sequence of numbers</doc>
             <array zero-terminated="0" c:type="int*">
               <type name="gint" c:type="int"/>
             </array>
@@ -368,7 +368,7 @@ and/or use gtk-doc annotations.  -->
               c:identifier="regress_annotation_object_compute_sum_n">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="432">Test taking an array with length parameter</doc>
+             line="436">Test taking an array with length parameter</doc>
         <source-position filename="annotation.h" line="133"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -377,13 +377,13 @@ and/or use gtk-doc annotations.  -->
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="434">a #GObject</doc>
+                 line="438">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="nums" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="435">Sequence of
+                 line="439">Sequence of
   numbers that are zero-terminated</doc>
             <array length="1" zero-terminated="0" c:type="int*">
               <type name="gint" c:type="int"/>
@@ -392,7 +392,7 @@ and/or use gtk-doc annotations.  -->
           <parameter name="n_nums" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="437">Length of number array</doc>
+                 line="441">Length of number array</doc>
             <type name="gint" c:type="int"/>
           </parameter>
         </parameters>
@@ -401,7 +401,7 @@ and/or use gtk-doc annotations.  -->
               c:identifier="regress_annotation_object_compute_sum_nz">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="449">Test taking a zero-terminated array with length parameter</doc>
+             line="453">Test taking a zero-terminated array with length parameter</doc>
         <source-position filename="annotation.h" line="138"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -410,13 +410,13 @@ and/or use gtk-doc annotations.  -->
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="451">a #RegressAnnotationObject</doc>
+                 line="455">a #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="nums" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="452">Sequence of numbers that
+                 line="456">Sequence of numbers that
 are zero-terminated</doc>
             <array length="1" zero-terminated="1" c:type="int*">
               <type name="gint" c:type="int"/>
@@ -425,7 +425,7 @@ are zero-terminated</doc>
           <parameter name="n_nums" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="454">Length of number array</doc>
+                 line="458">Length of number array</doc>
             <type name="gint" c:type="int"/>
           </parameter>
         </parameters>
@@ -434,19 +434,19 @@ are zero-terminated</doc>
               c:identifier="regress_annotation_object_create_object">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="392">Test returning a caller-owned object</doc>
+             line="396">Test returning a caller-owned object</doc>
         <source-position filename="annotation.h" line="74"/>
         <return-value transfer-ownership="full">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="398">The object</doc>
+               line="402">The object</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="394">a #GObject</doc>
+                 line="398">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
         </parameters>
@@ -460,14 +460,14 @@ are zero-terminated</doc>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="593">%NULL always</doc>
+               line="597">%NULL always</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="591">a #GObject</doc>
+                 line="595">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
         </parameters>
@@ -488,7 +488,7 @@ are zero-terminated</doc>
       <method name="foreach" c:identifier="regress_annotation_object_foreach">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="498">Test taking a call-scoped callback</doc>
+             line="502">Test taking a call-scoped callback</doc>
         <source-position filename="annotation.h" line="152"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -497,7 +497,7 @@ are zero-terminated</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="500">a #RegressAnnotationObject</doc>
+                 line="504">a #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="func"
@@ -506,7 +506,7 @@ are zero-terminated</doc>
                      closure="1">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="501">Callback to invoke</doc>
+                 line="505">Callback to invoke</doc>
             <type name="AnnotationForeachFunc"
                   c:type="RegressAnnotationForeachFunc"/>
           </parameter>
@@ -516,7 +516,7 @@ are zero-terminated</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="502">Callback user data</doc>
+                 line="506">Callback user data</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -525,13 +525,13 @@ are zero-terminated</doc>
               c:identifier="regress_annotation_object_get_hash">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="345">This is a test for returning a hash table mapping strings to
+             line="349">This is a test for returning a hash table mapping strings to
 objects.</doc>
         <source-position filename="annotation.h" line="112"/>
         <return-value transfer-ownership="full">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="352">hash table</doc>
+               line="356">hash table</doc>
           <type name="GLib.HashTable" c:type="GHashTable*">
             <type name="utf8"/>
             <type name="GObject.Object"/>
@@ -541,7 +541,7 @@ objects.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="347">a #GObject</doc>
+                 line="351">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
         </parameters>
@@ -550,14 +550,14 @@ objects.</doc>
               c:identifier="regress_annotation_object_get_objects">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="374">This is a test for returning a list of objects.
+             line="378">This is a test for returning a list of objects.
 The list itself should be freed, but not the internal objects,
 intentionally similar example to gtk_container_get_children</doc>
         <source-position filename="annotation.h" line="119"/>
         <return-value transfer-ownership="container">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="382">list of objects</doc>
+               line="386">list of objects</doc>
           <type name="GLib.SList" c:type="GSList*">
             <type name="AnnotationObject"/>
           </type>
@@ -566,7 +566,7 @@ intentionally similar example to gtk_container_get_children</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="376">a #GObject</doc>
+                 line="380">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
         </parameters>
@@ -575,13 +575,13 @@ intentionally similar example to gtk_container_get_children</doc>
               c:identifier="regress_annotation_object_get_strings">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="327">This is a test for returning a list of strings, where
+             line="331">This is a test for returning a list of strings, where
 each string needs to be freed.</doc>
         <source-position filename="annotation.h" line="109"/>
         <return-value transfer-ownership="full">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="334">list of strings</doc>
+               line="338">list of strings</doc>
           <type name="GLib.List" c:type="GList*">
             <type name="utf8"/>
           </type>
@@ -590,7 +590,7 @@ each string needs to be freed.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="329">a #GObject</doc>
+                 line="333">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
         </parameters>
@@ -605,7 +605,7 @@ each string needs to be freed.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="637">A #RegressAnnotationObject</doc>
+                 line="641">A #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="gpointer"/>
           </instance-parameter>
         </parameters>
@@ -613,25 +613,25 @@ each string needs to be freed.</doc>
       <method name="in" c:identifier="regress_annotation_object_in">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="228">This is a test for in arguments</doc>
+             line="232">This is a test for in arguments</doc>
         <source-position filename="annotation.h" line="96"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="235">an int</doc>
+               line="239">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="230">a #GObject</doc>
+                 line="234">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="inarg" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="231">This is an argument test</doc>
+                 line="235">This is an argument test</doc>
             <type name="gint" c:type="int*"/>
           </parameter>
         </parameters>
@@ -639,19 +639,19 @@ each string needs to be freed.</doc>
       <method name="inout" c:identifier="regress_annotation_object_inout">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="244">This is a test for out arguments</doc>
+             line="248">This is a test for out arguments</doc>
         <source-position filename="annotation.h" line="84"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="251">an int</doc>
+               line="255">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="246">a #GObject</doc>
+                 line="250">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="inoutarg"
@@ -660,7 +660,7 @@ each string needs to be freed.</doc>
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="247">This is an argument test</doc>
+                 line="251">This is an argument test</doc>
             <type name="gint" c:type="int*"/>
           </parameter>
         </parameters>
@@ -668,19 +668,19 @@ each string needs to be freed.</doc>
       <method name="inout2" c:identifier="regress_annotation_object_inout2">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="259">This is a second test for out arguments</doc>
+             line="263">This is a second test for out arguments</doc>
         <source-position filename="annotation.h" line="88"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="266">an int</doc>
+               line="270">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="261">a #GObject</doc>
+                 line="265">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="inoutarg"
@@ -689,7 +689,7 @@ each string needs to be freed.</doc>
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="262">This is an argument test</doc>
+                 line="266">This is an argument test</doc>
             <type name="gint" c:type="int*"/>
           </parameter>
         </parameters>
@@ -697,19 +697,19 @@ each string needs to be freed.</doc>
       <method name="inout3" c:identifier="regress_annotation_object_inout3">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="275">This is a 3th test for out arguments</doc>
+             line="279">This is a 3th test for out arguments</doc>
         <source-position filename="annotation.h" line="92"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="282">an int</doc>
+               line="286">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="277">a #GObject</doc>
+                 line="281">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="inoutarg"
@@ -720,7 +720,7 @@ each string needs to be freed.</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="278">This is an argument test</doc>
+                 line="282">This is an argument test</doc>
             <type name="gint" c:type="int*"/>
           </parameter>
         </parameters>
@@ -730,14 +730,14 @@ each string needs to be freed.</doc>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="204">an int</doc>
+               line="208">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="202">a #GObject</doc>
+                 line="206">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
         </parameters>
@@ -747,14 +747,14 @@ each string needs to be freed.</doc>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="580">An object, not referenced</doc>
+               line="584">An object, not referenced</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="578">a #GObject</doc>
+                 line="582">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
         </parameters>
@@ -762,19 +762,19 @@ each string needs to be freed.</doc>
       <method name="out" c:identifier="regress_annotation_object_out">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="212">This is a test for out arguments</doc>
+             line="216">This is a test for out arguments</doc>
         <source-position filename="annotation.h" line="70"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="219">an int</doc>
+               line="223">an int</doc>
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="214">a #GObject</doc>
+                 line="218">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="outarg"
@@ -783,7 +783,7 @@ each string needs to be freed.</doc>
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="215">This is an argument test</doc>
+                 line="219">This is an argument test</doc>
             <type name="gint" c:type="int*"/>
           </parameter>
         </parameters>
@@ -792,7 +792,7 @@ each string needs to be freed.</doc>
               c:identifier="regress_annotation_object_parse_args">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="466">Test taking a zero-terminated array with length parameter</doc>
+             line="470">Test taking a zero-terminated array with length parameter</doc>
         <source-position filename="annotation.h" line="143"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -801,7 +801,7 @@ each string needs to be freed.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="468">a #RegressAnnotationObject</doc>
+                 line="472">a #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="argc"
@@ -810,7 +810,7 @@ each string needs to be freed.</doc>
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="469">Length of the argument vector</doc>
+                 line="473">Length of the argument vector</doc>
             <type name="gint" c:type="int*"/>
           </parameter>
           <parameter name="argv"
@@ -819,7 +819,7 @@ each string needs to be freed.</doc>
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="470">Argument vector</doc>
+                 line="474">Argument vector</doc>
             <array length="0" zero-terminated="1" c:type="char***">
               <type name="utf8" c:type="char**"/>
             </array>
@@ -830,7 +830,7 @@ each string needs to be freed.</doc>
               c:identifier="regress_annotation_object_set_data">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="514">Test taking a guchar * with a length.</doc>
+             line="518">Test taking a guchar * with a length.</doc>
         <source-position filename="annotation.h" line="158"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -839,13 +839,13 @@ each string needs to be freed.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="516">a #RegressAnnotationObject</doc>
+                 line="520">a #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="data" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="517">The data</doc>
+                 line="521">The data</doc>
             <array length="1" zero-terminated="0" c:type="const guchar*">
               <type name="guint8" c:type="guchar"/>
             </array>
@@ -853,7 +853,7 @@ each string needs to be freed.</doc>
           <parameter name="length" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="518">Length of the data</doc>
+                 line="522">Length of the data</doc>
             <type name="gsize" c:type="gsize"/>
           </parameter>
         </parameters>
@@ -862,7 +862,7 @@ each string needs to be freed.</doc>
               c:identifier="regress_annotation_object_set_data2">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="530">Test taking a gchar * with a length.</doc>
+             line="534">Test taking a gchar * with a length.</doc>
         <source-position filename="annotation.h" line="163"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -871,13 +871,13 @@ each string needs to be freed.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="532">a #RegressAnnotationObject</doc>
+                 line="536">a #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="data" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="533">The data</doc>
+                 line="537">The data</doc>
             <array length="1" zero-terminated="0" c:type="const gchar*">
               <type name="gint8"/>
             </array>
@@ -885,7 +885,7 @@ each string needs to be freed.</doc>
           <parameter name="length" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="534">Length of the data</doc>
+                 line="538">Length of the data</doc>
             <type name="gsize" c:type="gsize"/>
           </parameter>
         </parameters>
@@ -894,7 +894,7 @@ each string needs to be freed.</doc>
               c:identifier="regress_annotation_object_set_data3">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="546">Test taking a gchar * with a length, overriding the array element
+             line="550">Test taking a gchar * with a length, overriding the array element
 type.</doc>
         <source-position filename="annotation.h" line="168"/>
         <return-value transfer-ownership="none">
@@ -904,13 +904,13 @@ type.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="548">a #RegressAnnotationObject</doc>
+                 line="552">a #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="data" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="549">The data</doc>
+                 line="553">The data</doc>
             <array length="1" zero-terminated="0" c:type="gpointer">
               <type name="guint8"/>
             </array>
@@ -918,7 +918,7 @@ type.</doc>
           <parameter name="length" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="550">Length of the data</doc>
+                 line="554">Length of the data</doc>
             <type name="gsize" c:type="gsize"/>
           </parameter>
         </parameters>
@@ -927,19 +927,19 @@ type.</doc>
               c:identifier="regress_annotation_object_string_out">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="482">Test returning a string as an out parameter</doc>
+             line="486">Test returning a string as an out parameter</doc>
         <source-position filename="annotation.h" line="148"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="489">some boolean</doc>
+               line="493">some boolean</doc>
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="484">a #RegressAnnotationObject</doc>
+                 line="488">a #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="str_out"
@@ -948,7 +948,7 @@ type.</doc>
                      transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="485">string return value</doc>
+                 line="489">string return value</doc>
             <type name="utf8" c:type="char**"/>
           </parameter>
         </parameters>
@@ -963,7 +963,7 @@ type.</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="408">a #GObject</doc>
+                 line="412">a #GObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="bytes" transfer-ownership="none">
@@ -977,7 +977,7 @@ type.</doc>
               introspectable="0">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="602">This is here just for the sake of being overriden by its
+             line="606">This is here just for the sake of being overriden by its
 regress_annotation_object_watch_full().</doc>
         <source-position filename="annotation.h" line="177"/>
         <return-value transfer-ownership="none">
@@ -987,13 +987,13 @@ regress_annotation_object_watch_full().</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="604">A #RegressAnnotationObject</doc>
+                 line="608">A #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="func" transfer-ownership="none" closure="1">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="605">The callback</doc>
+                 line="609">The callback</doc>
             <type name="AnnotationForeachFunc"
                   c:type="RegressAnnotationForeachFunc"/>
           </parameter>
@@ -1003,7 +1003,7 @@ regress_annotation_object_watch_full().</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="606">The callback data</doc>
+                 line="610">The callback data</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -1013,7 +1013,7 @@ regress_annotation_object_watch_full().</doc>
               shadows="watch">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="618">Test overriding via the "Rename To" annotation.</doc>
+             line="622">Test overriding via the "Rename To" annotation.</doc>
         <source-position filename="annotation.h" line="182"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -1022,7 +1022,7 @@ regress_annotation_object_watch_full().</doc>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="620">A #RegressAnnotationObject</doc>
+                 line="624">A #RegressAnnotationObject</doc>
             <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
           </instance-parameter>
           <parameter name="func"
@@ -1032,7 +1032,7 @@ regress_annotation_object_watch_full().</doc>
                      destroy="2">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="621">The callback</doc>
+                 line="625">The callback</doc>
             <type name="AnnotationForeachFunc"
                   c:type="RegressAnnotationForeachFunc"/>
           </parameter>
@@ -1042,13 +1042,13 @@ regress_annotation_object_watch_full().</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="622">The callback data</doc>
+                 line="626">The callback data</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="destroy" transfer-ownership="none" scope="async">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="623">Destroy notification</doc>
+                 line="627">Destroy notification</doc>
             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
           </parameter>
         </parameters>
@@ -1069,7 +1069,7 @@ regress_annotation_object_watch_full().</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="366">Opaque pointer handle</doc>
+                 line="370">Opaque pointer handle</doc>
             <type name="gpointer" c:type="void*"/>
           </parameter>
         </parameters>
@@ -1089,7 +1089,7 @@ regress_annotation_object_watch_full().</doc>
                 transfer-ownership="none">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="152">This is a property which is a string</doc>
+             line="156">This is a property which is a string</doc>
         <doc-deprecated xml:space="preserve">Use better-string-property instead</doc-deprecated>
         <type name="utf8" c:type="gchar*"/>
       </property>
@@ -1100,7 +1100,7 @@ regress_annotation_object_watch_full().</doc>
                 transfer-ownership="none">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="177">This is a property annotation intentionally indented with a mix
+             line="181">This is a property annotation intentionally indented with a mix
 of tabs and strings to test the tab handling capabilities of the scanner.</doc>
         <type name="utf8" c:type="gchar*"/>
       </property>
@@ -1110,12 +1110,12 @@ of tabs and strings to test the tab handling capabilities of the scanner.</doc>
       <glib:signal name="attribute-signal" when="last">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="130">This signal tests a signal with attributes.</doc>
+             line="134">This signal tests a signal with attributes.</doc>
         <return-value transfer-ownership="full">
           <attribute name="some.annotation.foo3" value="val3"/>
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="138">the return value</doc>
+               line="142">the return value</doc>
           <type name="utf8" c:type="gchar*"/>
         </return-value>
         <parameters>
@@ -1123,14 +1123,14 @@ of tabs and strings to test the tab handling capabilities of the scanner.</doc>
             <attribute name="some.annotation.foo1" value="val1"/>
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="133">a value</doc>
+                 line="137">a value</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
           <parameter name="arg2" transfer-ownership="none">
             <attribute name="some.annotation.foo2" value="val2"/>
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="134">another value</doc>
+                 line="138">another value</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
         </parameters>
@@ -1138,7 +1138,7 @@ of tabs and strings to test the tab handling capabilities of the scanner.</doc>
       <glib:signal name="doc-empty-arg-parsing" when="last">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="114">This signal tests an empty document argument (@arg1)</doc>
+             line="118">This signal tests an empty document argument (@arg1)</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -1154,7 +1154,7 @@ of tabs and strings to test the tab handling capabilities of the scanner.</doc>
       <glib:signal name="list-signal" when="last">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="97">This is a signal which takes a list of strings, but it's not
+             line="101">This is a signal which takes a list of strings, but it's not
 known by GObject as it's only marked as G_TYPE_POINTER</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -1163,7 +1163,7 @@ known by GObject as it's only marked as G_TYPE_POINTER</doc>
           <parameter name="list" transfer-ownership="container">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="100">a list of strings</doc>
+                 line="104">a list of strings</doc>
             <type name="GLib.List" c:type="gpointer">
               <type name="utf8"/>
             </type>
@@ -1177,7 +1177,7 @@ known by GObject as it's only marked as G_TYPE_POINTER</doc>
                    deprecated-version="1.2">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="77">This is a signal which has a broken signal handler,
+             line="81">This is a signal which has a broken signal handler,
 it says it's pointer but it's actually a string.</doc>
         <doc-deprecated xml:space="preserve">Use other-signal instead</doc-deprecated>
         <return-value transfer-ownership="none">
@@ -1187,7 +1187,7 @@ it says it's pointer but it's actually a string.</doc>
           <parameter name="string" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="annotation.c"
-                 line="80">a string</doc>
+                 line="84">a string</doc>
             <type name="utf8" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -1865,13 +1865,13 @@ it says it's pointer but it's actually a string.</doc>
                 c:identifier="regress_foo_object_get_default">
         <doc xml:space="preserve"
              filename="foo.c"
-             line="327">This function is intended to match clutter_stage_get_default which
+             line="330">This function is intended to match clutter_stage_get_default which
 uses a C sugar return type.</doc>
         <source-position filename="foo.h" line="205"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="foo.c"
-               line="333">The global #RegressFooSubobject</doc>
+               line="336">The global #RegressFooSubobject</doc>
           <type name="FooSubobject" c:type="RegressFooObject*"/>
         </return-value>
       </function>
@@ -1885,22 +1885,22 @@ uses a C sugar return type.</doc>
       <virtual-method name="read_fn" invoker="read">
         <doc xml:space="preserve"
              filename="foo.c"
-             line="288">Read some stuff.</doc>
+             line="291">Read some stuff.</doc>
         <source-position filename="foo.h" line="117"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
-            <doc xml:space="preserve" filename="foo.c" line="290">obj</doc>
+            <doc xml:space="preserve" filename="foo.c" line="293">obj</doc>
             <type name="FooObject" c:type="RegressFooObject*"/>
           </instance-parameter>
           <parameter name="offset" transfer-ownership="none">
-            <doc xml:space="preserve" filename="foo.c" line="291">offset</doc>
+            <doc xml:space="preserve" filename="foo.c" line="294">offset</doc>
             <type name="gint" c:type="int"/>
           </parameter>
           <parameter name="length" transfer-ownership="none">
-            <doc xml:space="preserve" filename="foo.c" line="292">length</doc>
+            <doc xml:space="preserve" filename="foo.c" line="295">length</doc>
             <type name="gint" c:type="int"/>
           </parameter>
         </parameters>
@@ -1923,7 +1923,7 @@ uses a C sugar return type.</doc>
               c:identifier="regress_foo_object_append_new_stack_layer">
         <doc xml:space="preserve"
              filename="foo.c"
-             line="776">This shouldn't be scanned as a constructor.</doc>
+             line="779">This shouldn't be scanned as a constructor.</doc>
         <source-position filename="foo.h" line="581"/>
         <return-value transfer-ownership="none">
           <type name="FooOtherObject" c:type="RegressFooOtherObject*"/>
@@ -1954,14 +1954,14 @@ uses a C sugar return type.</doc>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="foo.c"
-               line="237">%NULL always</doc>
+               line="240">%NULL always</doc>
           <type name="Utility.Object" c:type="UtilityObject*"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="foo.c"
-                 line="235">a #RegressFooObject</doc>
+                 line="238">a #RegressFooObject</doc>
             <type name="FooObject" c:type="RegressFooObject*"/>
           </instance-parameter>
         </parameters>
@@ -2012,7 +2012,7 @@ uses a C sugar return type.</doc>
               introspectable="0">
         <doc xml:space="preserve"
              filename="foo.c"
-             line="263">Not sure why this test is here...</doc>
+             line="266">Not sure why this test is here...</doc>
         <source-position filename="foo.h" line="152"/>
         <return-value transfer-ownership="none">
           <type name="FooObjectCookie" c:type="RegressFooObjectCookie"/>
@@ -2029,22 +2029,22 @@ uses a C sugar return type.</doc>
       <method name="read" c:identifier="regress_foo_object_read">
         <doc xml:space="preserve"
              filename="foo.c"
-             line="288">Read some stuff.</doc>
+             line="291">Read some stuff.</doc>
         <source-position filename="foo.h" line="176"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
-            <doc xml:space="preserve" filename="foo.c" line="290">obj</doc>
+            <doc xml:space="preserve" filename="foo.c" line="293">obj</doc>
             <type name="FooObject" c:type="RegressFooObject*"/>
           </instance-parameter>
           <parameter name="offset" transfer-ownership="none">
-            <doc xml:space="preserve" filename="foo.c" line="291">offset</doc>
+            <doc xml:space="preserve" filename="foo.c" line="294">offset</doc>
             <type name="gint" c:type="int"/>
           </parameter>
           <parameter name="length" transfer-ownership="none">
-            <doc xml:space="preserve" filename="foo.c" line="292">length</doc>
+            <doc xml:space="preserve" filename="foo.c" line="295">length</doc>
             <type name="gint" c:type="int"/>
           </parameter>
         </parameters>
@@ -2054,14 +2054,14 @@ uses a C sugar return type.</doc>
               introspectable="0">
         <doc xml:space="preserve"
              filename="foo.c"
-             line="302">This is only useful from C.</doc>
+             line="305">This is only useful from C.</doc>
         <source-position filename="foo.h" line="184"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
           <instance-parameter name="object" transfer-ownership="none">
-            <doc xml:space="preserve" filename="foo.c" line="304">obj</doc>
+            <doc xml:space="preserve" filename="foo.c" line="307">obj</doc>
             <type name="FooObject" c:type="RegressFooObject*"/>
           </instance-parameter>
         </parameters>
@@ -2187,19 +2187,19 @@ uses a C sugar return type.</doc>
           </return-value>
           <parameters>
             <parameter name="object" transfer-ownership="none">
-              <doc xml:space="preserve" filename="foo.c" line="290">obj</doc>
+              <doc xml:space="preserve" filename="foo.c" line="293">obj</doc>
               <type name="FooObject" c:type="RegressFooObject*"/>
             </parameter>
             <parameter name="offset" transfer-ownership="none">
               <doc xml:space="preserve"
                    filename="foo.c"
-                   line="291">offset</doc>
+                   line="294">offset</doc>
               <type name="gint" c:type="int"/>
             </parameter>
             <parameter name="length" transfer-ownership="none">
               <doc xml:space="preserve"
                    filename="foo.c"
-                   line="292">length</doc>
+                   line="295">length</doc>
               <type name="gint" c:type="int"/>
             </parameter>
           </parameters>
@@ -2252,13 +2252,13 @@ uses a C sugar return type.</doc>
                               transfer-ownership="full">
             <doc xml:space="preserve"
                  filename="foo.c"
-                 line="556">add to this rect</doc>
+                 line="559">add to this rect</doc>
             <type name="FooRectangle" c:type="RegressFooRectangle*"/>
           </instance-parameter>
           <parameter name="r2" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="foo.c"
-                 line="557">source rectangle</doc>
+                 line="560">source rectangle</doc>
             <type name="FooRectangle" c:type="const RegressFooRectangle*"/>
           </parameter>
         </parameters>
@@ -2268,7 +2268,7 @@ uses a C sugar return type.</doc>
                 introspectable="0">
         <doc xml:space="preserve"
              filename="foo.c"
-             line="537">This is a C convenience constructor; we have to (skip)
+             line="540">This is a C convenience constructor; we have to (skip)
 it because it's not a boxed type.</doc>
         <source-position filename="foo.h" line="357"/>
         <return-value>
@@ -5654,14 +5654,14 @@ the introspection client langage.</doc>
         <attribute name="yet.another.annotation" value="another_value"/>
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="764">The return value.</doc>
+             line="768">The return value.</doc>
         <type name="gint" c:type="gint"/>
       </return-value>
       <parameters>
         <parameter name="object" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="761">A #RegressAnnotationObject.</doc>
+               line="765">A #RegressAnnotationObject.</doc>
           <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
         </parameter>
         <parameter name="data" transfer-ownership="none">
@@ -5669,7 +5669,7 @@ the introspection client langage.</doc>
           <attribute name="another.annotation" value="blahvalue"/>
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="762">Some data.</doc>
+               line="766">Some data.</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
       </parameters>
@@ -5678,7 +5678,7 @@ the introspection client langage.</doc>
               c:identifier="regress_annotation_custom_destroy">
       <doc xml:space="preserve"
            filename="annotation.c"
-           line="715">Test messing up the heuristic of closure/destroy-notification
+           line="719">Test messing up the heuristic of closure/destroy-notification
 detection, and fixing it via annotations.</doc>
       <source-position filename="annotation.h" line="217"/>
       <return-value transfer-ownership="none">
@@ -5692,7 +5692,7 @@ detection, and fixing it via annotations.</doc>
                    destroy="1">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="717">Destroy notification</doc>
+               line="721">Destroy notification</doc>
           <type name="AnnotationCallback" c:type="RegressAnnotationCallback"/>
         </parameter>
         <parameter name="destroy"
@@ -5716,7 +5716,7 @@ detection, and fixing it via annotations.</doc>
       <return-value transfer-ownership="full">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="732">Source file</doc>
+             line="736">Source file</doc>
         <type name="filename" c:type="char*"/>
       </return-value>
     </function>
@@ -5732,7 +5732,7 @@ detection, and fixing it via annotations.</doc>
                    transfer-ownership="full">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="646">The number of args.</doc>
+               line="650">The number of args.</doc>
           <type name="gint" c:type="int*"/>
         </parameter>
         <parameter name="argv"
@@ -5741,7 +5741,7 @@ detection, and fixing it via annotations.</doc>
                    transfer-ownership="full">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="647">The arguments.</doc>
+               line="651">The arguments.</doc>
           <array length="0" zero-terminated="0" c:type="char***">
             <type name="utf8" c:type="char**"/>
           </array>
@@ -5758,7 +5758,7 @@ detection, and fixing it via annotations.</doc>
         <parameter name="foo" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="775">some text (e.g. example) or else</doc>
+               line="779">some text (e.g. example) or else</doc>
           <type name="gint" c:type="int"/>
         </parameter>
       </parameters>
@@ -5773,7 +5773,7 @@ detection, and fixing it via annotations.</doc>
         <parameter name="array" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="752">the array</doc>
+               line="756">the array</doc>
           <array name="GLib.PtrArray" c:type="GPtrArray*">
             <type name="GObject.Value"/>
           </array>
@@ -5786,7 +5786,7 @@ detection, and fixing it via annotations.</doc>
       <return-value transfer-ownership="full">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="659">The return value</doc>
+             line="663">The return value</doc>
         <array length="0" zero-terminated="0" c:type="char**">
           <type name="utf8"/>
         </array>
@@ -5798,7 +5798,7 @@ detection, and fixing it via annotations.</doc>
                    transfer-ownership="full">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="657">Number of return values</doc>
+               line="661">Number of return values</doc>
           <type name="gint" c:type="int*"/>
         </parameter>
       </parameters>
@@ -5809,7 +5809,7 @@ detection, and fixing it via annotations.</doc>
       <return-value transfer-ownership="full">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="814">An annotated filename</doc>
+             line="818">An annotated filename</doc>
         <type name="filename" c:type="gchar*"/>
       </return-value>
     </function>
@@ -5823,7 +5823,7 @@ detection, and fixing it via annotations.</doc>
         <parameter name="fname" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="742">Source file</doc>
+               line="746">Source file</doc>
           <type name="filename" c:type="const char*"/>
         </parameter>
       </parameters>
@@ -5832,7 +5832,7 @@ detection, and fixing it via annotations.</doc>
               c:identifier="regress_annotation_space_after_comment_bug631690">
       <doc xml:space="preserve"
            filename="annotation.c"
-           line="801">Explicitly test having a space after the ** here.</doc>
+           line="805">Explicitly test having a space after the ** here.</doc>
       <source-position filename="annotation.h" line="271"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
@@ -5861,7 +5861,7 @@ detection, and fixing it via annotations.</doc>
       <return-value transfer-ownership="full">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="670">The return value</doc>
+             line="674">The return value</doc>
         <array c:type="char**">
           <type name="utf8"/>
         </array>
@@ -5888,12 +5888,12 @@ detection, and fixing it via annotations.</doc>
               c:identifier="regress_annotation_test_parsing_bug630862">
       <doc xml:space="preserve"
            filename="annotation.c"
-           line="787">See https://bugzilla.gnome.org/show_bug.cgi?id=630862</doc>
+           line="791">See https://bugzilla.gnome.org/show_bug.cgi?id=630862</doc>
       <source-position filename="annotation.h" line="267"/>
       <return-value transfer-ownership="none">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="792">An object, note the colon:in here</doc>
+             line="796">An object, note the colon:in here</doc>
         <type name="GObject.Object" c:type="GObject*"/>
       </return-value>
     </function>
@@ -5903,14 +5903,14 @@ detection, and fixing it via annotations.</doc>
       <return-value transfer-ownership="none">
         <doc xml:space="preserve"
              filename="annotation.c"
-             line="826">A floating object</doc>
+             line="830">A floating object</doc>
         <type name="GObject.Object" c:type="GObject*"/>
       </return-value>
       <parameters>
         <parameter name="object" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="annotation.c"
-               line="824">an object</doc>
+               line="828">an object</doc>
           <type name="GObject.Object" c:type="GObject*"/>
         </parameter>
       </parameters>
@@ -6060,7 +6060,7 @@ detection, and fixing it via annotations.</doc>
               c:identifier="regress_foo_not_a_constructor_new">
       <doc xml:space="preserve"
            filename="foo.c"
-           line="789">This should be scanned as a top-level function, and shouldn't cause
+           line="792">This should be scanned as a top-level function, and shouldn't cause
 a "Can't find matching type for constructor" warning.</doc>
       <source-position filename="foo.h" line="221"/>
       <return-value transfer-ownership="none">
@@ -6073,7 +6073,7 @@ a "Can't find matching type for constructor" warning.</doc>
               introspectable="0">
       <doc xml:space="preserve"
            filename="foo.c"
-           line="537">This is a C convenience constructor; we have to (skip)
+           line="540">This is a C convenience constructor; we have to (skip)
 it because it's not a boxed type.</doc>
       <source-position filename="foo.h" line="357"/>
       <return-value>
@@ -6099,7 +6099,7 @@ it because it's not a boxed type.</doc>
               introspectable="0">
       <doc xml:space="preserve"
            filename="foo.c"
-           line="716">Does something that's only interesting from C and should not be
+           line="719">Does something that's only interesting from C and should not be
 exposed to language bindings.</doc>
       <source-position filename="foo.h" line="556"/>
       <return-value transfer-ownership="none">
@@ -6109,7 +6109,7 @@ exposed to language bindings.</doc>
         <parameter name="fs" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="foo.c"
-               line="718">a #RegressFooSkippable</doc>
+               line="721">a #RegressFooSkippable</doc>
           <type name="FooSkippable" c:type="RegressFooSkippable"/>
         </parameter>
       </parameters>
index 5972d32..81ac436 100644 (file)
@@ -21,7 +21,7 @@ and/or use gtk-doc annotations.  -->
     <record name="Buffer" c:type="UtilityBuffer">
       <source-position filename="utility.h" line="54"/>
       <field name="data" writable="1">
-        <doc xml:space="preserve" filename="utility.c" line="10">the data</doc>
+        <doc xml:space="preserve" filename="utility.c" line="14">the data</doc>
         <type name="gpointer"/>
       </field>
       <field name="length" writable="1">
index b7f4799..62290cc 100644 (file)
@@ -50,7 +50,7 @@ and/or use gtk-doc annotations.  -->
       <virtual-method name="do_boo" invoker="do_boo">
         <doc xml:space="preserve"
              filename="warnlib.c"
-             line="35">Does boo.</doc>
+             line="38">Does boo.</doc>
         <source-position filename="warnlib.h" line="35"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -59,13 +59,13 @@ and/or use gtk-doc annotations.  -->
           <instance-parameter name="self" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="warnlib.c"
-                 line="37">a WarnLibWhatever</doc>
+                 line="40">a WarnLibWhatever</doc>
             <type name="Whatever" c:type="WarnLibWhatever*"/>
           </instance-parameter>
           <parameter name="x" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="warnlib.c"
-                 line="38">x parameter</doc>
+                 line="41">x parameter</doc>
             <type name="gint" c:type="int"/>
           </parameter>
           <parameter name="y"
@@ -74,7 +74,7 @@ and/or use gtk-doc annotations.  -->
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="warnlib.c"
-                 line="39">y parameter</doc>
+                 line="42">y parameter</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
         </parameters>
@@ -102,7 +102,7 @@ and/or use gtk-doc annotations.  -->
       <method name="do_boo" c:identifier="warnlib_whatever_do_boo">
         <doc xml:space="preserve"
              filename="warnlib.c"
-             line="35">Does boo.</doc>
+             line="38">Does boo.</doc>
         <source-position filename="warnlib.h" line="41"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -111,7 +111,7 @@ and/or use gtk-doc annotations.  -->
           <instance-parameter name="self" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="warnlib.c"
-                 line="37">a WarnLibWhatever</doc>
+                 line="40">a WarnLibWhatever</doc>
             <type name="Whatever" c:type="WarnLibWhatever*"/>
           </instance-parameter>
           <parameter name="arg1" transfer-ownership="none">
@@ -185,13 +185,13 @@ and/or use gtk-doc annotations.  -->
             <parameter name="self" transfer-ownership="none">
               <doc xml:space="preserve"
                    filename="warnlib.c"
-                   line="37">a WarnLibWhatever</doc>
+                   line="40">a WarnLibWhatever</doc>
               <type name="Whatever" c:type="WarnLibWhatever*"/>
             </parameter>
             <parameter name="x" transfer-ownership="none">
               <doc xml:space="preserve"
                    filename="warnlib.c"
-                   line="38">x parameter</doc>
+                   line="41">x parameter</doc>
               <type name="gint" c:type="int"/>
             </parameter>
             <parameter name="y"
@@ -200,7 +200,7 @@ and/or use gtk-doc annotations.  -->
                        allow-none="1">
               <doc xml:space="preserve"
                    filename="warnlib.c"
-                   line="39">y parameter</doc>
+                   line="42">y parameter</doc>
               <type name="gpointer" c:type="gpointer"/>
             </parameter>
           </parameters>
index fb8b48f..253dbd6 100644 (file)
@@ -1,5 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+/* This file gets installed, so we can't assume config.h is available */
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
 
 #include "annotation.h"
 
index 9c58bfe..b4a3ddc 100644 (file)
@@ -1,5 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+/* This file gets installed, so we can't assume config.h is available */
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
 
 #include "drawable.h"
 
index 2fc8ed9..19bf848 100644 (file)
@@ -1,4 +1,7 @@
+/* This file gets installed, so we can't assume config.h is available */
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
 
 #include "foo.h"
 
index 5890aa9..6c0674a 100644 (file)
@@ -62,6 +62,11 @@ class UnixCCompilerTest(unittest.TestCase):
             except ValueError:
                 self.fail('%r is not a subsequence of %r' % (list1, list2))
 
+    def test_link_cmd(self):
+        with Environ(dict(CC="foobar")):
+            compiler = CCompiler()
+            self.assertEqual(compiler.linker_cmd[0], "foobar")
+
     def test_link_args_override(self):
         with Environ(dict(CC="foobar")):
             compiler = CCompiler()
index c5e48a4..3af374c 100644 (file)
@@ -1,5 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+/* This file gets installed, so we can't assume config.h is available */
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
 
 #include "utility.h"
 
index 4b92bf6..430e88d 100644 (file)
@@ -1,6 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
+/* This file gets installed, so we can't assume config.h is available */
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
 
 #include "warnlib.h"
 
index 3b33f75..8462f88 100755 (executable)
@@ -61,7 +61,7 @@ if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'):
 # for autotools
 elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'):
     girdir = os.path.dirname(os.path.abspath('@GIR_DIR@'))
-builtins.__dict__['GIRDIR'] = girdir
+builtins.__dict__['GIRDIR'] = [girdir]
 
 # Again, relative paths first so that the installation prefix is relocatable
 pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection'))
@@ -85,6 +85,7 @@ if not os.path.isfile(os.path.join(pylibdir, 'giscanner', '_giscanner' + py_mod_
         # We're running uninstalled inside meson
         builddir = os.path.abspath(os.path.join(filedir, '..'))
         pylibdir = builddir
+        builtins.__dict__['GIRDIR'].append(os.path.join(filedir, os.pardir, 'gir'))
         gdump_path = os.path.join(builddir, 'girepository', 'gdump.c')
         if os.path.isfile(gdump_path):
             builtins.__dict__['GDUMP_PATH'] = gdump_path
index 6cc3186..1fedaa5 100644 (file)
@@ -56,6 +56,7 @@ gircompiler = executable('g-ir-compiler', 'compiler.c',
   install: true,
   c_args: custom_c_args,
 )
+meson.override_find_program('g-ir-compiler', gircompiler)
 
 girgenerate = executable('g-ir-generate', 'generate.c',
   dependencies: [
@@ -65,9 +66,11 @@ girgenerate = executable('g-ir-generate', 'generate.c',
   install: true,
   c_args: custom_c_args,
 )
+meson.override_find_program('g-ir-generate', girgenerate)
 
 girinspect = executable('g-ir-inspect', 'g-ir-inspect.c',
   dependencies: girepo_dep,
   install: true,
   c_args: custom_c_args,
 )
+meson.override_find_program('g-ir-inspect', girinspect)
\ No newline at end of file