Commit 18787c38 by Tom de Vries Committed by Tom de Vries

Add effective target signal

2017-06-10  Tom de Vries  <tom@codesourcery.com>

	* 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
parent 0069a009
2017-06-10 Tom de Vries <tom@codesourcery.com>
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
attributes): Document signal effective target.
2017-06-10 Tom de Vries <tom@codesourcery.com>
* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
Document effective target stack_size.
......
......@@ -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.
......
2017-06-10 Tom de Vries <tom@codesourcery.com>
* 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 <tom@codesourcery.com>
* lib/target-supports.exp (check_effective_target_stack_size)
(dg-effective-target-value): New proc.
* lib/gcc.exp (gcc_target_compile): Remove adding of DSTACK_SIZE to
......
/* { 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
......
......@@ -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
......
......@@ -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 <limits.h>
#include <stdint.h>
......
......@@ -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"
......@@ -3,6 +3,7 @@
compilations). */
/* { dg-do compile } */
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */
#include <stdint.h>
#ifndef SIGNAL_SUPPRESS
......
......@@ -2,6 +2,7 @@
with any system <inttypes.h> header. */
/* { dg-do compile { target inttypes_types } } */
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */
#include <inttypes.h>
#ifndef SIGNAL_SUPPRESS
......
/* Test TS 18661-1 width macros in <stdint.h>. */
/* { dg-do compile } */
/* { dg-options "-std=c11 -ffreestanding" } */
/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */
#include <stddef.h>
#define __STDC_WANT_IEC_60559_BFP_EXT__
......
......@@ -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.
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment