public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r11-10253] rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
@ 2022-09-13  5:22 Kewen Lin
  0 siblings, 0 replies; only message in thread
From: Kewen Lin @ 2022-09-13  5:22 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:5cb02a5f803d522cfdc8a517ae9afef4d65353f8

commit r11-10253-g5cb02a5f803d522cfdc8a517ae9afef4d65353f8
Author: Kewen Lin <linkw@linux.ibm.com>
Date:   Tue Sep 6 20:37:57 2022 -0500

    rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
    
    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_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.
    
    (cherry picked from commit 7a43e52a48b6403a99d3e8ab3105869b4b3c081e)

Diff:
---
 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 961c0310f1e..a09606e4497 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -6087,9 +6087,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
+	}
     } {}]
 }
 
@@ -6197,71 +6200,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]]
 }
 
@@ -6348,9 +6372,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
+	}
     }]
 }
 
@@ -6358,9 +6385,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
+	}
     }]
 }
 
@@ -6368,9 +6398,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
+	}
     }]
 }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-13  5:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-13  5:22 [gcc r11-10253] rs6000/test: Fix empty TU in some cases of effective targets [PR106345] Kewen Lin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).