diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/common/13 pch/c | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/common/13 pch/c')
-rw-r--r-- | meson/test cases/common/13 pch/c/meson.build | 14 | ||||
-rw-r--r-- | meson/test cases/common/13 pch/c/pch/prog.h | 6 | ||||
-rw-r--r-- | meson/test cases/common/13 pch/c/prog.c | 10 |
3 files changed, 30 insertions, 0 deletions
diff --git a/meson/test cases/common/13 pch/c/meson.build b/meson/test cases/common/13 pch/c/meson.build new file mode 100644 index 000000000..6fba15bf4 --- /dev/null +++ b/meson/test cases/common/13 pch/c/meson.build @@ -0,0 +1,14 @@ +cc = meson.get_compiler('c') +cc_id = cc.get_id() + +if cc_id == 'lcc' + error('MESON_SKIP_TEST: Elbrus compiler does not support PCH.') +endif + +# PGI compiler only supports PCH for C++ +if cc_id == 'pgi' + subdir_done() +endif + +exe = executable('prog', 'prog.c', +c_pch : 'pch/prog.h') diff --git a/meson/test cases/common/13 pch/c/pch/prog.h b/meson/test cases/common/13 pch/c/pch/prog.h new file mode 100644 index 000000000..c89890a77 --- /dev/null +++ b/meson/test cases/common/13 pch/c/pch/prog.h @@ -0,0 +1,6 @@ +#ifndef PROG_H +// Header guards for PCH confuse msvc in some situations. +// Using them here makes sure we handle this correctly. +#define PROG_H +#include<stdio.h> +#endif diff --git a/meson/test cases/common/13 pch/c/prog.c b/meson/test cases/common/13 pch/c/prog.c new file mode 100644 index 000000000..124bba063 --- /dev/null +++ b/meson/test cases/common/13 pch/c/prog.c @@ -0,0 +1,10 @@ +// No includes here, they need to come from the PCH + +void func(void) { + fprintf(stdout, "This is a function that fails if stdio is not #included.\n"); +} + +int main(void) { + return 0; +} + |