(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
cpp/
has-builtin-3.c
       1  /* PR c/66970 - Add __has_builtin() macro
       2     Verify __has_builtin evaluation for disabled library built-ins.
       3     { dg-do compile }
       4     { dg-options "-fno-builtin-abs" }
       5     { dg-additional-options "-std=c90" { target c } } */
       6  
       7  #if !__has_builtin (__builtin_abs)
       8  // __builtin_xxx is always available regardless of -fno-builtin.
       9  #  error "__has_builtin (__builtin_abs) failed"
      10  #endif
      11  
      12  #if __has_builtin (abs)
      13  #  error "__has_builtin (abs) failed"
      14  #endif
      15  
      16  #if __has_builtin (abs)
      17  #  error "__has_builtin (abs) failed"
      18  #endif
      19  
      20  
      21  #if !__has_builtin (__builtin_vsnprintf)
      22  // __builtin_vsnprintf is available in all language modes.
      23  #  error "__has_builtin (__builtin_vsnprintf) failed"
      24  #endif
      25  
      26  #if !__has_builtin (vsnprintf)
      27  #  if __cplusplus
      28  // vsnprintf is always available in C++.
      29  #    error "__has_builtin (vsnprintf) failed"
      30  #  endif
      31  #else
      32  #  if !__cplusplus
      33  // vsnprintf is a C99 function not available in C90.
      34  #    error "__has_builtin (vsnprintf) failed"
      35  #  endif
      36  #endif