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