diff --git a/src/helpers.hpp b/src/helpers.hpp index 2fed51582e..5f378803ac 100644 --- a/src/helpers.hpp +++ b/src/helpers.hpp @@ -6,8 +6,6 @@ /** @file helpers.hpp */ #include "macros.h" -#ifdef __cplusplus - /** When allocating using malloc/calloc in C++ it is usually needed to cast the return value * from void* to the proper pointer type. Another alternative would be MallocT<> as follows */ template FORCEINLINE T* MallocT(size_t num_elements) @@ -161,12 +159,4 @@ template FORCEINLINE T ToggleBitT(T t, int bit_index) return (T)val; } -#else // __cplusplus - -#define DECLARE_POSTFIX_INCREMENT(E) -#define DECLARE_ENUM_AS_BIT_SET(E) -#define DECLARE_ENUM_AS_BIT_INDEX(E1,E2) - -#endif // __cplusplus - #endif /* HELPERS_HPP */ diff --git a/src/macros.h b/src/macros.h index 56dc219e3b..a16d4ddb31 100644 --- a/src/macros.h +++ b/src/macros.h @@ -18,14 +18,11 @@ #undef max #endif -/* Objective C don't like templates */ -#ifdef __cplusplus template static inline T max(T a, T b) { return a >= b ? a : b; } -#endif static inline int min(int a, int b) { if (a <= b) return a; return b; } diff --git a/src/stdafx.h b/src/stdafx.h index 22259f71d8..9e8d2913e4 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -234,23 +234,12 @@ typedef unsigned char byte; #endif #ifndef __BEOS__ - -/* some platforms use 4 bytes bool in C++ - * C bool has to be the same */ -# ifndef __cplusplus -# ifdef FOUR_BYTE_BOOL - typedef unsigned long bool; -# else /* FOUR_BYTE_BOOL */ - typedef unsigned char bool; -# endif /* FOUR_BYTE_BOOL */ -# endif /* __cplusplus */ - typedef signed char int8; typedef signed short int16; typedef signed int int32; typedef signed __int64 int64; typedef unsigned __int64 uint64; -#endif /* __BEOS__ */ +#endif /* !__BEOS__ */ #if defined(ARM) || defined(__arm__) || defined(__alpha__) # define OTTD_ALIGNMENT @@ -289,24 +278,11 @@ typedef unsigned char byte; # define PERSONAL_DIR "" #endif -#ifndef __cplusplus -# ifndef __BEOS__ - enum { - false = 0, - true = 1, - }; -# endif -#endif /* __cplusplus */ - /* Compile time assertions */ #ifdef __OS2__ # define assert_compile(expr) #else -# ifdef __cplusplus -# define assert_compile(expr) extern "C" void __ct_assert__(int a[1 - 2 * !(expr)]) -# else /* __cplusplus */ -# define assert_compile(expr) void __ct_assert__(int a[1 - 2 * !(expr)]) -# endif /* !__cplusplus */ +# define assert_compile(expr) extern "C" void __ct_assert__(int a[1 - 2 * !(expr)]) #endif /* __OS2__ */ assert_compile(sizeof(uint32) == 4); @@ -317,16 +293,10 @@ assert_compile(sizeof(uint8) == 1); #define endof(x) (&x[lengthof(x)]) #define lastof(x) (&x[lengthof(x) - 1]) -#ifdef offsetof -# undef offsetof -#endif - -#ifndef __cplusplus -# define offsetof(s,m) (size_t)&(((s *)0)->m) -#else /* __cplusplus */ -# define cpp_offsetof(s,m) (((size_t)&reinterpret_cast((((s*)(char*)8)->m))) - 8) +#define cpp_offsetof(s,m) (((size_t)&reinterpret_cast((((s*)(char*)8)->m))) - 8) +#ifndef offsetof # define offsetof(s,m) cpp_offsetof(s, m) -#endif /* __cplusplus */ +#endif /* offsetof */ /* take care of some name clashes on MacOS */