1extern int inside_main; 2extern void abort (void); 3#ifdef __OPTIMIZE__ 4#define ABORT_INSIDE_MAIN do { if (inside_main) abort (); } while (0) 5#else 6#define ABORT_INSIDE_MAIN do { } while (0) 7#endif 8 9typedef __INTMAX_TYPE__ intmax_t; 10 11int 12abs (int x) 13{ 14 ABORT_INSIDE_MAIN; 15 return x < 0 ? -x : x; 16} 17 18long 19labs (long x) 20{ 21 ABORT_INSIDE_MAIN; 22 return x < 0 ? -x : x; 23} 24 25long long 26llabs (long long x) 27{ 28 ABORT_INSIDE_MAIN; 29 return x < 0 ? -x : x; 30} 31 32intmax_t 33imaxabs (intmax_t x) 34{ 35 ABORT_INSIDE_MAIN; 36 return x < 0 ? -x : x; 37} 38