From d198a8989742c5a94153b4670f64a1b94d827d22 Mon Sep 17 00:00:00 2001 From: gym603 Date: Mon, 19 Feb 2024 21:21:27 +0800 Subject: [PATCH] tests: add 'aligned_attr_gcc_windows.vv' for gcc (#20870) --- vlib/v/gen/c/coutput_test.v | 6 ++++++ .../aligned_attr_gcc_windows.c.must_have | 13 +++++++++++++ .../gen/c/testdata/aligned_attr_gcc_windows.out | 0 .../gen/c/testdata/aligned_attr_gcc_windows.vv | 17 +++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 vlib/v/gen/c/testdata/aligned_attr_gcc_windows.c.must_have create mode 100644 vlib/v/gen/c/testdata/aligned_attr_gcc_windows.out create mode 100644 vlib/v/gen/c/testdata/aligned_attr_gcc_windows.vv diff --git a/vlib/v/gen/c/coutput_test.v b/vlib/v/gen/c/coutput_test.v index bbab83f7df..85f0167c2b 100644 --- a/vlib/v/gen/c/coutput_test.v +++ b/vlib/v/gen/c/coutput_test.v @@ -255,6 +255,12 @@ fn should_skip(relpath string) bool { return true } } + $if msvc { + if relpath.contains('_gcc_windows.vv') { + eprintln('> skipping ${relpath} on msvc') + return true + } + } } else { if relpath.contains('_windows.vv') { eprintln('> skipping ${relpath} on !windows') diff --git a/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.c.must_have b/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.c.must_have new file mode 100644 index 0000000000..8e4cfcddf3 --- /dev/null +++ b/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.c.must_have @@ -0,0 +1,13 @@ + +struct main__Test { + int a; +} __attribute__((aligned (8))); + +struct main__Test2 { + int a; + int b; +} __attribute__((aligned (16))); + +union main__Test3 { + int a; +} __attribute__((aligned (8))); diff --git a/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.out b/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.out new file mode 100644 index 0000000000..e69de29bb2 diff --git a/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.vv b/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.vv new file mode 100644 index 0000000000..cefd891072 --- /dev/null +++ b/vlib/v/gen/c/testdata/aligned_attr_gcc_windows.vv @@ -0,0 +1,17 @@ +// vtest vflags: -cc gcc -os windows + +@[aligned:8] +struct Test { + a int +} + +@[aligned:16] +struct Test2 { + a int + b int +} + +@[aligned:8] +union Test3 { + a int +} \ No newline at end of file