-/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
#define __WAIT_INT(status) (*(int *) &(status))
#endif
-/* This is the type of the argument to `wait'. With GCC 2.4 and later, the
- funky union causes redeclarations with either `int *' or `union wait *'
- to be allowed without complaint. (__GNUC_MINOR__ is in fact only
- defined in later versions, after 2.5.0.) __WAIT_STATUS_DEFN is the type
- used in the actual function definitions. */
+/* This is the type of the argument to `wait'.
+
+ NOTE: Since this functionality is volatile, I'm disabling the use of it for
+ now.
+
+With GCC 2.6.1 and later, the funky union causes redeclarations with either
+ `int *' or `union wait *' to be allowed without complaint.
+ __WAIT_STATUS_DEFN is the type used in the actual function
+ definitions. */
#if (!defined (__GNUC__) || __GNUC__ < 2 || \
- (__GNUC__ == 2 && __GNUC_MINOR__ < 4))
+ /*(__GNUC__ == 2 && __GNUC_MINOR__ < 6)*/ 1)
#define __WAIT_STATUS __ptr_t
#define __WAIT_STATUS_DEFN __ptr_t
#else
-#define __WAIT_STATUS union { union wait *__uptr; int *__iptr; }
+/* This works in GCC 2.6.1 and later. */
+typedef union
+ {
+ union wait *__uptr;
+ int *__iptr;
+ } __WAIT_STATUS __attribute__ ((transparent_union));
#define __WAIT_STATUS_DEFN int *
#endif
#define WIFSTOPPED(status) __WIFSTOPPED(__WAIT_INT(status))
#ifdef __USE_BSD
+#define WCOREFLAG __WCOREFLAG
#define WCOREDUMP(status) __WCOREDUMP(__WAIT_INT(status))
#define W_EXITCODE(ret, sig) __W_EXITCODE(ret, sig)
#define W_STOPCODE(sig) __W_STOPCODE(sig)