modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/builtins/complex-1-lib.c (about)

     1  extern int inside_main;
     2  extern 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  
     9  static float _Complex
    10  conjf (float _Complex z)
    11  {
    12    ABORT_INSIDE_MAIN;
    13    return ~z;
    14  }
    15  
    16  static double _Complex
    17  conj (double _Complex z)
    18  {
    19    ABORT_INSIDE_MAIN;
    20    return ~z;
    21  }
    22  
    23  static long double _Complex
    24  conjl (long double _Complex z)
    25  {
    26    ABORT_INSIDE_MAIN;
    27    return ~z;
    28  }
    29  
    30  static float
    31  crealf (float _Complex z)
    32  {
    33    ABORT_INSIDE_MAIN;
    34    return __real__ z;
    35  }
    36  
    37  static double
    38  creal (double _Complex z)
    39  {
    40    ABORT_INSIDE_MAIN;
    41    return __real__ z;
    42  }
    43  
    44  static long double
    45  creall (long double _Complex z)
    46  {
    47    ABORT_INSIDE_MAIN;
    48    return __real__ z;
    49  }
    50  
    51  static float
    52  cimagf (float _Complex z)
    53  {
    54    ABORT_INSIDE_MAIN;
    55    return __imag__ z;
    56  }
    57  
    58  static double
    59  cimag (double _Complex z)
    60  {
    61    ABORT_INSIDE_MAIN;
    62    return __imag__ z;
    63  }
    64  
    65  static long double
    66  cimagl (long double _Complex z)
    67  {
    68    ABORT_INSIDE_MAIN;
    69    return __imag__ z;
    70  }