summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
8f7bc69)
C++ programmers typically expect something like "::function(x,y)" to work
and may be surprised to find that "(::function)(x,y)" is actually required
due to the headers declaring a macro version of some standard functions.
We already omit function-like macros for C++ in most cases where there is
a real function available. This commit extends this to the remaining
function-like macros which have a real function version.
float crealf(float complex);
long double creall(long double complex);
float crealf(float complex);
long double creall(long double complex);
#define __CIMAG(x, t) \
((union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1])
#define __CIMAG(x, t) \
((union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1])
#define cimag(x) __CIMAG(x, double)
#define cimagf(x) __CIMAG(x, float)
#define cimagl(x) __CIMAG(x, long double)
#define cimag(x) __CIMAG(x, double)
#define cimagf(x) __CIMAG(x, float)
#define cimagl(x) __CIMAG(x, long double)
#define __CMPLX(x, y, t) \
((union { _Complex t __z; t __xy[2]; }){.__xy = {(x),(y)}}.__z)
#define __CMPLX(x, y, t) \
((union { _Complex t __z; t __xy[2]; }){.__xy = {(x),(y)}}.__z)
pthread_t pthread_self(void);
int pthread_equal(pthread_t, pthread_t);
pthread_t pthread_self(void);
int pthread_equal(pthread_t, pthread_t);
#define pthread_equal(x,y) ((x)==(y))
#define pthread_equal(x,y) ((x)==(y))
int pthread_setcancelstate(int, int *);
int pthread_setcanceltype(int, int *);
int pthread_setcancelstate(int, int *);
int pthread_setcanceltype(int, int *);
thrd_t thrd_current(void);
int thrd_equal(thrd_t, thrd_t);
thrd_t thrd_current(void);
int thrd_equal(thrd_t, thrd_t);
#define thrd_equal(A, B) ((A) == (B))
#define thrd_equal(A, B) ((A) == (B))
void call_once(once_flag *, void (*)(void));
void call_once(once_flag *, void (*)(void));