Мне нужно знать, есть ли способ для gcc проверить наличие этих удивительных __builtin_MY_DESIRED_FUNCTIONs
Например, я хотел бы использовать __builtin_nan
и быть уверенным, что он доступен для моей программы и не выйдет из строя во время компиляции.
Я буду более конкретным: на clang есть __has_builtin
"checker", поэтому мы можем написать что-то вроде
#if __has_builtin(__builtin_nan)
Но я не могу найти аналог для gcc.
И, вероятно, я могу положиться только на gcc, например: «О, я сейчас на gcc, давайте предположим, что все эти __builtin_
здесь, как в примере ниже ...»
#if __GNUC__
double mynan = __builtin_nan("0");
#endif
И, вероятно, это будет работать, пока кто-нибудь не установит этот флаг компиляции "-fno-builtin".