/usr/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h is in gccxml 0.9.0+cvs20111013-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | #define __builtin_apply(x,y,z) ((void*)0)
#define __builtin_nan(x) (0.0)
#define __builtin_nanf(x) (0.0f)
#define __builtin_nanl(x) (0.0l)
#define __builtin_huge_val(x) (0.0)
#define __builtin_huge_valf(x) (0.0f)
#define __builtin_huge_vall(x) (0.0l)
#define __builtin_apply_args(x) ((void*)0)
#define __builtin_types_compatible_p(x,y) 0
#define __builtin_choose_expr(x,y,z) int
#define __builtin_constant_p(x) 0
void* __builtin_memchr(void const*, int, unsigned int);
void __builtin_return (void *RESULT);
void * __builtin_return_address (unsigned int LEVEL);
void * __builtin_frame_address (unsigned int LEVEL);
long __builtin_expect (long EXP, long C);
void __builtin_prefetch (const void *ADDR, ...);
double __builtin_inf (void);
float __builtin_inff (void);
long double __builtin_infl (void);
double __builtin_nans (const char *str);
float __builtin_nansf (const char *str);
long double __builtin_nansl (const char *str);
double __builtin_acos(double);
float __builtin_acosf(float);
long double __builtin_acosl(long double);
double __builtin_asin(double);
float __builtin_asinf(float);
long double __builtin_asinl(long double);
double __builtin_atan(double);
double __builtin_atan2(double, double);
float __builtin_atan2f(float, float);
long double __builtin_atan2l(long double, long double);
float __builtin_atanf(float);
long double __builtin_atanl(long double);
double __builtin_ceil(double);
float __builtin_ceilf(float);
long double __builtin_ceill(long double);
double __builtin_cos(double);
float __builtin_cosf(float);
double __builtin_cosh(double);
float __builtin_coshf(float);
long double __builtin_coshl(long double);
long double __builtin_cosl(long double);
double __builtin_exp(double);
float __builtin_expf(float);
long double __builtin_expl(long double);
double __builtin_fabs(double);
float __builtin_fabsf(float);
long double __builtin_fabsl(long double);
double __builtin_floor(double);
float __builtin_floorf(float);
long double __builtin_floorl(long double);
float __builtin_fmodf(float, float);
long double __builtin_fmodl(long double, long double);
double __builtin_frexp(double, int*);
float __builtin_frexpf(float, int*);
long double __builtin_frexpl(long double, int*);
double __builtin_ldexp(double, int);
float __builtin_ldexpf(float, int);
long double __builtin_ldexpl(long double, int);
double __builtin_log(double);
double __builtin_log10(double);
float __builtin_log10f(float);
long double __builtin_log10l(long double);
float __builtin_logf(float);
long double __builtin_logl(long double);
float __builtin_modff(float, float*);
long double __builtin_modfl(long double, long double*);
float __builtin_powf(float, float);
long double __builtin_powl(long double, long double);
double __builtin_powi(double, int);
float __builtin_powif(float, int);
long double __builtin_powil(long double, int);
double __builtin_sin(double);
float __builtin_sinf(float);
double __builtin_sinh(double);
float __builtin_sinhf(float);
long double __builtin_sinhl(long double);
long double __builtin_sinl(long double);
double __builtin_sqrt(double);
float __builtin_sqrtf(float);
long double __builtin_sqrtl(long double);
double __builtin_tan(double);
float __builtin_tanf(float);
double __builtin_tanh(double);
float __builtin_tanhf(float);
long double __builtin_tanhl(long double);
long double __builtin_tanl(long double);
float __builtin_cabsf(float __complex__);
double __builtin_cabs(double __complex__);
long double __builtin_cabsl(long double __complex__);
float __builtin_cargf(float __complex__);
double __builtin_carg(double __complex__);
long double __builtin_cargl(long double __complex__);
int __builtin_ctz(int);
int __builtin_ctzl(long);
int __builtin_ctzll(long long);
int __builtin_popcount(int);
int __builtin_popcountl(long);
int __builtin_popcountll(long long);
float __complex__ __builtin_ccosf(float __complex__);
double __complex__ __builtin_ccos(double __complex__);
long double __complex__ __builtin_ccosl(long double __complex__);
float __complex__ __builtin_ccoshf(float __complex__);
double __complex__ __builtin_ccosh(double __complex__);
long double __complex__ __builtin_ccoshl(long double __complex__);
float __complex__ __builtin_cexpf(float __complex__);
double __complex__ __builtin_cexp(double __complex__);
long double __complex__ __builtin_cexpl(long double __complex__);
float __complex__ __builtin_clogf(float __complex__);
double __complex__ __builtin_clog(double __complex__);
long double __complex__ __builtin_clogl(long double __complex__);
float __complex__ __builtin_csinf(float __complex__);
double __complex__ __builtin_csin(double __complex__);
long double __complex__ __builtin_csinl(long double __complex__);
float __complex__ __builtin_csinhf(float __complex__);
double __complex__ __builtin_csinh(double __complex__);
long double __complex__ __builtin_csinhl(long double __complex__);
float __complex__ __builtin_csqrtf(float __complex__);
double __complex__ __builtin_csqrt(double __complex__);
long double __complex__ __builtin_csqrtl(long double __complex__);
float __complex__ __builtin_ctanf(float __complex__);
double __complex__ __builtin_ctan(double __complex__);
long double __complex__ __builtin_ctanl(long double __complex__);
float __complex__ __builtin_ctanhf(float __complex__);
double __complex__ __builtin_ctanh(double __complex__);
long double __complex__ __builtin_ctanhl(long double __complex__);
float __complex__ __builtin_cpowf(float __complex__, float __complex__);
double __complex__ __builtin_cpow(double __complex__, double __complex__);
long double __complex__ __builtin_cpowl(long double __complex__, long double __complex__);
/* The GCC 4.3 parser hard-codes handling of these, so they do not
have real signatures. */
bool __builtin_isfinite(...);
bool __builtin_isinf(...);
bool __builtin_isnan(...);
bool __builtin_isnormal(...);
bool __builtin_isgreater(...);
bool __builtin_isgreaterequal(...);
bool __builtin_isless(...);
bool __builtin_islessequal(...);
bool __builtin_islessgreater(...);
bool __builtin_isunordered(...);
bool __builtin_va_arg_pack(...);
int __builtin_va_arg_pack_len(...);
/*
GCC 4.3 has the following additional builtin compile-time constant
expressions:
__builtin_va_arg ( assignment-expression , type-id )
__builtin_offsetof ( type-id , offsetof-expression )
__has_nothrow_assign(T)
__has_nothrow_constructor(T)
__has_nothrow_copy(T)
__has_trivial_assign(T)
__has_trivial_constructor(T)
__has_trivial_copy(T)
__has_trivial_destructor(T)
__has_virtual_destructor(T)
__is_abstract(T)
__is_base_of(Tbase,Tderived)
__is_class(T)
__is_convertible_to(Tfrom,Tto)
__is_empty(T)
__is_enum(T)
__is_pod(T)
__is_polymorphic(T)
__is_union(T)
In order to really support these we would have to update GCC-XML's
internal parser to be GCC 4.3. Since this has not yet been done we
get most of the way by defining some of these as macros with fake
answers. It is enough to get through GCC 4.3's C++98 standard
library.
*/
#define __is_pod(x) false
#define __is_empty(x) false
#define __has_trivial_destructor(x) false
#ifdef __llvm__
extern unsigned int __builtin_bswap32(unsigned int _data);
extern unsigned long __builtin_bswap64(unsigned long _data);
#endif
|