summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--giscanner/scannerparser.y5
-rw-r--r--tests/scanner/Regress-1.0-expected.gir2
2 files changed, 6 insertions, 1 deletions
diff --git a/giscanner/scannerparser.y b/giscanner/scannerparser.y
index ed4f24fd..29d98b41 100644
--- a/giscanner/scannerparser.y
+++ b/giscanner/scannerparser.y
@@ -218,6 +218,11 @@ set_or_merge_base_type (GISourceType *type,
g_free (type->name);
type->name = name;
+ type->storage_class_specifier |= base->storage_class_specifier;
+ type->type_qualifier |= base->type_qualifier;
+ type->function_specifier |= base->function_specifier;
+ type->is_bitfield |= base->is_bitfield;
+
ctype_free (base);
}
else if (base->type == CTYPE_INVALID)
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 55a910b3..5f303a4e 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -5081,7 +5081,7 @@ the introspection client langage.</doc>
<type name="gint" c:type="const gint* volatile"/>
</field>
<field name="data7" writable="1">
- <type name="guint8" c:type="volatile unsigned char"/>
+ <type name="guint8" c:type="volatile const unsigned char"/>
</field>
</record>
<record name="TestStructFixedArray" c:type="RegressTestStructFixedArray">