]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/compat.h
Rewrote sepstream and tokenstream to be less ugly
[user/henk/code/inspircd.git] / include / compat.h
index 299b32a88bb560758252f7f15f0c640634b605fe..1cdad06c20a76ba4f9178549f52df4b9bbdfe76e 100644 (file)
 # 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.
 # include "inspircd_win32wrapper.h"
 #else
 # include <unistd.h>
+# define ENTRYPOINT int main(int argc, char** argv)
 # define DllExport
 # define CoreExport
 #endif