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 <g...@adacore.com>
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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #ifndef SIGNAL_SUPPRESS
 #include <signal.h>
 #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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #ifndef SIGNAL_SUPPRESS
 #include <signal.h>
 #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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #ifndef SIGNAL_SUPPRESS
 #include <signal.h>
 #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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <limits.h>
 #include <stdint.h>
 /* 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <stdint.h>
 #ifndef SIGNAL_SUPPRESS
 #include <signal.h>
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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <stddef.h>
+/* Define __STDC_WANT_IEC_60559_BFP_EXT__ before we (potentially)
+   include <vxWorks.h>, because <vxWorks.h> can cause <stdint.h>
+   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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
+#include <stddef.h>
 #include <stdint.h>
 #ifndef SIGNAL_SUPPRESS
 #include <signal.h>
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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 /* The return-address was clobbered.  */
 #include <stdlib.h>
 #include <setjmp.h>
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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <setjmp.h>
 
 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 <vxWorks.h>
+     before any other system header.  */
+  #include <vxWorks.h>
+#endif
+
 #include <signal.h>
 
 #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 <vxWorks.h>
+   before any other system header.  */
+#if defined(__vxworks) && !defined(__RTP__)
+#include <vxWorks.h>
+#endif
+
 #include <stdlib.h>
 #include <setjmp.h>
 

-- 
Alexandre Oliva, happy hacker  https://FSFLA.org/blogs/lxo/
   Free Software Activist         GNU Toolchain Engineer
        Vim, Vi, Voltei pro Emacs -- GNUlius Caesar

Reply via email to