summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/function_types/config')
-rw-r--r--3rdParty/Boost/src/boost/function_types/config/cc_names.hpp31
-rw-r--r--3rdParty/Boost/src/boost/function_types/config/compiler.hpp116
-rw-r--r--3rdParty/Boost/src/boost/function_types/config/config.hpp59
3 files changed, 206 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/function_types/config/cc_names.hpp b/3rdParty/Boost/src/boost/function_types/config/cc_names.hpp
new file mode 100644
index 0000000..ab69d64
--- /dev/null
+++ b/3rdParty/Boost/src/boost/function_types/config/cc_names.hpp
@@ -0,0 +1,31 @@
+
+// (C) Copyright Tobias Schwinger
+//
+// Use modification and distribution are subject to the boost Software License,
+// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
+
+//------------------------------------------------------------------------------
+
+#ifndef BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
+#define BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
+
+#define BOOST_FT_BUILTIN_CC_NAMES \
+ (( IMPLICIT , implicit_cc , BOOST_PP_EMPTY ))\
+ (( CDECL , cdecl_cc , BOOST_PP_IDENTITY(__cdecl ) ))\
+ (( STDCALL , stdcall_cc , BOOST_PP_IDENTITY(__stdcall ) ))\
+ (( PASCAL , pascal_cc , BOOST_PP_IDENTITY(pascal ) ))\
+ (( FASTCALL , fastcall_cc , BOOST_PP_IDENTITY(__fastcall) ))\
+ (( CLRCALL , clrcall_cc , BOOST_PP_IDENTITY(__clrcall ) ))\
+ (( THISCALL , thiscall_cc , BOOST_PP_IDENTITY(__thiscall) ))\
+ (( IMPLICIT_THISCALL , thiscall_cc , BOOST_PP_EMPTY ))
+
+// append user-defined cc names to builtin ones
+#ifdef BOOST_FT_CC_NAMES
+# define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES BOOST_FT_CC_NAMES
+# define BOOST_FT_CC_PREPROCESSING 1
+#else
+# define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES
+#endif
+
+#endif
+
diff --git a/3rdParty/Boost/src/boost/function_types/config/compiler.hpp b/3rdParty/Boost/src/boost/function_types/config/compiler.hpp
new file mode 100644
index 0000000..151c856
--- /dev/null
+++ b/3rdParty/Boost/src/boost/function_types/config/compiler.hpp
@@ -0,0 +1,116 @@
+
+// (C) Copyright Tobias Schwinger
+//
+// Use modification and distribution are subject to the boost Software License,
+// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
+
+//------------------------------------------------------------------------------
+
+#ifndef BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
+#define BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#if defined(BOOST_MSVC)
+
+# if BOOST_MSVC < 1310
+# error "unsupported compiler version"
+# endif
+
+# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
+
+ // enable clrcall calling covention (call to .NET managed code) when
+ // compiling with /clr
+# if BOOST_MSVC >= 1400 && defined(__cplusplus_cli)
+# ifndef BOOST_FT_CC_CLRCALL
+# define BOOST_FT_CC_CLRCALL callable_builtin
+# endif
+# endif
+
+ // Intel x86 architecture specific calling conventions
+# ifdef _M_IX86
+# define BOOST_FT_COMMON_X86_CCs callable_builtin
+# if BOOST_MSVC < 1400
+ // version 7.1 is missing a keyword to specify the thiscall cc ...
+# ifndef BOOST_FT_CC_IMPLICIT_THISCALL
+# define BOOST_FT_CC_IMPLICIT_THISCALL non_variadic|member|callable_builtin
+# ifndef BOOST_FT_CONFIG_OK
+# pragma message("INFO| /Gd /Gr /Gz will compiler options will cause")
+# pragma message("INFO| a compile error.")
+# pragma message("INFO| Reconfigure Boost.FunctionTypes in this case.")
+# pragma message("INFO| This message can be suppressed by defining")
+# pragma message("INFO| BOOST_FT_CONFIG_OK.")
+# endif
+# endif
+# else
+ // ...introduced in version 8
+# ifndef BOOST_FT_CC_THISCALL
+# define BOOST_FT_CC_THISCALL non_variadic|member|callable_builtin
+# endif
+# endif
+# endif
+# endif
+
+#elif defined(__GNUC__) && !defined(BOOST_INTEL_LINUX)
+
+# if __GNUC__ < 3
+# error "unsupported compiler version"
+# endif
+
+# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
+
+# if defined(__i386__)
+# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20439
+# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29328
+# if BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(4))
+# ifndef BOOST_FT_CC_IMPLICIT
+# define BOOST_FT_CC_IMPLICIT member|callable_builtin
+# endif
+# define BOOST_FT_COMMON_X86_CCs non_member|callable_builtin
+# else
+# define BOOST_FT_COMMON_X86_CCs callable_builtin
+# endif
+# else
+# ifndef BOOST_FT_CC_IMPLICIT
+# define BOOST_FT_CC_IMPLICIT callable_builtin
+# endif
+# endif
+# endif
+
+# if (defined(BOOST_FT_CC_CDECL) || defined(BOOST_FT_COMMON_X86_CCs)) \
+ && !defined(__cdecl)
+# define __cdecl __attribute__((__cdecl__))
+# endif
+# if (defined(BOOST_FT_CC_STDCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
+ && !defined(__stdcall)
+# define __stdcall __attribute__((__stdcall__))
+# endif
+# if (defined(BOOST_FT_CC_FASTCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
+ && !defined(__fastcall)
+# define __fastcall __attribute__((__fastcall__))
+# endif
+
+#elif defined(__BORLANDC__)
+
+# if __BORLANDC__ < 0x550
+# error "unsupported compiler version"
+# elif __BORLANDC__ > 0x565
+# pragma message("WARNING: library untested with this compiler version")
+# endif
+
+# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
+# define BOOST_FT_COMMON_X86_CCs callable_builtin
+# endif
+
+ // syntactic specialities of cc specifier
+# define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
+ result() cc_spec() lparen() type_mod() name() rparen()
+#else
+ // only enable default calling convention
+# define BOOST_FT_CC_IMPLICIT callable_builtin
+#endif
+
+
+#endif
+
diff --git a/3rdParty/Boost/src/boost/function_types/config/config.hpp b/3rdParty/Boost/src/boost/function_types/config/config.hpp
new file mode 100644
index 0000000..7ec8e1e
--- /dev/null
+++ b/3rdParty/Boost/src/boost/function_types/config/config.hpp
@@ -0,0 +1,59 @@
+
+// (C) Copyright Tobias Schwinger
+//
+// Use modification and distribution are subject to the boost Software License,
+// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
+
+//------------------------------------------------------------------------------
+
+#ifndef BOOST_FT_CONFIG_HPP_INCLUDED
+#define BOOST_FT_CONFIG_HPP_INCLUDED
+
+#include <boost/function_types/config/compiler.hpp>
+#include <boost/function_types/config/cc_names.hpp>
+
+// maximum allowed arity
+#ifndef BOOST_FT_MAX_ARITY
+#define BOOST_FT_MAX_ARITY 20
+#endif
+
+// the most common calling conventions for x86 architecture can be enabled at
+// once in the compiler config
+#ifdef BOOST_FT_COMMON_X86_CCs
+# ifndef BOOST_FT_CC_CDECL
+# define BOOST_FT_CC_CDECL BOOST_FT_COMMON_X86_CCs
+# endif
+# ifndef BOOST_FT_CC_STDCALL
+# define BOOST_FT_CC_STDCALL non_variadic|BOOST_FT_COMMON_X86_CCs
+# endif
+# ifndef BOOST_FT_CC_FASTCALL
+# define BOOST_FT_CC_FASTCALL non_variadic|BOOST_FT_COMMON_X86_CCs
+# endif
+#endif
+
+// where to place the cc specifier (the common way)
+#ifndef BOOST_FT_SYNTAX
+# define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
+ result() lparen() cc_spec() type_mod() name() rparen()
+#endif
+
+// param for nullary functions
+// set to "void" for compilers that require nullary functions to read
+// "R (void)" in template partial specialization
+#ifndef BOOST_FT_NULLARY_PARAM
+#define BOOST_FT_NULLARY_PARAM
+#endif
+
+// there is a pending defect report on cv qualified function types, so support
+// for these types is disabled, unless for compilers where it's known to work
+#ifndef BOOST_FT_NO_CV_FUNC_SUPPORT
+#define BOOST_FT_NO_CV_FUNC_SUPPORT 1
+#endif
+
+// full preprocessing implies preprocessing of the ccs
+#if defined(BOOST_FT_PREPROCESSING_MODE) && !defined(BOOST_FT_CC_PREPROCESSING)
+# define BOOST_FT_CC_PREPROCESSING 1
+#endif
+
+#endif
+