From 510e072da902bb3651dcfcdcee48d75e12ace6d6 Mon Sep 17 00:00:00 2001 From: Paul Koning Date: Mon, 5 Nov 2018 14:36:16 -0500 Subject: [PATCH] target-supports.exp: Add check for "inf" effective target keyword. * lib/target-supports.exp: Add check for "inf" effective target keyword. * gcc.dg/builtins-44.c: Skip if no infinite support. * gcc.dg/builtins-45.c: Ditto. * gcc.dg/torture/builtin-complex-1.c: Ditto. * gcc.dg/torture/builtin-cproj-1.c: Ditto. * gcc.dg/torture/builtin-frexp-1.c: Ditto. * gcc.dg/torture/builtin-ldexp-1.c: Ditto. * gcc.dg/torture/builtin-logb-1.c: Ditto. * gcc.dg/torture/builtin-math-2.c: Ditto. * gcc.dg/torture/builtin-math-5.c: Ditto. * gcc.dg/torture/builtin-math-7.c: Ditto. * gcc.dg/torture/builtin-modf-1.c: Ditto. * gcc.dg/torture/type-generic-1.c: Ditto. From-SVN: r265816 --- gcc/testsuite/ChangeLog | 17 +++++++++++++++++ gcc/testsuite/gcc.dg/builtins-44.c | 1 + gcc/testsuite/gcc.dg/builtins-45.c | 1 + .../gcc.dg/torture/builtin-complex-1.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-frexp-1.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-ldexp-1.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-logb-1.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-math-2.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-math-5.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-math-7.c | 1 + gcc/testsuite/gcc.dg/torture/builtin-modf-1.c | 1 + gcc/testsuite/gcc.dg/torture/type-generic-1.c | 1 + gcc/testsuite/lib/target-supports.exp | 7 +++++++ 14 files changed, 36 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 665c049e7cbd..78a1b05fcfef 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,20 @@ +2018-11-05 Paul Koning + + * lib/target-supports.exp: Add check for "inf" effective target + keyword. + * gcc.dg/builtins-44.c: Skip if no infinite support. + * gcc.dg/builtins-45.c: Ditto. + * gcc.dg/torture/builtin-complex-1.c: Ditto. + * gcc.dg/torture/builtin-cproj-1.c: Ditto. + * gcc.dg/torture/builtin-frexp-1.c: Ditto. + * gcc.dg/torture/builtin-ldexp-1.c: Ditto. + * gcc.dg/torture/builtin-logb-1.c: Ditto. + * gcc.dg/torture/builtin-math-2.c: Ditto. + * gcc.dg/torture/builtin-math-5.c: Ditto. + * gcc.dg/torture/builtin-math-7.c: Ditto. + * gcc.dg/torture/builtin-modf-1.c: Ditto. + * gcc.dg/torture/type-generic-1.c: Ditto. + 2018-11-05 Ilya Leoshkevich * gcc.target/s390/md/andc-splitter-1.c: Add colon to diff --git a/gcc/testsuite/gcc.dg/builtins-44.c b/gcc/testsuite/gcc.dg/builtins-44.c index 12676239b066..8a06b5969957 100644 --- a/gcc/testsuite/gcc.dg/builtins-44.c +++ b/gcc/testsuite/gcc.dg/builtins-44.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target inf } */ /* { dg-options "-O1 -fno-trapping-math -fno-finite-math-only -fdump-tree-optimized" } */ extern void f(int); diff --git a/gcc/testsuite/gcc.dg/builtins-45.c b/gcc/testsuite/gcc.dg/builtins-45.c index 4e354a180e2f..0fa801b33079 100644 --- a/gcc/testsuite/gcc.dg/builtins-45.c +++ b/gcc/testsuite/gcc.dg/builtins-45.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target inf } */ /* { dg-options "-O1 -fno-trapping-math -fno-finite-math-only -fdump-tree-optimized" } */ extern void f(int); diff --git a/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c b/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c index 0d26c9cc707d..5a4ed3cce4f4 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c @@ -1,6 +1,7 @@ /* Test __builtin_complex semantics. */ /* { dg-do run } */ /* { dg-options "-std=c11 -pedantic-errors" } */ +/* { dg-require-effective-target inf } */ /* { dg-add-options ieee } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c b/gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c index 9aa6691b7b93..d79f34acba6b 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c @@ -7,6 +7,7 @@ /* { dg-do link } */ /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */ +/* { dg-require-effective-target inf } */ /* { dg-add-options ieee } */ /* All references to link_error should go away at compile-time. The diff --git a/gcc/testsuite/gcc.dg/torture/builtin-frexp-1.c b/gcc/testsuite/gcc.dg/torture/builtin-frexp-1.c index a66ce51fcc3a..2f1708b8030d 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-frexp-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-frexp-1.c @@ -9,6 +9,7 @@ /* { dg-options "-fno-finite-math-only" { target sh*-*-* } } */ /* In order to fold algebraic exprs below, targets with "composite" floating point formats need -funsafe-math-optimizations. */ +/* { dg-require-effective-target inf } */ /* { dg-options "-funsafe-math-optimizations" { target powerpc*-*-* } } */ extern void link_error(int); diff --git a/gcc/testsuite/gcc.dg/torture/builtin-ldexp-1.c b/gcc/testsuite/gcc.dg/torture/builtin-ldexp-1.c index 64122747570d..05fa2b921e7c 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-ldexp-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-ldexp-1.c @@ -7,6 +7,7 @@ /* { dg-do link } */ /* { dg-options "-fno-finite-math-only" { target sh*-*-* } } */ +/* { dg-require-effective-target inf } */ /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */ extern void link_error(int); diff --git a/gcc/testsuite/gcc.dg/torture/builtin-logb-1.c b/gcc/testsuite/gcc.dg/torture/builtin-logb-1.c index d759d1c6c8ef..087d87f01fbc 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-logb-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-logb-1.c @@ -9,6 +9,7 @@ /* { dg-options "-fno-finite-math-only" { target sh*-*-* } } */ /* In order to fold algebraic exprs below, targets with "composite" floating point formats need -funsafe-math-optimizations. */ +/* { dg-require-effective-target inf } */ /* { dg-options "-funsafe-math-optimizations" { target powerpc*-*-* } } */ extern void link_error(int); diff --git a/gcc/testsuite/gcc.dg/torture/builtin-math-2.c b/gcc/testsuite/gcc.dg/torture/builtin-math-2.c index e8f2c4407363..73db91681eff 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-math-2.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-math-2.c @@ -6,6 +6,7 @@ Origin: Kaveh R. Ghazi, October 22, 2006. */ /* { dg-do compile } */ +/* { dg-require-effective-target inf } */ /* { dg-options "-fdump-tree-original" } */ extern void foof (float); diff --git a/gcc/testsuite/gcc.dg/torture/builtin-math-5.c b/gcc/testsuite/gcc.dg/torture/builtin-math-5.c index 025f4d0c0255..9ea906c568a8 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-math-5.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-math-5.c @@ -6,6 +6,7 @@ Origin: Kaveh R. Ghazi, January 28, 2009. */ /* { dg-do compile } */ +/* { dg-require-effective-target inf } */ /* { dg-options "-fdump-tree-original" } */ extern void foof (_Complex float); diff --git a/gcc/testsuite/gcc.dg/torture/builtin-math-7.c b/gcc/testsuite/gcc.dg/torture/builtin-math-7.c index d4ff1c8c179a..bdd5907177d9 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-math-7.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-math-7.c @@ -7,6 +7,7 @@ /* { dg-do run } */ /* C6X fails due to -freciprocal-math default. */ /* { dg-skip-if "" { tic6x-*-* } } */ +/* { dg-require-effective-target inf } */ /* { dg-add-options ieee } */ /* { dg-require-effective-target large_double } */ diff --git a/gcc/testsuite/gcc.dg/torture/builtin-modf-1.c b/gcc/testsuite/gcc.dg/torture/builtin-modf-1.c index 05e16ac2cc47..78d303243079 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-modf-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-modf-1.c @@ -6,6 +6,7 @@ Origin: Kaveh R. Ghazi, February 23, 2007. */ /* { dg-do link } */ +/* { dg-require-effective-target inf } */ /* { dg-options "-fno-finite-math-only" { target sh*-*-* } } */ /* { dg-options "-funsafe-math-optimizations -fsigned-zeros -fno-associative-math" { target powerpc-*-darwin* powerpc*-*-linux* } } */ diff --git a/gcc/testsuite/gcc.dg/torture/type-generic-1.c b/gcc/testsuite/gcc.dg/torture/type-generic-1.c index a5fa8e83f7f6..3df6f9b2d93c 100644 --- a/gcc/testsuite/gcc.dg/torture/type-generic-1.c +++ b/gcc/testsuite/gcc.dg/torture/type-generic-1.c @@ -2,6 +2,7 @@ without any fast-math flags. */ /* { dg-do run } */ +/* { dg-require-effective-target inf } */ /* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */ /* { dg-skip-if "No subnormal support" { csky-*-* } { "-mhard-float" } } */ /* { dg-options "-DUNSAFE" { target tic6x*-*-* visium-*-* nvptx-*-* } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index fd74c04d092b..9780e53dfc0b 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -8933,3 +8933,10 @@ proc check_effective_target_cet { } { } } "-O2" ] } + +# Return 1 if target supports floating point "infinite" +proc check_effective_target_inf { } { + return [check_no_compiler_messages supports_inf assembly { + const double pinf = __builtin_inf (); + }] +}