diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index 8762a7442d..b1cc26ce35 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -1247,7 +1247,12 @@ fn (mut g Gen) stmt(node ast.Stmt) { if node.is_union { g.typedefs.writeln('typedef union $name $name;') } else { - g.typedefs.writeln('typedef struct $name $name;') + attrs := if node.attrs.contains('packed') { + '__attribute__((__packed__))' + } else { + '' + } + g.typedefs.writeln('typedef struct $attrs $name $name;') } } ast.TypeDecl {