diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index 47588306d8..00fba2b44a 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -570,6 +570,7 @@ pub fn gen(files []&ast.File, mut table ast.Table, pref_ &pref.Preferences) GenO } b.write_string2('\n// V comptime_definitions:\n', g.comptime_definitions.str()) b.write_string2('\n// V typedefs:\n', g.typedefs.str()) + b.write_string2('\n // V preincludes:\n', g.preincludes.str()) b.write_string2('\n// V cheaders:', g.cheaders.str()) if g.pcs_declarations.len > 0 { b.write_string2('\n// V profile counters:\n', g.pcs_declarations.str()) diff --git a/vlib/v/gen/c/testdata/postinclude_example.out b/vlib/v/gen/c/testdata/postinclude_example.out new file mode 100644 index 0000000000..717b01a59c --- /dev/null +++ b/vlib/v/gen/c/testdata/postinclude_example.out @@ -0,0 +1 @@ +Hi from V, p: 42 diff --git a/vlib/v/gen/c/testdata/postinclude_example.vv b/vlib/v/gen/c/testdata/postinclude_example.vv new file mode 100644 index 0000000000..586f58f6de --- /dev/null +++ b/vlib/v/gen/c/testdata/postinclude_example.vv @@ -0,0 +1,10 @@ +module no_main + +#postinclude "@VEXEROOT/vlib/v/gen/c/testdata/postinclude_header.h" + +@[markused] +pub fn f(p int) int { + assert p == 42 + C.printf(c'Hi from V, p: %d\n', p) + return 987 +} diff --git a/vlib/v/gen/c/testdata/postinclude_header.h b/vlib/v/gen/c/testdata/postinclude_header.h new file mode 100644 index 0000000000..9f5f19da6e --- /dev/null +++ b/vlib/v/gen/c/testdata/postinclude_header.h @@ -0,0 +1,7 @@ +#include + +int main( void ) { + int res = no_main__f(42); + assert(res == 987); + return 0; +}