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
+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):
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-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
lappend additional_flags "-mieee"
}
+if { ![check_effective_target_signal] } {
+ lappend additional_flags "-DSIGNAL_SUPPRESS"
+}
+
# load support procs
load_lib c-torture.exp
/* { 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>
/* { 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"
compilations). */
/* { dg-do compile } */
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
+/* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */
#include <stdint.h>
#ifndef SIGNAL_SUPPRESS
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__
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.
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