X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fcompat.h;h=1cdad06c20a76ba4f9178549f52df4b9bbdfe76e;hb=01ac5148e948de53cd708bb28d0fd237263a0fbf;hp=299b32a88bb560758252f7f15f0c640634b605fe;hpb=8e9abaaa7303f2f85b6a840bc80506313aee6b4f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/compat.h b/include/compat.h index 299b32a88..1cdad06c2 100644 --- a/include/compat.h +++ b/include/compat.h @@ -71,6 +71,24 @@ # define CXX11_OVERRIDE #endif +/** + * These macros enable the detection of the C++11 variadic templates in + * compilers which support them. + */ +#if __cplusplus >= 201103L +# define HAS_CXX11_VARIADIC_TEMPLATES +#elif defined __clang__ +# if __has_feature(cxx_variadic_templates) +# define HAS_CXX11_VARIADIC_TEMPLATES +# endif +#elif (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) +# if defined __GXX_EXPERIMENTAL_CXX0X__ +# define HAS_CXX11_VARIADIC_TEMPLATES +# endif +#elif _MSC_FULL_VER >= 170051025 +# define HAS_CXX11_VARIADIC_TEMPLATES +#endif + /** * This macro allows methods to be marked as deprecated. To use this, wrap the * method declaration in the header file with the macro. @@ -92,6 +110,7 @@ # include "inspircd_win32wrapper.h" #else # include +# define ENTRYPOINT int main(int argc, char** argv) # define DllExport # define CoreExport #endif