]> granicus.if.org Git - clang/commitdiff
* tgmath_logb.patch implements the missing logb function (see C99 standard 7.22,...
authorHoward Hinnant <hhinnant@apple.com>
Thu, 23 Feb 2012 20:22:10 +0000 (20:22 +0000)
committerHoward Hinnant <hhinnant@apple.com>
Thu, 23 Feb 2012 20:22:10 +0000 (20:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151276 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Headers/tgmath.h

index 1b0b9d24c1d52d90d025c8b199a97b32c7ec42dc..4fa1cf72f2afb914e616bd8877ffa6337daf51c8 100644 (file)
@@ -540,15 +540,15 @@ static long double
     _TG_ATTRS
     __tg_fabs(long double __x) {return fabsl(__x);}
 
-static float _Complex
+static float
     _TG_ATTRS
     __tg_fabs(float _Complex __x) {return cabsf(__x);}
 
-static double _Complex
+static double
     _TG_ATTRS
     __tg_fabs(double _Complex __x) {return cabs(__x);}
 
-static long double _Complex
+static long double
     _TG_ATTRS
     __tg_fabs(long double _Complex __x) {return cabsl(__x);}
 
@@ -976,6 +976,23 @@ static long double
 #undef log2
 #define log2(__x) __tg_log2(__tg_promote1((__x))(__x))
 
+// logb
+
+static float
+    _TG_ATTRS
+    __tg_logb(float __x) {return logbf(__x);}
+
+static double
+    _TG_ATTRS
+    __tg_logb(double __x) {return logb(__x);}
+
+static long double
+    _TG_ATTRS
+    __tg_logb(long double __x) {return logbl(__x);}
+
+#undef logb
+#define logb(__x) __tg_logb(__tg_promote1((__x))(__x))
+
 // lrint
 
 static long