Remove log2 dependency when building against Android API-9 SDK
authorVince Harron <vince@nethacker.com>
Sun, 24 May 2015 13:24:31 +0000 (13:24 +0000)
committerVince Harron <vince@nethacker.com>
Sun, 24 May 2015 13:24:31 +0000 (13:24 +0000)
Android's API-9 SDK is missing log2 builtins. A previous commit added
support for building against this API revision but this requires log2l
to be present.  (And it doesn't seem to be defined, despite being in
the headers.)

Author: pasaulais (Pierre-Andre Saulais)

Differential Revision: http://reviews.llvm.org/D9884

llvm-svn: 238111

llvm/include/llvm/Support/MathExtras.h

index 340dc93..e316616 100644 (file)
@@ -456,7 +456,7 @@ inline unsigned countPopulation(T Value) {
 /// Log2 - This function returns the log base 2 of the specified value
 inline double Log2(double Value) {
 #if defined(__ANDROID_API__) && __ANDROID_API__ < 18
-  return (double)__builtin_log2l(Value);
+  return __builtin_log(Value) / __builtin_log(2.0);
 #else
   return log2(Value);
 #endif