X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fcompat.h;h=7a95e90505d3e371941966f7e9ccf75074b2dc4b;hb=79892a727e323dcc4bce7e9c0cf3c99c5fe61706;hp=d3d554b18d536701b603a959bcc17baa06bddf4f;hpb=b89aa87280767f47381b8a612f73f1d0fe682e2e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/compat.h b/include/compat.h index d3d554b18..7a95e9050 100644 --- a/include/compat.h +++ b/include/compat.h @@ -27,10 +27,16 @@ */ #if defined _LIBCPP_VERSION || defined _WIN32 # define TR1NS std +# include +# include # include +# include #else # define TR1NS std::tr1 +# include +# include # include +# include #endif /** @@ -41,7 +47,6 @@ #if defined __clang__ || defined __GNUC__ # define CUSTOM_PRINTF(stringpos, firstpos) __attribute__((format(printf, stringpos, firstpos))) #else -# pragma message ("Warning! CUSTOM_PRINTF() does not work on your compiler!") # define CUSTOM_PRINTF(stringpos, firstpos) #endif @@ -49,12 +54,16 @@ * These macros enable the use of the C++11 override control keywords in * compilers which support them. */ -#if defined __clang__ +#if __cplusplus >= 201103L +# define HAS_CXX11_FINAL_OVERRIDE +#elif defined __clang__ # if __has_feature(cxx_override_control) # define HAS_CXX11_FINAL_OVERRIDE # endif #elif (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) -# define HAS_CXX11_FINAL_OVERRIDE +# if defined __GXX_EXPERIMENTAL_CXX0X__ +# define HAS_CXX11_FINAL_OVERRIDE +# endif #elif _MSC_VER >= 1700 # define HAS_CXX11_FINAL_OVERRIDE #endif @@ -76,7 +85,6 @@ #elif defined _MSC_VER # define DEPRECATED_METHOD(function) __declspec(deprecated) function #else -# pragma message ("Warning! DEPRECATED_METHOD() does not work on your compiler!") # define DEPRECATED_METHOD(function) function #endif @@ -86,8 +94,11 @@ */ #if defined _WIN32 # include "inspircd_win32wrapper.h" +# include "threadengines/threadengine_win32.h" #else +# define ENTRYPOINT int main(int argc, char** argv) +# define DllExport __attribute__ ((visibility ("default"))) +# define CoreExport __attribute__ ((visibility ("default"))) # include -# define DllExport -# define CoreExport +# include "threadengines/threadengine_pthread.h" #endif