From cda9c3b1a712715209a3f4ba155c1425898334cb Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Mon, 22 Oct 2018 07:45:09 -0700 Subject: Osx build fixes (#681) * Remove 'register' qualifiers. These will be illegal come c++17 and give a warning on OSX. * Add UNREACHABLE_RETURNs to silence compiler warnings. * Make FileStream::GetPosition() compile on OSX (w.r.t. the linux build, I believe that strictly-speaking, fpos64_t is specified as an opaque type and the cast to an Int64 is not necessarily well-defined.) * Avoid an inadvertent trigraph. --- source/core/slang-math.h | 6 +++--- source/core/stream.cpp | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'source/core') diff --git a/source/core/slang-math.h b/source/core/slang-math.h index e57cc68ff..6d6b3e7a1 100644 --- a/source/core/slang-math.h +++ b/source/core/slang-math.h @@ -63,7 +63,7 @@ namespace Slang return isinf(x); } - static inline unsigned int Ones32(register unsigned int x) + static inline unsigned int Ones32(unsigned int x) { /* 32-bit recursive reduction using SWAR... but first step is mapping 2-bit values @@ -77,7 +77,7 @@ namespace Slang return(x & 0x0000003f); } - static inline unsigned int Log2Floor(register unsigned int x) + static inline unsigned int Log2Floor(unsigned int x) { x |= (x >> 1); x |= (x >> 2); @@ -87,7 +87,7 @@ namespace Slang return(Ones32(x >> 1)); } - static inline unsigned int Log2Ceil(register unsigned int x) + static inline unsigned int Log2Ceil(unsigned int x) { int y = (x & (x - 1)); y |= -y; diff --git a/source/core/stream.cpp b/source/core/stream.cpp index f78e5af83..b705b13a1 100644 --- a/source/core/stream.cpp +++ b/source/core/stream.cpp @@ -134,6 +134,8 @@ namespace Slang fpos_t pos; fgetpos(handle, &pos); return pos; +#elif defined(__APPLE__) + return ftell(handle); #else fpos64_t pos; fgetpos64(handle, &pos); -- cgit v1.2.3