]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
authorKewen Lin <linkw@linux.ibm.com>
Wed, 7 Sep 2022 01:37:57 +0000 (20:37 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Tue, 13 Sep 2022 05:31:23 +0000 (00:31 -0500)
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.

PR testsuite/106345

gcc/testsuite/ChangeLog:

* lib/target-supports.exp (check_effective_target_has_arch_pwr5): Add
a function definition to avoid pedwarn about empty translation unit.
(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_ppc64): Likewise.
(check_effective_target_ppc_float128): Likewise.
(check_effective_target_ppc_float128_insns): Likewise.
(check_effective_target_powerpc_vsx): Likewise.

(cherry picked from commit 7a43e52a48b6403a99d3e8ab3105869b4b3c081e)

gcc/testsuite/lib/target-supports.exp

index 31a531c7c6b9598a8d9a8e512a54ac30bb91da2b..2e6cf66e2a4909d73a7e0f7f256a0311e1f185a7 100644 (file)
@@ -5864,61 +5864,79 @@ 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_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]]
 }
 
@@ -6005,9 +6023,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
+       }
     }]
 }
 
@@ -6015,9 +6036,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
+       }
     }]
 }
 
@@ -6025,9 +6049,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
+       }
     }]
 }