From: Alexander Ivchenko Date: Thu, 13 Nov 2014 09:08:18 +0000 (+0000) Subject: target-supports.exp (error_h): New check. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3cd383fd6d32752db39734c5fd084e0ca7c08aed;p=gcc.git target-supports.exp (error_h): New check. gcc/testsuite/ * lib/target-supports.exp (error_h): New check. (libc_has_complex_functions): Ditto. (tgmath_h): Ditto. * gcc.dg/builtins-59.c: Add libc_has_complex_functions check. * gcc.dg/builtins-61.c: Likewise. * gcc.dg/builtins-67.c: Disable test for Bionic. * gcc.dg/strlenopt-14g.c: Likewise. * gcc.dg/strlenopt-14gf.c: Likewise. * gcc.dg/c99-tgmath-1.c: Add tgmath_h check. * gcc.dg/c99-tgmath-2.c: Likewise. * gcc.dg/c99-tgmath-3.c: Likewise. * gcc.dg/c99-tgmath-4.c: Likewise. * gcc.dg/dfp/convert-dfp-round-thread.c: Add error_h check. From-SVN: r217467 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 66c66c49231..5376ce19432 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,19 @@ +2014-11-12 Alexander Ivchenko + + * lib/target-supports.exp (error_h): New check. + (libc_has_complex_functions): Ditto. + (tgmath_h): Ditto. + * gcc.dg/builtins-59.c: Add libc_has_complex_functions check. + * gcc.dg/builtins-61.c: Likewise. + * gcc.dg/builtins-67.c: Disable test for Bionic. + * gcc.dg/strlenopt-14g.c: Likewise. + * gcc.dg/strlenopt-14gf.c: Likewise. + * gcc.dg/c99-tgmath-1.c: Add tgmath_h check. + * gcc.dg/c99-tgmath-2.c: Likewise. + * gcc.dg/c99-tgmath-3.c: Likewise. + * gcc.dg/c99-tgmath-4.c: Likewise. + * gcc.dg/dfp/convert-dfp-round-thread.c: Add error_h check. + 2014-11-12 Jakub Jelinek PR ipa/63838 diff --git a/gcc/testsuite/gcc.dg/builtins-59.c b/gcc/testsuite/gcc.dg/builtins-59.c index b940d39ed60..f5c1803d5df 100644 --- a/gcc/testsuite/gcc.dg/builtins-59.c +++ b/gcc/testsuite/gcc.dg/builtins-59.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-fdump-tree-gimple" } */ /* { dg-require-effective-target c99_runtime } */ +/* { dg-require-effective-target libc_has_complex_functions } */ double test (double x) { diff --git a/gcc/testsuite/gcc.dg/builtins-61.c b/gcc/testsuite/gcc.dg/builtins-61.c index dff163ff112..a3310afbac2 100644 --- a/gcc/testsuite/gcc.dg/builtins-61.c +++ b/gcc/testsuite/gcc.dg/builtins-61.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O -ffast-math -fdump-tree-optimized" } */ /* { dg-require-effective-target c99_runtime } */ +/* { dg-require-effective-target libc_has_complex_functions } */ double test1 (double x) { diff --git a/gcc/testsuite/gcc.dg/builtins-67.c b/gcc/testsuite/gcc.dg/builtins-67.c index 22267bd31b9..0992fe1597f 100644 --- a/gcc/testsuite/gcc.dg/builtins-67.c +++ b/gcc/testsuite/gcc.dg/builtins-67.c @@ -3,6 +3,8 @@ /* { dg-do link } */ /* { dg-options "-ffast-math -lm" } */ /* { dg-add-options c99_runtime } */ +/* Bionic doesn't have rintl */ +/* { dg-require-effective-target non_bionic } */ #include "builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/c99-tgmath-1.c b/gcc/testsuite/gcc.dg/c99-tgmath-1.c index c7d848c7a6c..cfa02a91d33 100644 --- a/gcc/testsuite/gcc.dg/c99-tgmath-1.c +++ b/gcc/testsuite/gcc.dg/c99-tgmath-1.c @@ -3,6 +3,7 @@ /* { dg-do preprocess { target c99_runtime } } */ /* { dg-options "-std=iso9899:1999" } */ /* { dg-add-options c99_runtime } */ +/* { dg-require-effective-target tgmath_h } */ /* Test that tgmath defines the macros it's supposed to. */ #include diff --git a/gcc/testsuite/gcc.dg/c99-tgmath-2.c b/gcc/testsuite/gcc.dg/c99-tgmath-2.c index d4f1f87cfa9..1a1153cc6ea 100644 --- a/gcc/testsuite/gcc.dg/c99-tgmath-2.c +++ b/gcc/testsuite/gcc.dg/c99-tgmath-2.c @@ -3,6 +3,7 @@ /* { dg-do compile { target c99_runtime } } */ /* { dg-options "-std=iso9899:1999" } */ /* { dg-add-options c99_runtime } */ +/* { dg-require-effective-target tgmath_h } */ /* Test that invoking type-generic sin on a float invokes sinf. */ #include diff --git a/gcc/testsuite/gcc.dg/c99-tgmath-3.c b/gcc/testsuite/gcc.dg/c99-tgmath-3.c index 3e983042751..a595cf68559 100644 --- a/gcc/testsuite/gcc.dg/c99-tgmath-3.c +++ b/gcc/testsuite/gcc.dg/c99-tgmath-3.c @@ -3,6 +3,7 @@ /* { dg-do compile { target c99_runtime } } */ /* { dg-options "-std=iso9899:1999" } */ /* { dg-add-options c99_runtime } */ +/* { dg-require-effective-target tgmath_h } */ /* Test that invoking type-generic exp on a complex invokes cexp. */ #include diff --git a/gcc/testsuite/gcc.dg/c99-tgmath-4.c b/gcc/testsuite/gcc.dg/c99-tgmath-4.c index d8dc043c261..c05a1c59ebc 100644 --- a/gcc/testsuite/gcc.dg/c99-tgmath-4.c +++ b/gcc/testsuite/gcc.dg/c99-tgmath-4.c @@ -3,6 +3,7 @@ /* { dg-do compile { target c99_runtime } } */ /* { dg-options "-std=iso9899:1999" } */ /* { dg-add-options c99_runtime } */ +/* { dg-require-effective-target tgmath_h } */ /* Test that invoking type-generic pow on complex float invokes cpowf. */ #include diff --git a/gcc/testsuite/gcc.dg/dfp/convert-dfp-round-thread.c b/gcc/testsuite/gcc.dg/dfp/convert-dfp-round-thread.c index 6727e800c3f..59d9569b84f 100644 --- a/gcc/testsuite/gcc.dg/dfp/convert-dfp-round-thread.c +++ b/gcc/testsuite/gcc.dg/dfp/convert-dfp-round-thread.c @@ -1,5 +1,7 @@ /* { dg-options "-std=gnu99 -D_GNU_SOURCE -pthread" } */ /* { dg-do run { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } } */ +/* { dg-require-effective-target error_h } */ + /* N1150 5.2: Conversions among decimal floating types and between decimal floating types and generic floating types. diff --git a/gcc/testsuite/gcc.dg/strlenopt-14g.c b/gcc/testsuite/gcc.dg/strlenopt-14g.c index 86c57f195f0..8bc47903be1 100644 --- a/gcc/testsuite/gcc.dg/strlenopt-14g.c +++ b/gcc/testsuite/gcc.dg/strlenopt-14g.c @@ -1,6 +1,8 @@ /* This test needs runtime that provides stpcpy and mempcpy functions. */ /* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-options "-O2 -fdump-tree-strlen" } */ +/* Bionic targets don't have mempcpy */ +/* { dg-require-effective-target non_bionic } */ #define USE_GNU #include "strlenopt.h" diff --git a/gcc/testsuite/gcc.dg/strlenopt-14gf.c b/gcc/testsuite/gcc.dg/strlenopt-14gf.c index 8b78538d41d..54bb3a1b065 100644 --- a/gcc/testsuite/gcc.dg/strlenopt-14gf.c +++ b/gcc/testsuite/gcc.dg/strlenopt-14gf.c @@ -2,6 +2,8 @@ functions. */ /* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-options "-O2 -fdump-tree-strlen" } */ +/* Bionic targets don't have mempcpy */ +/* { dg-require-effective-target non_bionic } */ #define FORTIFY_SOURCE 2 #include "strlenopt-14g.c" diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index a31d050b436..02b2b778418 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -5124,6 +5124,30 @@ proc check_effective_target_non_bionic {} { }] } +# Return true if this target has error.h header. + +proc check_effective_target_error_h {} { + return [check_no_compiler_messages error_h object { + #include + }] +} + +# Return true if this target has tgmath.h header. + +proc check_effective_target_tgmath_h {} { + return [check_no_compiler_messages tgmath_h object { + #include + }] +} + +# Return true if target's libc supports complex functions. + +proc check_effective_target_libc_has_complex_functions {} { + return [check_no_compiler_messages libc_has_complex_functions object { + #include + }] +} + # Return 1 if # (a) an error of a few ULP is expected in string to floating-point # conversion functions; and