diff options
| author | Scott Mansell <phiren@gmail.com> | 2015-12-27 02:16:55 +1300 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2015-12-27 02:16:55 +1300 |
| commit | be8410dcade41f4e1d69cbdbfc46dfce9635287f (patch) | |
| tree | d81d815e325956887b4a931b9eebb142774ef5aa /Source/Core | |
| parent | 4ddc04da07eb90c36e6488495de3e4530695172f (diff) | |
| parent | eb2d4935cdd6085b374972ad0ad4930f368be8c8 (diff) | |
Merge pull request #3383 from Sonicadvance1/compile_fixes
Compile fixes
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Common/ArmCPUDetect.cpp | 1 | ||||
| -rw-r--r-- | Source/Core/Common/MathUtil.cpp | 14 | ||||
| -rw-r--r-- | Source/Core/Common/NandPaths.cpp | 1 | ||||
| -rw-r--r-- | Source/Core/Common/Network.cpp | 1 |
4 files changed, 13 insertions, 4 deletions
diff --git a/Source/Core/Common/ArmCPUDetect.cpp b/Source/Core/Common/ArmCPUDetect.cpp index e971fde2a4..4e68054410 100644 --- a/Source/Core/Common/ArmCPUDetect.cpp +++ b/Source/Core/Common/ArmCPUDetect.cpp @@ -5,6 +5,7 @@ #include <fstream> #include <sstream> #include <string> +#include <unistd.h> #include <asm/hwcap.h> #include <sys/auxv.h> diff --git a/Source/Core/Common/MathUtil.cpp b/Source/Core/Common/MathUtil.cpp index a9252ddf55..b2f8714698 100644 --- a/Source/Core/Common/MathUtil.cpp +++ b/Source/Core/Common/MathUtil.cpp @@ -196,6 +196,12 @@ const int fres_expected_dec[] = // Used by fres and ps_res. double ApproximateReciprocal(double val) { + // We are using namespace std scoped here because the Android NDK is complete trash as usual + // For 32bit targets(mips, ARMv7, x86) it doesn't provide an implementation of std::copysign + // but instead provides just global namespace copysign implementations. + // The workaround for this is to just use namespace std within this function's scope + // That way on real toolchains it will use the std:: variant like normal. + using namespace std; union { double valf; @@ -209,23 +215,23 @@ double ApproximateReciprocal(double val) // Special case 0 if (mantissa == 0 && exponent == 0) - return std::copysign(std::numeric_limits<double>::infinity(), valf); + return copysign(std::numeric_limits<double>::infinity(), valf); // Special case NaN-ish numbers if (exponent == (0x7FFLL << 52)) { if (mantissa == 0) - return std::copysign(0.0, valf); + return copysign(0.0, valf); return 0.0 + valf; } // Special case small inputs if (exponent < (895LL << 52)) - return std::copysign(std::numeric_limits<float>::max(), valf); + return copysign(std::numeric_limits<float>::max(), valf); // Special case large inputs if (exponent >= (1149LL << 52)) - return std::copysign(0.0, valf); + return copysign(0.0, valf); exponent = (0x7FDLL << 52) - exponent; diff --git a/Source/Core/Common/NandPaths.cpp b/Source/Core/Common/NandPaths.cpp index 4048979c3c..25488ef410 100644 --- a/Source/Core/Common/NandPaths.cpp +++ b/Source/Core/Common/NandPaths.cpp @@ -4,6 +4,7 @@ #include <cstdio> #include <fstream> +#include <stdlib.h> #include <string> #include <utility> diff --git a/Source/Core/Common/Network.cpp b/Source/Core/Common/Network.cpp index 5d3ab7a9fb..23c570045f 100644 --- a/Source/Core/Common/Network.cpp +++ b/Source/Core/Common/Network.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include <cctype> +#include <cstdlib> #include <cstring> #include <ctime> |
