From patchwork Tue Dec 22 21:14:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Oliva X-Patchwork-Id: 1419478 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=adacore.com Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4D0pxS2TJNz9sT5 for ; Wed, 23 Dec 2020 08:14:20 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2E4C33836C02; Tue, 22 Dec 2020 21:14:18 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from rock.gnat.com (rock.gnat.com [205.232.38.15]) by sourceware.org (Postfix) with ESMTP id 28493387084D for ; Tue, 22 Dec 2020 21:14:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 28493387084D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oliva@adacore.com Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id CD4A7116D18; Tue, 22 Dec 2020 16:14:14 -0500 (EST) X-Virus-Scanned: Debian amavisd-new at gnat.com Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id b6VEDptEHfko; Tue, 22 Dec 2020 16:14:14 -0500 (EST) Received: from free.home (tron.gnat.com [IPv6:2620:20:4000:0:46a8:42ff:fe0e:e294]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPS id 6FB10116A7D; Tue, 22 Dec 2020 16:14:14 -0500 (EST) Received: from livre (livre.home [172.31.160.2]) by free.home (8.15.2/8.15.2) with ESMTPS id 0BMLE6Bk055985 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 22 Dec 2020 18:14:06 -0300 From: Alexandre Oliva To: gcc-patches@gcc.gnu.org Subject: Add conditional include of vxWorks.h for kernel mode Organization: Free thinker, does not speak for AdaCore Date: Tue, 22 Dec 2020 18:14:06 -0300 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Corentin Gay Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" In kernel mode, an application must include vxWorks.h before any other system header, this patch adds exactly that to the test that were failing due to a missing declaration that was found in vxWorks.h. Regstrapped on x86_64-linux-gnu, and tested with -x-arm-wrs-vxworks7r2. Ok to install? from Corentin Gay for gcc/testsuite/ChangeLog * gcc.c-torture/execute/ieee/fp-cmp-1.c: Adds conditional include directive for VxWorks kernel mode. * gcc.c-torture/execute/ieee/fp-cmp-2.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-3.c: Likewise. * gcc.c-torture/execute/pr56982.c: Likewise. * gcc.dg/vect/tree-vect.h: Add conditional #include of base vxWorks header file required before inclusion of other system header file, here signal.h. * gcc.dg/c99-stdint-1.c: Likewise. * gcc.dg/c99-stdint-2.c: Likewise. * gcc.dg/c99-stdint-5.c: Likewise. * gcc.dg/declspec-18.c: Likewise. * gcc.dg/pr57287-2.c: Likewise. * gcc.dg/pr57287.c: Likewise. * gcc.dg/pr59920-1.c: Likewise. * gcc.dg/pr63748.c: Likewise. * gcc.dg/pr78582.c: Likewise. * gcc.dg/setjmp-1.c: Likewise. * gcc.dg/setjmp-3.c: Likewise. * gcc.dg/setjmp-4.c: Likewise. * gcc.dg/setjmp-5.c: Likewise. * gcc.dg/setjmp-6.c: Likewise. * gcc.dg/stdint-width-1.c: Likewise. * gcc.dg/torture/pr48542.c: Likewise. * gcc.dg/torture/pr59993.c: Likewise. * gcc.dg/torture/pr63738.c: Likewise. * gcc.dg/torture/pr64728.c: Likewise. * gcc.dg/torture/pr66101.c: Likewise. * gcc.dg/torture/stackalign/setjmp-3.c: Likewise. * gcc.dg/torture/stackalign/setjmp-4.c: Likewise. --- .../gcc.c-torture/execute/ieee/fp-cmp-1.c | 6 ++++++ .../gcc.c-torture/execute/ieee/fp-cmp-2.c | 7 +++++++ .../gcc.c-torture/execute/ieee/fp-cmp-3.c | 7 +++++++ gcc/testsuite/gcc.c-torture/execute/pr56982.c | 7 +++++++ gcc/testsuite/gcc.dg/c99-stdint-1.c | 6 ++++++ gcc/testsuite/gcc.dg/c99-stdint-2.c | 7 +++++++ gcc/testsuite/gcc.dg/c99-stdint-5.c | 6 ++++++ gcc/testsuite/gcc.dg/declspec-18.c | 6 ++++++ gcc/testsuite/gcc.dg/pr57287-2.c | 6 ++++++ gcc/testsuite/gcc.dg/pr57287.c | 6 ++++++ gcc/testsuite/gcc.dg/pr59920-1.c | 6 ++++++ gcc/testsuite/gcc.dg/pr63748.c | 6 ++++++ gcc/testsuite/gcc.dg/pr78582.c | 6 ++++++ gcc/testsuite/gcc.dg/setjmp-1.c | 6 ++++++ gcc/testsuite/gcc.dg/setjmp-3.c | 6 ++++++ gcc/testsuite/gcc.dg/setjmp-4.c | 6 ++++++ gcc/testsuite/gcc.dg/setjmp-5.c | 6 ++++++ gcc/testsuite/gcc.dg/setjmp-6.c | 6 ++++++ gcc/testsuite/gcc.dg/stdint-width-1.c | 14 +++++++++++++- gcc/testsuite/gcc.dg/torture/pr48542.c | 6 ++++++ gcc/testsuite/gcc.dg/torture/pr59993.c | 6 ++++++ gcc/testsuite/gcc.dg/torture/pr63738.c | 6 ++++++ gcc/testsuite/gcc.dg/torture/pr64728.c | 6 ++++++ gcc/testsuite/gcc.dg/torture/pr66101.c | 6 ++++++ gcc/testsuite/gcc.dg/torture/stackalign/setjmp-3.c | 6 ++++++ gcc/testsuite/gcc.dg/torture/stackalign/setjmp-4.c | 6 ++++++ gcc/testsuite/gcc.dg/vect/tree-vect.h | 8 ++++++++ gcc/testsuite/gcc.target/powerpc/pr87466.c | 6 ++++++ 28 files changed, 181 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c index 0655c73a1f8b8..4664d7258c06b 100644 --- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c @@ -1,3 +1,9 @@ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #ifndef SIGNAL_SUPPRESS #include #endif diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c index 0f4c6f145f1a2..60ca7461cd993 100644 --- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c @@ -1,3 +1,10 @@ + +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #ifndef SIGNAL_SUPPRESS #include #endif diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c index 710b85ccb2a95..62de1f1fbf2a3 100644 --- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c +++ b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c @@ -1,3 +1,10 @@ + +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #ifndef SIGNAL_SUPPRESS #include #endif diff --git a/gcc/testsuite/gcc.c-torture/execute/pr56982.c b/gcc/testsuite/gcc.c-torture/execute/pr56982.c index 0fa9c8ab4ba82..b5f54d6c192ef 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr56982.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr56982.c @@ -1,4 +1,11 @@ /* { dg-require-effective-target indirect_jumps } */ + +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/c99-stdint-1.c b/gcc/testsuite/gcc.dg/c99-stdint-1.c index f5c2cda77c9c0..cef8309d8033c 100644 --- a/gcc/testsuite/gcc.dg/c99-stdint-1.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-1.c @@ -12,6 +12,12 @@ /* { dg-require-effective-target ptr32plus } */ /* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include #include /* This and the later SIG_ATOMIC_* tests should be appropriately diff --git a/gcc/testsuite/gcc.dg/c99-stdint-2.c b/gcc/testsuite/gcc.dg/c99-stdint-2.c index 08d9f6023d9f9..8ffb7261a58ff 100644 --- a/gcc/testsuite/gcc.dg/c99-stdint-2.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-2.c @@ -7,4 +7,11 @@ /* The test is that there are no diagnostics, so just include the hosted version. */ + +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #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 60513233a43fc..5899436709c6f 100644 --- a/gcc/testsuite/gcc.dg/c99-stdint-5.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-5.c @@ -5,6 +5,12 @@ /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ /* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include #ifndef SIGNAL_SUPPRESS #include diff --git a/gcc/testsuite/gcc.dg/declspec-18.c b/gcc/testsuite/gcc.dg/declspec-18.c index 2885692e1f38f..76b0bbeb28ed9 100644 --- a/gcc/testsuite/gcc.dg/declspec-18.c +++ b/gcc/testsuite/gcc.dg/declspec-18.c @@ -1,6 +1,12 @@ /* { dg-do compile } */ /* { dg-options "-std=gnu89" } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + static t1 *a; /* { dg-error "unknown type name 't1'" } */ int z; /* { dg-message "previous declaration of 'z'" } */ diff --git a/gcc/testsuite/gcc.dg/pr57287-2.c b/gcc/testsuite/gcc.dg/pr57287-2.c index b41ae64f93325..7a2439a5f7308 100644 --- a/gcc/testsuite/gcc.dg/pr57287-2.c +++ b/gcc/testsuite/gcc.dg/pr57287-2.c @@ -2,6 +2,12 @@ /* { dg-options "-O2 -Wall" } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include struct node diff --git a/gcc/testsuite/gcc.dg/pr57287.c b/gcc/testsuite/gcc.dg/pr57287.c index 47ed5b7988605..bcd567a1a43b3 100644 --- a/gcc/testsuite/gcc.dg/pr57287.c +++ b/gcc/testsuite/gcc.dg/pr57287.c @@ -2,6 +2,12 @@ /* { dg-options "-O2 -Wall" } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include jmp_buf buf; diff --git a/gcc/testsuite/gcc.dg/pr59920-1.c b/gcc/testsuite/gcc.dg/pr59920-1.c index a2f0727670020..20f3d05654ae9 100644 --- a/gcc/testsuite/gcc.dg/pr59920-1.c +++ b/gcc/testsuite/gcc.dg/pr59920-1.c @@ -3,6 +3,12 @@ /* { dg-options "-O0" } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include int bar (void); diff --git a/gcc/testsuite/gcc.dg/pr63748.c b/gcc/testsuite/gcc.dg/pr63748.c index cc353a7e5c34f..7595806024509 100644 --- a/gcc/testsuite/gcc.dg/pr63748.c +++ b/gcc/testsuite/gcc.dg/pr63748.c @@ -2,6 +2,12 @@ /* { dg-options "-O2 -Wall" } */ /* { dg-require-effective-target nonlocal_goto } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include jmp_buf *alloc_jmp_buf (); diff --git a/gcc/testsuite/gcc.dg/pr78582.c b/gcc/testsuite/gcc.dg/pr78582.c index 6d125cf8bab1c..c2718a94b8204 100644 --- a/gcc/testsuite/gcc.dg/pr78582.c +++ b/gcc/testsuite/gcc.dg/pr78582.c @@ -3,6 +3,12 @@ /* { dg-do compile } */ /* { dg-require-effective-target nonlocal_goto } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include void reader_loop () {} diff --git a/gcc/testsuite/gcc.dg/setjmp-1.c b/gcc/testsuite/gcc.dg/setjmp-1.c index 600fb7f1ca1be..6744f2fc21f7c 100644 --- a/gcc/testsuite/gcc.dg/setjmp-1.c +++ b/gcc/testsuite/gcc.dg/setjmp-1.c @@ -5,6 +5,12 @@ /* { dg-options "-O -Wclobbered -Wextra -Wall" } */ /* { dg-skip-if "" { ! nonlocal_goto } } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include extern void set_float_handler (jmp_buf *); diff --git a/gcc/testsuite/gcc.dg/setjmp-3.c b/gcc/testsuite/gcc.dg/setjmp-3.c index 7522242081189..4a72bf5c93f1a 100644 --- a/gcc/testsuite/gcc.dg/setjmp-3.c +++ b/gcc/testsuite/gcc.dg/setjmp-3.c @@ -2,6 +2,12 @@ /* { dg-options "-O" } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/setjmp-4.c b/gcc/testsuite/gcc.dg/setjmp-4.c index 20765f631d17a..a7b7045a9c80e 100644 --- a/gcc/testsuite/gcc.dg/setjmp-4.c +++ b/gcc/testsuite/gcc.dg/setjmp-4.c @@ -2,6 +2,12 @@ /* { dg-options "-O" } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/setjmp-5.c b/gcc/testsuite/gcc.dg/setjmp-5.c index 584762915deea..9ac9f8d3dcd95 100644 --- a/gcc/testsuite/gcc.dg/setjmp-5.c +++ b/gcc/testsuite/gcc.dg/setjmp-5.c @@ -2,6 +2,12 @@ /* { dg-options "-O2 -Wall" } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include void bar (int); diff --git a/gcc/testsuite/gcc.dg/setjmp-6.c b/gcc/testsuite/gcc.dg/setjmp-6.c index d821d230ce0af..2e7926d1d9603 100644 --- a/gcc/testsuite/gcc.dg/setjmp-6.c +++ b/gcc/testsuite/gcc.dg/setjmp-6.c @@ -3,6 +3,12 @@ /* { dg-options "-O3" } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include jmp_buf buf; diff --git a/gcc/testsuite/gcc.dg/stdint-width-1.c b/gcc/testsuite/gcc.dg/stdint-width-1.c index 3eba9f6cb15b8..e2efdd5276228 100644 --- a/gcc/testsuite/gcc.dg/stdint-width-1.c +++ b/gcc/testsuite/gcc.dg/stdint-width-1.c @@ -3,8 +3,20 @@ /* { dg-options "-std=c11 -ffreestanding" } */ /* { dg-additional-options "-DSIGNAL_SUPPRESS" { target { ! signal } } } */ -#include +/* Define __STDC_WANT_IEC_60559_BFP_EXT__ before we (potentially) + include , because can cause + to be indirectly included. Without __STDC_WANT_IEC_60559_BFP_EXT__ + being defined ahead, stdint.h would not define the macros we are + trying to verify, thus causing this test to fail. */ #define __STDC_WANT_IEC_60559_BFP_EXT__ + +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + +#include #include #ifndef SIGNAL_SUPPRESS #include diff --git a/gcc/testsuite/gcc.dg/torture/pr48542.c b/gcc/testsuite/gcc.dg/torture/pr48542.c index 98cff00071d6b..8272c0d429090 100644 --- a/gcc/testsuite/gcc.dg/torture/pr48542.c +++ b/gcc/testsuite/gcc.dg/torture/pr48542.c @@ -1,6 +1,12 @@ /* { dg-do run } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + /* The return-address was clobbered. */ #include #include diff --git a/gcc/testsuite/gcc.dg/torture/pr59993.c b/gcc/testsuite/gcc.dg/torture/pr59993.c index 57ecdde6938c2..30390c46d1c26 100644 --- a/gcc/testsuite/gcc.dg/torture/pr59993.c +++ b/gcc/testsuite/gcc.dg/torture/pr59993.c @@ -1,6 +1,12 @@ /* { dg-do compile } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include extern int optind; diff --git a/gcc/testsuite/gcc.dg/torture/pr63738.c b/gcc/testsuite/gcc.dg/torture/pr63738.c index 82ac4ff2a638b..7064a980e29f7 100644 --- a/gcc/testsuite/gcc.dg/torture/pr63738.c +++ b/gcc/testsuite/gcc.dg/torture/pr63738.c @@ -1,6 +1,12 @@ /* { dg-do compile } */ /* { dg-require-effective-target nonlocal_goto } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include struct longjmp_buffer { diff --git a/gcc/testsuite/gcc.dg/torture/pr64728.c b/gcc/testsuite/gcc.dg/torture/pr64728.c index 7384d85a9289d..1dc32e0165f9b 100644 --- a/gcc/testsuite/gcc.dg/torture/pr64728.c +++ b/gcc/testsuite/gcc.dg/torture/pr64728.c @@ -1,6 +1,12 @@ /* { dg-do compile } */ /* { dg-require-effective-target nonlocal_goto } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include jmp_buf a; diff --git a/gcc/testsuite/gcc.dg/torture/pr66101.c b/gcc/testsuite/gcc.dg/torture/pr66101.c index 39d380722b463..e636703d30e4d 100644 --- a/gcc/testsuite/gcc.dg/torture/pr66101.c +++ b/gcc/testsuite/gcc.dg/torture/pr66101.c @@ -1,6 +1,12 @@ /* { dg-do compile } */ /* { dg-require-effective-target nonlocal_goto } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include jmp_buf env; diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-3.c b/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-3.c index 2f9840c14a7e8..d4180f7f8bfa0 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-3.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-3.c @@ -1,6 +1,12 @@ /* { dg-do run } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-4.c b/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-4.c index b180130c40659..2d2af5ad14806 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-4.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/setjmp-4.c @@ -1,6 +1,12 @@ /* { dg-do run } */ /* { dg-require-effective-target indirect_jumps } */ +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/vect/tree-vect.h b/gcc/testsuite/gcc.dg/vect/tree-vect.h index c4b8144121666..ec145a0890b22 100644 --- a/gcc/testsuite/gcc.dg/vect/tree-vect.h +++ b/gcc/testsuite/gcc.dg/vect/tree-vect.h @@ -1,4 +1,12 @@ + /* Check if system supports SIMD */ + +#if defined(__vxworks) && !defined(__RTP__) + /* A kernel module requires the inclusion of + before any other system header. */ + #include +#endif + #include #if defined(__i386__) || defined(__x86_64__) diff --git a/gcc/testsuite/gcc.target/powerpc/pr87466.c b/gcc/testsuite/gcc.target/powerpc/pr87466.c index 2bb292cfed1f8..047bae25821d8 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr87466.c +++ b/gcc/testsuite/gcc.target/powerpc/pr87466.c @@ -1,6 +1,12 @@ /* { dg-do compile { target powerpc*-*-* } } */ /* { dg-options "-O2" } */ +/* VxWorks kernel modules require the inclusion of + before any other system header. */ +#if defined(__vxworks) && !defined(__RTP__) +#include +#endif + #include #include