}
if (st.is_boolean_type () || st.is_integer_type () || st.is_floating_type ()) {
+ // See GTypeModule.visit_struct()
if (st.base_struct != null) {
generate_struct_declaration (st.base_struct, decl_space);
decl_space.add_type_declaration (new CCodeTypeDefinition (get_ccode_name (st.base_struct), new CCodeVariableDeclarator (get_ccode_name (st))));
public override void visit_struct (Struct st) {
base.visit_struct (st);
+ if (st.is_boolean_type () || st.is_integer_type () || st.is_floating_type ()) {
+ // Skip GType handling for these struct types,
+ // like in CCodeStructModule.generate_struct_declaration()
+ return;
+ }
+
if (get_ccode_has_type_id (st)) {
push_line (st.source_reference);
var type_fun = new StructRegisterFunction (st);
structs/struct-base-types.vala \
structs/struct-empty-still.test \
structs/struct-no-gtype.vala \
+ structs/struct-no-gtype-inherit.vala \
structs/struct-static-field-initializer.vala \
structs/struct-static-field-initializer.test \
structs/struct-static-property-initializer.test \
--- /dev/null
+[SimpleType]
+[IntegerType (rank = 6, signed = true, width = 32)]
+[CCode (has_type_id = false)]
+struct foo_t {
+}
+
+struct bar_t : foo_t {
+}
+
+void main () {
+}