diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index 733ff46551..5aaaa4da81 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -2025,13 +2025,6 @@ fn (mut g Gen) stmt(node ast.Stmt) { if node.is_union { g.typedefs.writeln('typedef union $name $name;') } else { - /* - attrs := if node.attrs.contains('packed') { - '__attribute__((__packed__))' - } else { - '' - } - */ g.typedefs.writeln('typedef struct $name $name;') } } diff --git a/vlib/v/gen/c/struct.v b/vlib/v/gen/c/struct.v index 6245364544..5f3b2614af 100644 --- a/vlib/v/gen/c/struct.v +++ b/vlib/v/gen/c/struct.v @@ -313,6 +313,10 @@ fn (mut g Gen) struct_decl(s ast.Struct, name string, is_anon bool) { pre_pragma += '#pragma pack(push, $attr.arg)\n' post_pragma += '#pragma pack(pop)' } + 'packed' { + pre_pragma += '#pragma pack(push, 1)\n' + post_pragma += '#pragma pack(pop)' + } else {} } }