g-ir-scanner incorrectly converts _Bool type to gboolean
Given following input:
#include <glib.h>
#include <stdbool.h>
void foo_bool1 (_Bool b);
void foo_bool2 (bool b);
void foo_bool3 (gboolean b);
The g-ir-scanner produces following output:
<function name="bool1" c:identifier="foo_bool1">
...
<parameters>
<parameter name="b" transfer-ownership="none">
<type name="gboolean" c:type="bool"/>
</parameter>
</parameters>
</function>
<function name="bool2" c:identifier="foo_bool2">
...
<parameters>
<parameter name="b" transfer-ownership="none">
<type name="gboolean" c:type="bool"/>
</parameter>
</parameters>
</function>
<function name="bool3" c:identifier="foo_bool3">
...
<parameters>
<parameter name="b" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
The gboolean is just a typedef to an int, while _Bool is a completely different type, usually with different size than int, so this is incorrect.