diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-01-09 19:49:27 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-02-16 18:28:28 +0100 |
commit | 7ac7e059335caf671b21c462706faee97bd57f4d (patch) | |
tree | 7a3fee7d8838d801dd5de8fbedfdade142910a1b | |
parent | 045656da11a4a662d161f7e27bb479310f68f920 (diff) | |
download | vala-7ac7e059335caf671b21c462706faee97bd57f4d.tar.gz |
codegen: Generated SimpleType structs don't have a type id
Set "CCode.has_type_id" in CCodeStructModule.generate_struct_declaration()
like in GTypeModule.visit_struct() for SimpleType structs which might be
executed too late.
In addition to 2e798fc3f8e9af25a4c231c2561894d9f0a0be50
-rw-r--r-- | codegen/valaccodestructmodule.vala | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/codegen/valaccodestructmodule.vala b/codegen/valaccodestructmodule.vala index c82b79671..2b685383d 100644 --- a/codegen/valaccodestructmodule.vala +++ b/codegen/valaccodestructmodule.vala @@ -32,6 +32,11 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { if (st.base_struct != null) { generate_struct_declaration (st.base_struct, decl_space); + } else if (!st.external_package) { + // custom simple type structs cannot have a type id which depends on head-allocation + if (st.get_attribute ("SimpleType") != null && !st.has_attribute_argument ("CCode", "type_id")) { + st.set_attribute_bool ("CCode", "has_type_id", false); + } } if (st.is_boolean_type () || st.is_integer_type () || st.is_floating_type ()) { |