On 2018/09/11 14:07, Stuart Henderson wrote: > FreeBSD have this commit to their openttd port: > > : Update of LLVM components in -head to version 5.0.0 apparently had broken > : OpenTTD due to a conflict of ``type'' being defined (differently) and used > : in both libc++ and the game itself: > : > : In file included from /usr/include/c++/v1/math.h:310: > : /usr/include/c++/v1/limits:234:95: error: member reference base type 'int' > : is not a structure or union > : _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() > : _NOEXCEPT {return type(0);} > : > : .../openttd-1.7.1/src/3rdparty/squirrel/squirrel/sqobject.h:99:25: note: > : expanded from macro 'type' > : #define type(obj) ((obj)._type) > : > : Mend the problem by #includ'ing <math.h> prior to Squirrel's (programming > : language OpenTTD uses internally for scripting). > : > : Reported by: pkg-fallout > > This affects openttd and supertux in our tree with the WIP libc++ diff, > same change fixes both. > > OK?
And the same for codeblocks: Index: patches/patch-src_sdk_scripting_squirrel_sqvm_cpp =================================================================== RCS file: patches/patch-src_sdk_scripting_squirrel_sqvm_cpp diff -N patches/patch-src_sdk_scripting_squirrel_sqvm_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sdk_scripting_squirrel_sqvm_cpp 11 Sep 2018 15:00:32 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ + +Index: src/sdk/scripting/squirrel/sqvm.cpp +--- src/sdk/scripting/squirrel/sqvm.cpp.orig ++++ src/sdk/scripting/squirrel/sqvm.cpp +@@ -1,8 +1,8 @@ + /* + see copyright notice in squirrel.h + */ +-#include "sqpcheader.h" + #include <math.h> ++#include "sqpcheader.h" + #include <stdlib.h> + #include "sqopcodes.h" + #include "sqfuncproto.h"