aboutsummaryrefslogtreecommitdiff
path: root/math/tgmath.h
diff options
context:
space:
mode:
Diffstat (limited to 'math/tgmath.h')
-rw-r--r--math/tgmath.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/math/tgmath.h b/math/tgmath.h
index ccc304ca62..aaf0f201c7 100644
--- a/math/tgmath.h
+++ b/math/tgmath.h
@@ -128,7 +128,7 @@
# define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \
(__extension__ ({ __tgmath_real_type (Val) __tgmres; \
if (sizeof (__real__ (Val)) > sizeof (double) \
- && __builtin_classify_type (Val) == 8) \
+ && __builtin_classify_type (__real__ (Val)) == 8) \
{ \
if (sizeof (__real__ (Val)) == sizeof (Val)) \
__tgmres = Fct##l (Val); \
@@ -136,7 +136,8 @@
__tgmres = Cfct##l (Val); \
} \
else if (sizeof (__real__ (Val)) == sizeof (double) \
- || __builtin_classify_type (Val) != 8) \
+ || (__builtin_classify_type (__real__ (Val)) \
+ != 8) \
{ \
if (sizeof (__real__ (Val)) == sizeof (Val)) \
__tgmres = Fct (Val); \
@@ -157,7 +158,7 @@
# define __TGMATH_UNARY_IMAG_ONLY(Val, Fct) \
(__extension__ ({ __tgmath_real_type (Val) __tgmres; \
if (sizeof (Val) == sizeof (__complex__ double) \
- || __builtin_classify_type (Val) != 8) \
+ || __builtin_classify_type (__real__ (Val)) != 8) \
__tgmres = Fct (Val); \
else if (sizeof (Val) == sizeof (__complex__ float)) \
__tgmres = Fct##f (Val); \
@@ -171,7 +172,7 @@
(__extension__ ({ __tgmath_real_type ((Val1) + (Val2)) __tgmres; \
if ((sizeof (__real__ (Val1)) > sizeof (double) \
|| sizeof (__real__ (Val2)) > sizeof (double)) \
- && __builtin_classify_type (Val) == 8) \
+ && __builtin_classify_type (__real__ (Val)) == 8) \
{ \
if (sizeof (__real__ (Val1)) == sizeof (Val1) \
&& sizeof (__real__ (Val2)) == sizeof (Val2)) \
@@ -181,7 +182,8 @@
} \
else if (sizeof (__real__ (Val1)) == sizeof (double) \
|| sizeof (__real__ (Val2)) == sizeof(double) \
- || __builtin_classify_type (Val) != 8) \
+ || (__builtin_classify_type (__real__ (Val)) \
+ != 8) \
{ \
if (sizeof (__real__ (Val1)) == sizeof (Val1) \
&& sizeof (__real__ (Val2)) == sizeof (Val2)) \