Hi,

Gentle ping this: 
https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598748.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

Reply via email to