/* Test of <stdlib.h> substitute.
- Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
per POSIX 2008. */
verify (sizeof NULL == sizeof (void *));
+#if GNULIB_TEST_SYSTEM_POSIX
+# include "test-sys_wait.h"
+#else
+# define test_sys_wait_macros() 0
+#endif
+
int
main (void)
{
- /* Check subset of <sys/wait.h> macros that must be visible here.
- Note that some of these macros are only portable when operating
- on an lvalue. */
- int i;
- for (i = 0; i < 0x10000; i = (i ? i << 1 : 1))
- if (!!WIFSIGNALED (i) + !!WIFEXITED (i) + !!WIFSTOPPED (i) != 1)
- return 1;
- i = WEXITSTATUS (i) + WSTOPSIG (i) + WTERMSIG (i);
-
- switch (i)
- {
-#if 0
- /* Gnulib doesn't guarantee these, yet. */
- case WNOHANG:
- case WUNTRACED:
-#endif
- break;
- }
- return 0;
+ if (test_sys_wait_macros ())
+ return 1;
+
+ return exitcode;
}