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"

Reply via email to