This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Tweak gcc.c-torture/execute/pr39228.c
- From: Oleg Endo <oleg dot endo at t-online dot de>
- To: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 3 Sep 2014 06:41:47 +0200
- Subject: Re: [RFC] Tweak gcc.c-torture/execute/pr39228.c
- Authentication-results: sourceware.org; auth=none
- References: <20140903 dot 094249 dot 32448804 dot kkojima at rr dot iij4u dot or dot jp>
Hi,
On Sep 3, 2014, at 2:42 AM, Kaz Kojima <kkojima@rr.iij4u.or.jp> wrote:
> Hi,
>
> gcc.c-torture/execute/pr39228.c fails with "(test for excess errors)"
> on SH for recent revisions. My gcc.log says:
>
> gcc.c-torture/execute/pr39228.c:20:43: warning: always_inline function might not be inlinable [-Wattributes]
> ...
>
> It looks that alpha has the similar issue:
> https://gcc.gnu.org/ml/gcc-testresults/2014-08/msg02660.html
>
> alpha and sh redefine dg-options to "-mieee" in the test case
> instead of the default dg-options "-w" and get the above warning.
> The patch below tweaks the test to fix it. Perhaps the first
> two lines are enough to avoid the error but avoiding the root cause
> of warnings would be better. Tested on i686-linux and sh4-linux.
-mieee should be the default on sh* and thus can be removed from the dg-options line, or is it not? If -mieee is still needed (for alpha) maybe it's better to use dg-additional-options instead?
Cheers,
Oleg
> Regards,
> kaz
> --
> * gcc.c-torture/execute/pr39228.c: Add -w option on sh*-*-*
> and alhpa*-*-*. Add "inline" keyword to test functions.
>
> --- ORIG/trunk/gcc/testsuite/gcc.c-torture/execute/pr39228.c 2014-08-26 09:26:20.000000000 +0900
> +++ trunk/gcc/testsuite/gcc.c-torture/execute/pr39228.c 2014-09-03 07:42:30.085524983 +0900
> @@ -1,23 +1,23 @@
> -/* { dg-options "-mieee" { target sh*-*-* alpha*-*-* } } */
> +/* { dg-options "-w -mieee" { target sh*-*-* alpha*-*-* } } */
> /* { dg-skip-if "No Inf/NaN support" { spu-*-* } "*" "" } */
>
> extern void abort (void);
>
> -static int __attribute__((always_inline)) testf (float b)
> +static inline int __attribute__((always_inline)) testf (float b)
> {
> float c = 1.01f * b;
>
> return __builtin_isinff (c);
> }
>
> -static int __attribute__((always_inline)) test (double b)
> +static inline int __attribute__((always_inline)) test (double b)
> {
> double c = 1.01 * b;
>
> return __builtin_isinf (c);
> }
>
> -static int __attribute__((always_inline)) testl (long double b)
> +static inline int __attribute__((always_inline)) testl (long double b)
> {
> long double c = 1.01L * b;
>