1*b30d1939SAndy Fiddamanset stdio 2*b30d1939SAndy Fiddamanif tst note{ _ALL_SOURCE & _POSIX_SOURCE & _POSIX_C_SOURCE & _XOPEN_SOURCE & __EXTENSIONS__ works }end compile{ 3*b30d1939SAndy Fiddaman #define _ALL_SOURCE 1 4*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 5*b30d1939SAndy Fiddaman #define _POSIX_C_SOURCE 21000101L 6*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 9900 7*b30d1939SAndy Fiddaman #define _GNU_SOURCE 1 8*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 9*b30d1939SAndy Fiddaman #include <sys/types.h> 10*b30d1939SAndy Fiddaman #include <sys/stat.h> 11*b30d1939SAndy Fiddaman #include <stdlib.h> 12*b30d1939SAndy Fiddaman #include <unistd.h> 13*b30d1939SAndy Fiddaman }end { 14*b30d1939SAndy Fiddaman #ifndef _ALL_SOURCE 15*b30d1939SAndy Fiddaman #define _ALL_SOURCE 1 16*b30d1939SAndy Fiddaman #endif 17*b30d1939SAndy Fiddaman #ifndef _POSIX_SOURCE 18*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 19*b30d1939SAndy Fiddaman #endif 20*b30d1939SAndy Fiddaman #ifndef _POSIX_C_SOURCE 21*b30d1939SAndy Fiddaman #define _POSIX_C_SOURCE 21000101L 22*b30d1939SAndy Fiddaman #endif 23*b30d1939SAndy Fiddaman #ifndef _XOPEN_SOURCE 24*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 9900 25*b30d1939SAndy Fiddaman #endif 26*b30d1939SAndy Fiddaman #ifndef _GNU_SOURCE 27*b30d1939SAndy Fiddaman #define _GNU_SOURCE 1 28*b30d1939SAndy Fiddaman #endif 29*b30d1939SAndy Fiddaman #ifndef __EXTENSIONS__ 30*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 31*b30d1939SAndy Fiddaman #endif 32*b30d1939SAndy Fiddaman } 33*b30d1939SAndy Fiddamanelif tst note{ _ALL_SOURCE & _POSIX_SOURCE & _XOPEN_SOURCE & __EXTENSIONS__ works }end compile{ 34*b30d1939SAndy Fiddaman #define _ALL_SOURCE 1 35*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 36*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 9900 37*b30d1939SAndy Fiddaman #define _GNU_SOURCE 1 38*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 39*b30d1939SAndy Fiddaman #include <sys/types.h> 40*b30d1939SAndy Fiddaman #include <sys/stat.h> 41*b30d1939SAndy Fiddaman #include <stdlib.h> 42*b30d1939SAndy Fiddaman #include <unistd.h> 43*b30d1939SAndy Fiddaman }end { 44*b30d1939SAndy Fiddaman #ifndef _ALL_SOURCE 45*b30d1939SAndy Fiddaman #define _ALL_SOURCE 1 46*b30d1939SAndy Fiddaman #endif 47*b30d1939SAndy Fiddaman #ifndef _POSIX_SOURCE 48*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 49*b30d1939SAndy Fiddaman #endif 50*b30d1939SAndy Fiddaman #ifndef _XOPEN_SOURCE 51*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 9900 52*b30d1939SAndy Fiddaman #endif 53*b30d1939SAndy Fiddaman #ifndef _GNU_SOURCE 54*b30d1939SAndy Fiddaman #define _GNU_SOURCE 1 55*b30d1939SAndy Fiddaman #endif 56*b30d1939SAndy Fiddaman #ifndef __EXTENSIONS__ 57*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 58*b30d1939SAndy Fiddaman #endif 59*b30d1939SAndy Fiddaman } 60*b30d1939SAndy Fiddamanelif tst note{ _POSIX_SOURCE & _POSIX_C_SOURCE & _XOPEN_SOURCE & __EXTENSIONS__ works }end compile{ 61*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 62*b30d1939SAndy Fiddaman #define _POSIX_C_SOURCE 21000101L 63*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 9900 64*b30d1939SAndy Fiddaman #define _GNU_SOURCE 1 65*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 66*b30d1939SAndy Fiddaman #include <sys/types.h> 67*b30d1939SAndy Fiddaman #include <sys/stat.h> 68*b30d1939SAndy Fiddaman #include <stdlib.h> 69*b30d1939SAndy Fiddaman #include <unistd.h> 70*b30d1939SAndy Fiddaman }end { 71*b30d1939SAndy Fiddaman #ifndef _POSIX_SOURCE 72*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 73*b30d1939SAndy Fiddaman #endif 74*b30d1939SAndy Fiddaman #ifndef _POSIX_C_SOURCE 75*b30d1939SAndy Fiddaman #define _POSIX_C_SOURCE 21000101L 76*b30d1939SAndy Fiddaman #endif 77*b30d1939SAndy Fiddaman #ifndef _XOPEN_SOURCE 78*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 9900 79*b30d1939SAndy Fiddaman #endif 80*b30d1939SAndy Fiddaman #ifndef _GNU_SOURCE 81*b30d1939SAndy Fiddaman #define _GNU_SOURCE 1 82*b30d1939SAndy Fiddaman #endif 83*b30d1939SAndy Fiddaman #ifndef __EXTENSIONS__ 84*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 85*b30d1939SAndy Fiddaman #endif 86*b30d1939SAndy Fiddaman } 87*b30d1939SAndy Fiddamanelif tst note{ _POSIX_SOURCE & _XOPEN_SOURCE & __EXTENSIONS__ works }end compile{ 88*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 89*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 1 90*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 91*b30d1939SAndy Fiddaman #include <sys/types.h> 92*b30d1939SAndy Fiddaman #include <sys/stat.h> 93*b30d1939SAndy Fiddaman #include <stdlib.h> 94*b30d1939SAndy Fiddaman #include <unistd.h> 95*b30d1939SAndy Fiddaman }end { 96*b30d1939SAndy Fiddaman #ifndef _POSIX_SOURCE 97*b30d1939SAndy Fiddaman #define _POSIX_SOURCE 1 98*b30d1939SAndy Fiddaman #endif 99*b30d1939SAndy Fiddaman #ifndef _XOPEN_SOURCE 100*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 1 101*b30d1939SAndy Fiddaman #endif 102*b30d1939SAndy Fiddaman #ifndef __EXTENSIONS__ 103*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 104*b30d1939SAndy Fiddaman #endif 105*b30d1939SAndy Fiddaman } 106*b30d1939SAndy Fiddamanelif tst note{ _XOPEN_SOURCE & __EXTENSIONS__ works }end compile{ 107*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 1 108*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 109*b30d1939SAndy Fiddaman #include <sys/types.h> 110*b30d1939SAndy Fiddaman #include <sys/stat.h> 111*b30d1939SAndy Fiddaman #include <stdlib.h> 112*b30d1939SAndy Fiddaman #include <unistd.h> 113*b30d1939SAndy Fiddaman }end { 114*b30d1939SAndy Fiddaman #ifndef _XOPEN_SOURCE 115*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 1 116*b30d1939SAndy Fiddaman #endif 117*b30d1939SAndy Fiddaman #ifndef __EXTENSIONS__ 118*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 119*b30d1939SAndy Fiddaman #endif 120*b30d1939SAndy Fiddaman } 121*b30d1939SAndy Fiddamanelif tst note{ _XOPEN_SOURCE works }end compile{ 122*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 1 123*b30d1939SAndy Fiddaman #include <sys/types.h> 124*b30d1939SAndy Fiddaman #include <sys/stat.h> 125*b30d1939SAndy Fiddaman #include <stdlib.h> 126*b30d1939SAndy Fiddaman #include <unistd.h> 127*b30d1939SAndy Fiddaman }end { 128*b30d1939SAndy Fiddaman #ifndef _XOPEN_SOURCE 129*b30d1939SAndy Fiddaman #define _XOPEN_SOURCE 1 130*b30d1939SAndy Fiddaman #endif 131*b30d1939SAndy Fiddaman } 132*b30d1939SAndy Fiddamanelse tst note{ __EXTENSIONS__ works }end compile{ 133*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 134*b30d1939SAndy Fiddaman #include <sys/types.h> 135*b30d1939SAndy Fiddaman #include <sys/stat.h> 136*b30d1939SAndy Fiddaman }end { 137*b30d1939SAndy Fiddaman #ifndef __EXTENSIONS__ 138*b30d1939SAndy Fiddaman #define __EXTENSIONS__ 1 139*b30d1939SAndy Fiddaman #endif 140*b30d1939SAndy Fiddaman } 141*b30d1939SAndy Fiddamanendif 142*b30d1939SAndy Fiddaman 143*b30d1939SAndy Fiddamanif tst -D_ISOC99_SOURCE -lm note{ _ISOC99_SOURCE plays nice }end link{ 144*b30d1939SAndy Fiddaman #include <sys/types.h> 145*b30d1939SAndy Fiddaman #include <sys/stat.h> 146*b30d1939SAndy Fiddaman #include <stdlib.h> 147*b30d1939SAndy Fiddaman #include <unistd.h> 148*b30d1939SAndy Fiddaman #include <math.h> 149*b30d1939SAndy Fiddaman int main() { return signbit(-0.0); } 150*b30d1939SAndy Fiddaman }end { 151*b30d1939SAndy Fiddaman #ifndef _ISOC99_SOURCE 152*b30d1939SAndy Fiddaman #define _ISOC99_SOURCE 1 153*b30d1939SAndy Fiddaman #endif 154*b30d1939SAndy Fiddaman } 155*b30d1939SAndy Fiddamanendif 156*b30d1939SAndy Fiddaman 157*b30d1939SAndy Fiddamancat{ 158*b30d1939SAndy Fiddaman 159*b30d1939SAndy Fiddaman/* 160*b30d1939SAndy Fiddaman * this is a nasty game we all play to honor standards symbol visibility 161*b30d1939SAndy Fiddaman * it would help if all implementations had 162*b30d1939SAndy Fiddaman * _KITCHEN_SINK_SOURCE 163*b30d1939SAndy Fiddaman * that enabled all symbols from the latest implemented standards 164*b30d1939SAndy Fiddaman * that's probably the most useful but least portable request 165*b30d1939SAndy Fiddaman */ 166*b30d1939SAndy Fiddaman 167*b30d1939SAndy Fiddaman#if __MACH__ 168*b30d1939SAndy Fiddaman#undef _POSIX_SOURCE 169*b30d1939SAndy Fiddaman#endif 170*b30d1939SAndy Fiddaman 171*b30d1939SAndy Fiddaman}end 172