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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238111 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/MathExtras.h

index 340dc934934ceccb58ab28a4c5d023d1ab03e5a5..e3166165a48328e03d14fd1767ac6d1e74e2ce78 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