X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fcompat.h;h=8fbd2acad05d8ddb3e530489e83d33b167e38127;hb=772f7ceb94242a8ebfadd0d4e31209c0b51c2923;hp=d3d554b18d536701b603a959bcc17baa06bddf4f;hpb=b89aa87280767f47381b8a612f73f1d0fe682e2e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/compat.h b/include/compat.h index d3d554b18..8fbd2acad 100644 --- a/include/compat.h +++ b/include/compat.h @@ -1,9 +1,8 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2013 Peter Powell - * Copyright (C) 2008 Thomas Stagner - * Copyright (C) 2007 Robin Burchell + * Copyright (C) 2013-2014, 2017, 2021 Sadie Powell + * Copyright (C) 2013-2014, 2016 Attila Molnar * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -25,12 +24,18 @@ * Some implementations of the C++11 standard library are incomplete so we use * the implementation of the same types from C++ Technical Report 1 instead. */ -#if defined _LIBCPP_VERSION || defined _WIN32 +#if defined _LIBCPP_VERSION || defined _WIN32 || __cplusplus >= 201103L # define TR1NS std +# include +# include # include +# include #else # define TR1NS std::tr1 +# include +# include # include +# include #endif /** @@ -41,7 +46,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 +53,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 +84,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 +93,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