forked from OSchip/llvm-project
hand macro expand this to make "candidate" set printing more useful. However,
Now no candidates are printed because the 'notes' are in a system header. :( #include <tgmath-sofar.h> double foo2(short *x) { return acos(x); } t.c:10:10: error: no matching function for call to '__tg_acos'; candidates are: return acos(x); ^~~~ 1 diagnostic generated. llvm-svn: 64722
This commit is contained in:
parent
bde5bd46b3
commit
dd0c64b102
|
@ -51,9 +51,24 @@
|
|||
__TG_UNARY_OVERLOAD(_Complex double, _Complex double, REALFN, COMPLEXFN) \
|
||||
__TG_UNARY_OVERLOAD(_Complex long double, _Complex long double, REALFN, COMPLEXFN ## l)
|
||||
|
||||
#define __TG_ATTRS static __attribute__((overloadable, always_inline))
|
||||
|
||||
/* C99 7.22p4, functions in both math.h and complex.h. */
|
||||
__TG_RC_1(x, acos, cacos)
|
||||
// acos
|
||||
__TG_ATTRS float __tg_acos(float x) { return acosf(x); }
|
||||
__TG_ATTRS double __tg_acos(double x) { return acos(x); }
|
||||
__TG_ATTRS long double __tg_acos(long double x) { return acosl(x); }
|
||||
__TG_ATTRS double __tg_acos(long long x) { return acos(x); }
|
||||
__TG_ATTRS double __tg_acos(long x) { return acos(x); }
|
||||
__TG_ATTRS double __tg_acos(int x) { return acos(x); }
|
||||
__TG_ATTRS double __tg_acos(unsigned long long x) { return acos(x); }
|
||||
__TG_ATTRS double __tg_acos(unsigned long x) { return acos(x); }
|
||||
__TG_ATTRS double __tg_acos(unsigned x) { return acos(x); }
|
||||
__TG_ATTRS _Complex float __tg_acos(_Complex float x) { return cacosf(x); }
|
||||
__TG_ATTRS _Complex double __tg_acos(_Complex double x) { return cacos(x); }
|
||||
__TG_ATTRS _Complex long double __tg_acos(_Complex long double x) { return cacosl(x); }
|
||||
#define acos(x) __tg_acos(x)
|
||||
|
||||
__TG_RC_1(x, asin, casin)
|
||||
#define asin(x) __tg_asin(x)
|
||||
|
||||
|
|
Loading…
Reference in New Issue