public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
@ 2022-07-25  6:26 Kewen.Lin
  2022-08-15  8:03 ` PING^1 " Kewen.Lin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Kewen.Lin @ 2022-07-25  6:26 UTC (permalink / raw)
  To: GCC Patches; +Cc: Segher Boessenkool, David Edelsohn, Peter Bergner

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* PING^1 [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
  2022-07-25  6:26 [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345] Kewen.Lin
@ 2022-08-15  8:03 ` Kewen.Lin
  2022-08-29  6:20   ` PING^2 " Kewen.Lin
  2022-09-05  8:53 ` Kewen.Lin
  2022-09-05 14:42 ` Segher Boessenkool
  2 siblings, 1 reply; 5+ messages in thread
From: Kewen.Lin @ 2022-08-15  8:03 UTC (permalink / raw)
  To: GCC Patches; +Cc: Peter Bergner, David Edelsohn, Segher Boessenkool

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* PING^2 [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
  2022-08-15  8:03 ` PING^1 " Kewen.Lin
@ 2022-08-29  6:20   ` Kewen.Lin
  0 siblings, 0 replies; 5+ messages in thread
From: Kewen.Lin @ 2022-08-29  6:20 UTC (permalink / raw)
  To: GCC Patches; +Cc: Peter Bergner, Segher Boessenkool, David Edelsohn

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
  2022-07-25  6:26 [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345] Kewen.Lin
  2022-08-15  8:03 ` PING^1 " Kewen.Lin
@ 2022-09-05  8:53 ` Kewen.Lin
  2022-09-05 14:42 ` Segher Boessenkool
  2 siblings, 0 replies; 5+ messages in thread
From: Kewen.Lin @ 2022-09-05  8:53 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: Peter Bergner, David Edelsohn, GCC Patches

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345]
  2022-07-25  6:26 [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345] Kewen.Lin
  2022-08-15  8:03 ` PING^1 " Kewen.Lin
  2022-09-05  8:53 ` Kewen.Lin
@ 2022-09-05 14:42 ` Segher Boessenkool
  2 siblings, 0 replies; 5+ messages in thread
From: Segher Boessenkool @ 2022-09-05 14:42 UTC (permalink / raw)
  To: Kewen.Lin; +Cc: GCC Patches, David Edelsohn, Peter Bergner

Hi!

On Mon, Jul 25, 2022 at 02:26:15PM +0800, Kewen.Lin wrote:
> 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.

> 	* 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.

Sorry, I thought you had committed this already.  Oops.

Okay for trunk, and for all backports you want.  Thanks!


Segher

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-09-05 14:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-25  6:26 [PATCH v2] rs6000/test: Fix empty TU in some cases of effective targets [PR106345] Kewen.Lin
2022-08-15  8:03 ` PING^1 " Kewen.Lin
2022-08-29  6:20   ` PING^2 " Kewen.Lin
2022-09-05  8:53 ` Kewen.Lin
2022-09-05 14:42 ` Segher Boessenkool

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).