diff -purN a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt 2016-04-04 18:14:05.000000000 +0100 +++ b/CMakeLists.txt 2017-02-13 22:59:10.000000000 +0000 @@ -16,7 +16,7 @@ else () endif () if (NOT WIN32) - set(CMAKE_CXX_FLAGS "-std=c++98 -Wall -Wextra -pedantic") + set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wextra -pedantic ${CMAKE_CXX_FLAGS}") endif () if(MSVC) diff -purN a/Makefile b/Makefile --- a/Makefile 2016-04-04 18:14:05.000000000 +0100 +++ b/Makefile 2017-02-13 22:59:10.000000000 +0000 @@ -17,6 +17,10 @@ ifdef PRMAN_15_COMPATIBLE_PTEX CMAKE_FLAGS += -DPRMAN_15_COMPATIBLE_PTEX:BOOL=TRUE endif +ifdef TOOLCHAIN + CMAKE_FLAGS += -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN) +endif + # make V=1 shortcut for VERBOSE=1 ifdef V VERBOSE=1 diff -purN a/src/ptex/PtexHashMap.h b/src/ptex/PtexHashMap.h --- a/src/ptex/PtexHashMap.h 2016-04-04 18:14:05.000000000 +0100 +++ b/src/ptex/PtexHashMap.h 2017-02-13 22:59:10.000000000 +0000 @@ -284,14 +284,11 @@ private: Entry* lockEntriesAndGrowIfNeeded(size_t& newMemUsed) { - while (_size*2 >= _numEntries) { - Entry* entries = lockEntries(); - if (_size*2 >= _numEntries) { - entries = grow(entries, newMemUsed); - } - return entries; + Entry* entries = lockEntries(); + if (_size*2 >= _numEntries) { + entries = grow(entries, newMemUsed); } - return lockEntries(); + return entries; } Entry* grow(Entry* oldEntries, size_t& newMemUsed) diff -purN a/src/ptex/PtexIO.h b/src/ptex/PtexIO.h --- a/src/ptex/PtexIO.h 2016-04-04 18:14:05.000000000 +0100 +++ b/src/ptex/PtexIO.h 2017-02-13 22:59:10.000000000 +0000 @@ -40,6 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE PTEX_NAMESPACE_BEGIN +#pragma pack(push, 1) struct Header { uint32_t magic; uint32_t version; @@ -98,6 +99,7 @@ struct EditMetaDataHeader { uint32_t metadatazipsize; uint32_t metadatamemsize; }; +#pragma pack(pop) const uint32_t Magic = 'P' | ('t'<<8) | ('e'<<16) | ('x'<<24); const int HeaderSize = sizeof(Header); diff -purN a/.workonrc.products b/.workonrc.products --- a/.workonrc.products 1970-01-01 01:00:00.000000000 +0100 +++ b/.workonrc.products 2017-02-13 22:59:10.000000000 +0000 @@ -0,0 +1 @@ +Ptex