Hi Segher, Gentle ping this patch as you wanted empty TU issue to be fixed first at the discussion [1]. Thanks in advance for your time!
[1] https://gcc.gnu.org/pipermail/gcc-patches/2022-September/600927.html BR, Kewen on 2022/7/25 14:26, Kewen.Lin via Gcc-patches wrote: > Hi, > > As the failure of test case gcc.target/powerpc/pr92398.p9-.c in > PR106345 shows, some test sources for some powerpc effective > targets use empty translation unit wrongly. The test sources > could go with options like "-ansi -pedantic-errors", then those > effective target checkings will fail unexpectedly with the > error messages like: > > error: ISO C forbids an empty translation unit [-Wpedantic] > > This patch is to fix empty TUs with one dummy function definition > accordingly. > > Excepting for the failures on gcc.target/powerpc/pr92398.p9-.c > fixed, I can see it helps to bring back some testing coverage like: > > NA->PASS: gcc.target/powerpc/pr92398.p9+.c > NA->PASS: gcc.target/powerpc/pr93453-1.c > > Tested as before. > > v1: https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598602.html > v2: Use dummy function instead of dummy int as Segher suggested. > > Segher, does this v2 look good to you? > > BR, > Kewen > ----- > PR testsuite/106345 > > gcc/testsuite/ChangeLog: > > * lib/target-supports.exp (check_effective_target_powerpc_sqrt): Add > a function definition to avoid pedwarn about empty translation unit. > (check_effective_target_has_arch_pwr5): Likewise. > (check_effective_target_has_arch_pwr6): Likewise. > (check_effective_target_has_arch_pwr7): Likewise. > (check_effective_target_has_arch_pwr8): Likewise. > (check_effective_target_has_arch_pwr9): Likewise. > (check_effective_target_has_arch_pwr10): Likewise. > (check_effective_target_has_arch_ppc64): Likewise. > (check_effective_target_ppc_float128): Likewise. > (check_effective_target_ppc_float128_insns): Likewise. > (check_effective_target_powerpc_vsx): Likewise. > --- > gcc/testsuite/lib/target-supports.exp | 33 +++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index 4ed7b25b9a4..06484330178 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -6259,9 +6259,12 @@ proc check_effective_target_powerpc_sqrt { } { > } > > return [check_no_compiler_messages powerpc_sqrt object { > + void test (void) > + { > #ifndef _ARCH_PPCSQ > #error _ARCH_PPCSQ is not defined > #endif > + } > } {}] > } > > @@ -6369,71 +6372,92 @@ proc check_effective_target_powerpc_p9modulo_ok { } { > # as provided by the test. > proc check_effective_target_has_arch_pwr5 { } { > return [check_no_compiler_messages_nocache arch_pwr5 assembly { > + void test (void) > + { > #ifndef _ARCH_PWR5 > #error does not have power5 support. > #else > /* "has power5 support" */ > #endif > + } > } [current_compiler_flags]] > } > > proc check_effective_target_has_arch_pwr6 { } { > return [check_no_compiler_messages_nocache arch_pwr6 assembly { > + void test (void) > + { > #ifndef _ARCH_PWR6 > #error does not have power6 support. > #else > /* "has power6 support" */ > #endif > + } > } [current_compiler_flags]] > } > > proc check_effective_target_has_arch_pwr7 { } { > return [check_no_compiler_messages_nocache arch_pwr7 assembly { > + void test (void) > + { > #ifndef _ARCH_PWR7 > #error does not have power7 support. > #else > /* "has power7 support" */ > #endif > + } > } [current_compiler_flags]] > } > > proc check_effective_target_has_arch_pwr8 { } { > return [check_no_compiler_messages_nocache arch_pwr8 assembly { > + void test (void) > + { > #ifndef _ARCH_PWR8 > #error does not have power8 support. > #else > /* "has power8 support" */ > #endif > + } > } [current_compiler_flags]] > } > > proc check_effective_target_has_arch_pwr9 { } { > return [check_no_compiler_messages_nocache arch_pwr9 assembly { > + void test (void) > + { > #ifndef _ARCH_PWR9 > #error does not have power9 support. > #else > /* "has power9 support" */ > #endif > + } > } [current_compiler_flags]] > } > > proc check_effective_target_has_arch_pwr10 { } { > return [check_no_compiler_messages_nocache arch_pwr10 assembly { > + void test (void) > + { > #ifndef _ARCH_PWR10 > #error does not have power10 support. > #else > /* "has power10 support" */ > #endif > + } > } [current_compiler_flags]] > } > > proc check_effective_target_has_arch_ppc64 { } { > return [check_no_compiler_messages_nocache arch_ppc64 assembly { > + void test (void) > + { > #ifndef _ARCH_PPC64 > #error does not have ppc64 support. > #else > /* "has ppc64 support" */ > #endif > + } > } [current_compiler_flags]] > } > > @@ -6520,9 +6544,12 @@ proc check_effective_target_powerpc_float128_hw_ok { } > { > > proc check_effective_target_ppc_float128 { } { > return [check_no_compiler_messages_nocache ppc_float128 object { > + void test (void) > + { > #ifndef __FLOAT128__ > nope no good > #endif > + } > }] > } > > @@ -6530,9 +6557,12 @@ proc check_effective_target_ppc_float128 { } { > > proc check_effective_target_ppc_float128_insns { } { > return [check_no_compiler_messages_nocache ppc_float128 object { > + void test (void) > + { > #ifndef __FLOAT128_HARDWARE__ > nope no good > #endif > + } > }] > } > > @@ -6540,9 +6570,12 @@ proc check_effective_target_ppc_float128_insns { } { > > proc check_effective_target_powerpc_vsx { } { > return [check_no_compiler_messages_nocache powerpc_vsx object { > + void test (void) > + { > #ifndef __VSX__ > nope no vsx > #endif > + } > }] > } > > -- > 2.32.0