@@ -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
@@ -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
@@ -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
@@ -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);
@@ -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
@@ -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"
@@ -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>
@@ -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'" } */
@@ -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
@@ -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;
@@ -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);
@@ -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 ();
@@ -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 () {}
@@ -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 *);
@@ -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);
@@ -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);
@@ -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);
@@ -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;
@@ -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>
@@ -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>
@@ -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;
@@ -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 {
@@ -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;
@@ -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;
@@ -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);
@@ -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);
@@ -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__)
@@ -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>