From: Tom de Vries Date: Sat, 10 Jun 2017 06:59:49 +0000 (+0000) Subject: Add effective target signal X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=18787c384aba66221a157862c81238b9fea4e13d;p=gcc.git Add effective target signal 2017-06-10 Tom de Vries * lib/target-supports.exp (check_effective_target_signal): New proc. * lib/gcc.exp (gcc_target_compile): Remove appending of -DSIGNAL_SUPPRESS to additional_flags. * gcc.c-torture/execute/ieee/ieee.exp: Add -DSIGNAL_SUPPRESS to additional_flags if effective target signal is not supported by the target. * gcc.c-torture/execute/20101011-1.c: Same. * gcc.dg/c99-stdint-1.c: Same. * gcc.dg/c99-stdint-2.c: Same. * gcc.dg/c99-stdint-5.c: Same. * gcc.dg/c99-stdint-6.c: Same. * gcc.dg/stdint-width-1.c: Same. * doc/sourcebuild.texi (Effective-Target Keywords, Environment attributes): Document signal effective target. From-SVN: r249091 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 99c54d1299d..d55bdf43bd0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-06-10 Tom de Vries + + * doc/sourcebuild.texi (Effective-Target Keywords, Environment + attributes): Document signal effective target. + 2017-06-10 Tom de Vries * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index cdb3a2c883d..e5f0da6a49b 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1973,6 +1973,9 @@ time) should be run on this target. This can be enabled by setting the Test system runs executables on a simulator (i.e. slowly) rather than hardware (i.e. fast). +@item signal +Target has @code{signal.h}. + @item stabs Target supports the stabs debugging format. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7ffa0c0e634..190054e53a9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2017-06-10 Tom de Vries + + * lib/target-supports.exp (check_effective_target_signal): New proc. + * lib/gcc.exp (gcc_target_compile): Remove appending of + -DSIGNAL_SUPPRESS to additional_flags. + * gcc.c-torture/execute/ieee/ieee.exp: Add -DSIGNAL_SUPPRESS to + additional_flags if effective target signal is not supported by the + target. + * gcc.c-torture/execute/20101011-1.c: Same. + * gcc.dg/c99-stdint-1.c: Same. + * gcc.dg/c99-stdint-2.c: Same. + * gcc.dg/c99-stdint-5.c: Same. + * gcc.dg/c99-stdint-6.c: Same. + * gcc.dg/stdint-width-1.c: Same. + 2017-06-10 Tom de Vries * lib/target-supports.exp (check_effective_target_stack_size) diff --git a/gcc/testsuite/gcc.c-torture/execute/20101011-1.c b/gcc/testsuite/gcc.c-torture/execute/20101011-1.c index 899a401dd75..dda49a59852 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20101011-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20101011-1.c @@ -1,5 +1,6 @@ /* { dg-options "-fnon-call-exceptions" } */ /* With -fnon-call-exceptions 0 / 0 should not be eliminated. */ +/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ #ifdef SIGNAL_SUPPRESS # define DO_TEST 0 diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp index 26247d6e5be..043e02ded1b 100644 --- a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp +++ b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp @@ -53,6 +53,10 @@ if { [istarget "alpha*-*-*"] lappend additional_flags "-mieee" } +if { ![check_effective_target_signal] } { + lappend additional_flags "-DSIGNAL_SUPPRESS" +} + # load support procs load_lib c-torture.exp diff --git a/gcc/testsuite/gcc.dg/c99-stdint-1.c b/gcc/testsuite/gcc.dg/c99-stdint-1.c index 530d13025e7..f5c2cda77c9 100644 --- a/gcc/testsuite/gcc.dg/c99-stdint-1.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-1.c @@ -10,6 +10,7 @@ /* { dg-do compile } */ /* { dg-options "-std=iso9899:1999 -pedantic-errors -fhosted" } */ /* { dg-require-effective-target ptr32plus } */ +/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ #include #include diff --git a/gcc/testsuite/gcc.dg/c99-stdint-2.c b/gcc/testsuite/gcc.dg/c99-stdint-2.c index 1784b0c413e..08d9f6023d9 100644 --- a/gcc/testsuite/gcc.dg/c99-stdint-2.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-2.c @@ -3,6 +3,8 @@ /* { dg-do compile } */ /* { dg-options "-std=iso9899:1999 -pedantic-errors -ffreestanding" } */ /* { dg-require-effective-target ptr32plus } */ +/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ + /* The test is that there are no diagnostics, so just include the hosted version. */ #include "c99-stdint-1.c" diff --git a/gcc/testsuite/gcc.dg/c99-stdint-5.c b/gcc/testsuite/gcc.dg/c99-stdint-5.c index 9c224edc1cb..60513233a43 100644 --- a/gcc/testsuite/gcc.dg/c99-stdint-5.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-5.c @@ -3,6 +3,7 @@ compilations). */ /* { dg-do compile } */ /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ +/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ #include #ifndef SIGNAL_SUPPRESS diff --git a/gcc/testsuite/gcc.dg/c99-stdint-6.c b/gcc/testsuite/gcc.dg/c99-stdint-6.c index 150666ce689..60ac31ff7dd 100644 --- a/gcc/testsuite/gcc.dg/c99-stdint-6.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-6.c @@ -2,6 +2,7 @@ with any system header. */ /* { dg-do compile { target inttypes_types } } */ /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ +/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ #include #ifndef SIGNAL_SUPPRESS diff --git a/gcc/testsuite/gcc.dg/stdint-width-1.c b/gcc/testsuite/gcc.dg/stdint-width-1.c index a28feee38db..3eba9f6cb15 100644 --- a/gcc/testsuite/gcc.dg/stdint-width-1.c +++ b/gcc/testsuite/gcc.dg/stdint-width-1.c @@ -1,6 +1,7 @@ /* Test TS 18661-1 width macros in . */ /* { dg-do compile } */ /* { dg-options "-std=c11 -ffreestanding" } */ +/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ #include #define __STDC_WANT_IEC_60559_BFP_EXT__ diff --git a/gcc/testsuite/lib/gcc.exp b/gcc/testsuite/lib/gcc.exp index e4ac239e418..406ec4ac570 100644 --- a/gcc/testsuite/lib/gcc.exp +++ b/gcc/testsuite/lib/gcc.exp @@ -141,10 +141,6 @@ proc gcc_target_compile { source dest type options } { lappend options "ldflags=$TEST_EXTRA_LIBS" } - if [target_info exists gcc,signal_suppress] { - lappend options "additional_flags=-DSIGNAL_SUPPRESS" - } - # TEST_ALWAYS_FLAGS are flags that should be passed to every # compilation. They are passed first to allow individual # tests to override them. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d7efc19c018..31701c23e8f 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -525,6 +525,15 @@ proc dg-effective-target-value { effective_target } { return 0 } +# Return 1 if signal.h is supported. + +proc check_effective_target_signal { } { + if [target_info exists gcc,signal_suppress] { + return 0 + } + return 1 +} + # Return 1 if according to target_info struct and explicit target list # target disables -fdelete-null-pointer-checks. Targets should return 0 # if they simply default to -fno-delete-null-pointer-checks but obey