diff --git a/Files.cmake b/Files.cmake index 302edba3..3a30e1dd 100644 --- a/Files.cmake +++ b/Files.cmake @@ -71,6 +71,17 @@ LIST (APPEND msgpackc_HEADERS include/msgpack/predef/detail/os_detected.h include/msgpack/predef/detail/platform_detected.h include/msgpack/predef/detail/test.h + include/msgpack/predef/detail/test_def.h + include/msgpack/predef/hardware.h + include/msgpack/predef/hardware/simd.h + include/msgpack/predef/hardware/simd/arm.h + include/msgpack/predef/hardware/simd/arm/versions.h + include/msgpack/predef/hardware/simd/ppc.h + include/msgpack/predef/hardware/simd/ppc/versions.h + include/msgpack/predef/hardware/simd/x86.h + include/msgpack/predef/hardware/simd/x86/versions.h + include/msgpack/predef/hardware/simd/x86_amd.h + include/msgpack/predef/hardware/simd/x86_amd/versions.h include/msgpack/predef/language.h include/msgpack/predef/language/objc.h include/msgpack/predef/language/stdc.h @@ -414,6 +425,7 @@ IF (MSGPACK_ENABLE_CXX) include/msgpack/preprocessor/seq.hpp include/msgpack/preprocessor/seq/cat.hpp include/msgpack/preprocessor/seq/detail/binary_transform.hpp + include/msgpack/preprocessor/seq/detail/is_empty.hpp include/msgpack/preprocessor/seq/detail/split.hpp include/msgpack/preprocessor/seq/elem.hpp include/msgpack/preprocessor/seq/enum.hpp diff --git a/external/boost/predef b/external/boost/predef index c14eafa3..1e8d1c2c 160000 --- a/external/boost/predef +++ b/external/boost/predef @@ -1 +1 @@ -Subproject commit c14eafa3efb6cafc3645f8b8e07925ab4189efd4 +Subproject commit 1e8d1c2cfcac343305e2182f665742b9e38f7452 diff --git a/external/boost/preprocessor b/external/boost/preprocessor index 9cb039ab..c2beb74b 160000 --- a/external/boost/preprocessor +++ b/external/boost/preprocessor @@ -1 +1 @@ -Subproject commit 9cb039ab8b49890539fbf86747507dfaf80ed88e +Subproject commit c2beb74b90969f369c62d0dea68aa5f0e203268e diff --git a/include/msgpack/predef.h b/include/msgpack/predef.h index e53ceac1..0f8d5f58 100644 --- a/include/msgpack/predef.h +++ b/include/msgpack/predef.h @@ -1,12 +1,14 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_H #define MSGPACK_PREDEF_H +#endif #include #include @@ -15,5 +17,8 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include #include +#include + +#include #endif diff --git a/include/msgpack/predef/architecture.h b/include/msgpack/predef/architecture.h index dc9a5a56..63879a03 100644 --- a/include/msgpack/predef/architecture.h +++ b/include/msgpack/predef/architecture.h @@ -1,12 +1,14 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_ARCHITECTURE_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_ARCHITECTURE_H #define MSGPACK_PREDEF_ARCHITECTURE_H +#endif #include #include diff --git a/include/msgpack/predef/architecture/alpha.h b/include/msgpack/predef/architecture/alpha.h index 9fe469c2..e1a39d0e 100644 --- a/include/msgpack/predef/architecture/alpha.h +++ b/include/msgpack/predef/architecture/alpha.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -53,8 +53,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_ALPHA_NAME "DEC Alpha" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_ALPHA,MSGPACK_ARCH_ALPHA_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/arm.h b/include/msgpack/predef/architecture/arm.h index ccb175ef..c37f2d13 100644 --- a/include/msgpack/predef/architecture/arm.h +++ b/include/msgpack/predef/architecture/arm.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Copyright Franz Detro 2014 Copyright (c) Microsoft Corporation 2014 Distributed under the Boost Software License, Version 1.0. @@ -64,8 +64,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_ARM_NAME "ARM" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_ARM,MSGPACK_ARCH_ARM_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/blackfin.h b/include/msgpack/predef/architecture/blackfin.h index 688feaae..c3e580d8 100644 --- a/include/msgpack/predef/architecture/blackfin.h +++ b/include/msgpack/predef/architecture/blackfin.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2013 +Copyright Rene Rivera 2013-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -40,8 +40,7 @@ Blackfin Processors from Analog Devices. #define MSGPACK_ARCH_BLACKFIN_NAME "Blackfin" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_BLACKFIN,MSGPACK_ARCH_BLACKFIN_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/convex.h b/include/msgpack/predef/architecture/convex.h index f209dcc1..6509ffd2 100644 --- a/include/msgpack/predef/architecture/convex.h +++ b/include/msgpack/predef/architecture/convex.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2013 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -59,9 +59,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_CONVEX_NAME "Convex Computer" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_CONVEX,MSGPACK_ARCH_CONVEX_NAME) - - - -#endif diff --git a/include/msgpack/predef/architecture/ia64.h b/include/msgpack/predef/architecture/ia64.h index a33f1e93..f6a0da03 100644 --- a/include/msgpack/predef/architecture/ia64.h +++ b/include/msgpack/predef/architecture/ia64.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -43,7 +43,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_IA64_NAME "Intel Itanium 64" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_IA64,MSGPACK_ARCH_IA64_NAME) - -#endif diff --git a/include/msgpack/predef/architecture/m68k.h b/include/msgpack/predef/architecture/m68k.h index 5c530d56..0112a473 100644 --- a/include/msgpack/predef/architecture/m68k.h +++ b/include/msgpack/predef/architecture/m68k.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -76,8 +76,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_M68K_NAME "Motorola 68k" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_M68K,MSGPACK_ARCH_M68K_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/mips.h b/include/msgpack/predef/architecture/mips.h index 2559e719..c83021a6 100644 --- a/include/msgpack/predef/architecture/mips.h +++ b/include/msgpack/predef/architecture/mips.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -67,8 +67,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_MIPS_NAME "MIPS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_MIPS,MSGPACK_ARCH_MIPS_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/parisc.h b/include/msgpack/predef/architecture/parisc.h index f6b575be..bbd8aa16 100644 --- a/include/msgpack/predef/architecture/parisc.h +++ b/include/msgpack/predef/architecture/parisc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -58,8 +58,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_PARISC_NAME "HP/PA RISC" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_PARISC,MSGPACK_ARCH_PARISC_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/ppc.h b/include/msgpack/predef/architecture/ppc.h index a62d6046..29cad929 100644 --- a/include/msgpack/predef/architecture/ppc.h +++ b/include/msgpack/predef/architecture/ppc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -66,8 +66,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_PPC_NAME "PowerPC" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_PPC,MSGPACK_ARCH_PPC_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/pyramid.h b/include/msgpack/predef/architecture/pyramid.h index b61323b5..5799d831 100644 --- a/include/msgpack/predef/architecture/pyramid.h +++ b/include/msgpack/predef/architecture/pyramid.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2013 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -36,8 +36,7 @@ Pyramid 9810 architecture. #define MSGPACK_ARCH_PYRAMID_NAME "Pyramid 9810" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_PYRAMID,MSGPACK_ARCH_PYRAMID_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/rs6k.h b/include/msgpack/predef/architecture/rs6k.h index 78b87b5f..24187605 100644 --- a/include/msgpack/predef/architecture/rs6k.h +++ b/include/msgpack/predef/architecture/rs6k.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,9 +42,6 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_RS6000_NAME "RS/6000" -#include -MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_RS6000,MSGPACK_ARCH_RS6000_NAME) - #define MSGPACK_ARCH_PWR MSGPACK_ARCH_RS6000 #if MSGPACK_ARCH_PWR @@ -54,3 +51,6 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_RS6000,MSGPACK_ARCH_RS6000_NAME) #define MSGPACK_ARCH_PWR_NAME MSGPACK_ARCH_RS6000_NAME #endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_RS6000,MSGPACK_ARCH_RS6000_NAME) diff --git a/include/msgpack/predef/architecture/sparc.h b/include/msgpack/predef/architecture/sparc.h index 5b52db18..4cb764e5 100644 --- a/include/msgpack/predef/architecture/sparc.h +++ b/include/msgpack/predef/architecture/sparc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -48,8 +48,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_SPARC_NAME "SPARC" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_SPARC,MSGPACK_ARCH_SPARC_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/superh.h b/include/msgpack/predef/architecture/superh.h index bba6a2f9..8256d2b8 100644 --- a/include/msgpack/predef/architecture/superh.h +++ b/include/msgpack/predef/architecture/superh.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -61,8 +61,7 @@ If available versions \[1-5\] are specifically detected. #define MSGPACK_ARCH_SH_NAME "SuperH" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_SH,MSGPACK_ARCH_SH_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/sys370.h b/include/msgpack/predef/architecture/sys370.h index ddb7f045..a03b6911 100644 --- a/include/msgpack/predef/architecture/sys370.h +++ b/include/msgpack/predef/architecture/sys370.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -37,8 +37,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_SYS370_NAME "System/370" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_SYS370,MSGPACK_ARCH_SYS370_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/sys390.h b/include/msgpack/predef/architecture/sys390.h index 029214fc..20fbb1d3 100644 --- a/include/msgpack/predef/architecture/sys390.h +++ b/include/msgpack/predef/architecture/sys390.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -37,8 +37,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_SYS390_NAME "System/390" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_SYS390,MSGPACK_ARCH_SYS390_NAME) - - -#endif diff --git a/include/msgpack/predef/architecture/x86.h b/include/msgpack/predef/architecture/x86.h index 109d9d99..02353b15 100644 --- a/include/msgpack/predef/architecture/x86.h +++ b/include/msgpack/predef/architecture/x86.h @@ -1,16 +1,16 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ -#ifndef MSGPACK_PREDEF_ARCHITECTURE_X86_H -#define MSGPACK_PREDEF_ARCHITECTURE_X86_H - #include #include +#ifndef MSGPACK_PREDEF_ARCHITECTURE_X86_H +#define MSGPACK_PREDEF_ARCHITECTURE_X86_H + /*` [heading `MSGPACK_ARCH_X86`] @@ -32,7 +32,7 @@ a category to indicate that either `MSGPACK_ARCH_X86_32` or #define MSGPACK_ARCH_X86_NAME "Intel x86" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_X86,MSGPACK_ARCH_X86_NAME) - -#endif diff --git a/include/msgpack/predef/architecture/x86/32.h b/include/msgpack/predef/architecture/x86/32.h index ce6639d6..82cff019 100644 --- a/include/msgpack/predef/architecture/x86/32.h +++ b/include/msgpack/predef/architecture/x86/32.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -79,9 +79,9 @@ If available versions \[3-6\] are specifically detected. #define MSGPACK_ARCH_X86_32_NAME "Intel x86-32" -#include -MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_X86_32,MSGPACK_ARCH_X86_32_NAME) - #include #endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_X86_32,MSGPACK_ARCH_X86_32_NAME) diff --git a/include/msgpack/predef/architecture/x86/64.h b/include/msgpack/predef/architecture/x86/64.h index d6d65ef9..72a05c26 100644 --- a/include/msgpack/predef/architecture/x86/64.h +++ b/include/msgpack/predef/architecture/x86/64.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,9 +42,9 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_X86_64_NAME "Intel x86-64" -#include -MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_X86_64,MSGPACK_ARCH_X86_64_NAME) - #include #endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_X86_64,MSGPACK_ARCH_X86_64_NAME) diff --git a/include/msgpack/predef/architecture/z.h b/include/msgpack/predef/architecture/z.h index f8479f27..f5e9f859 100644 --- a/include/msgpack/predef/architecture/z.h +++ b/include/msgpack/predef/architecture/z.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -36,8 +36,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_ARCH_Z_NAME "z/Architecture" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ARCH_Z,MSGPACK_ARCH_Z_NAME) - - -#endif diff --git a/include/msgpack/predef/compiler.h b/include/msgpack/predef/compiler.h index 08dec969..56058166 100644 --- a/include/msgpack/predef/compiler.h +++ b/include/msgpack/predef/compiler.h @@ -1,12 +1,14 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_COMPILER_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_COMPILER_H #define MSGPACK_PREDEF_COMPILER_H +#endif #include #include diff --git a/include/msgpack/predef/compiler/borland.h b/include/msgpack/predef/compiler/borland.h index 724a8e74..89e0d9f2 100644 --- a/include/msgpack/predef/compiler/borland.h +++ b/include/msgpack/predef/compiler/borland.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -52,6 +52,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_BORLAND_NAME "Borland C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_BORLAND,MSGPACK_COMP_BORLAND_NAME) @@ -59,6 +61,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_BORLAND,MSGPACK_COMP_BORLAND_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_BORLAND_EMULATED,MSGPACK_COMP_BORLAND_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/clang.h b/include/msgpack/predef/compiler/clang.h index ded61ce2..93616cf5 100644 --- a/include/msgpack/predef/compiler/clang.h +++ b/include/msgpack/predef/compiler/clang.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_CLANG_NAME "Clang" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_CLANG,MSGPACK_COMP_CLANG_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_CLANG,MSGPACK_COMP_CLANG_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_CLANG_EMULATED,MSGPACK_COMP_CLANG_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/comeau.h b/include/msgpack/predef/compiler/comeau.h index 305517d9..f944bca8 100644 --- a/include/msgpack/predef/compiler/comeau.h +++ b/include/msgpack/predef/compiler/comeau.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -29,7 +29,7 @@ Version number available as major, minor, and patch. */ #if defined(__COMO__) -# if !defined(MSGPACK_COMP_COMO_DETECTION) && defined(__CONO_VERSION__) +# if !defined(MSGPACK_COMP_COMO_DETECTION) && defined(__COMO_VERSION__) # define MSGPACK_COMP_COMO_DETECTION MSGPACK_PREDEF_MAKE_0X_VRP(__COMO_VERSION__) # endif # if !defined(MSGPACK_COMP_COMO_DETECTION) @@ -50,6 +50,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_COMO_NAME "Comeau C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_COMO,MSGPACK_COMP_COMO_NAME) @@ -57,6 +59,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_COMO,MSGPACK_COMP_COMO_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_COMO_EMULATED,MSGPACK_COMP_COMO_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/compaq.h b/include/msgpack/predef/compiler/compaq.h index 6755961f..b2771a73 100644 --- a/include/msgpack/predef/compiler/compaq.h +++ b/include/msgpack/predef/compiler/compaq.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,6 +55,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_DEC_NAME "Compaq C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DEC,MSGPACK_COMP_DEC_NAME) @@ -62,6 +64,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DEC,MSGPACK_COMP_DEC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DEC_EMULATED,MSGPACK_COMP_DEC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/diab.h b/include/msgpack/predef/compiler/diab.h index 8b2b584f..a365a35c 100644 --- a/include/msgpack/predef/compiler/diab.h +++ b/include/msgpack/predef/compiler/diab.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_DIAB_NAME "Diab C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DIAB,MSGPACK_COMP_DIAB_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DIAB,MSGPACK_COMP_DIAB_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DIAB_EMULATED,MSGPACK_COMP_DIAB_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/digitalmars.h b/include/msgpack/predef/compiler/digitalmars.h index c50d4fd0..eca2a312 100644 --- a/include/msgpack/predef/compiler/digitalmars.h +++ b/include/msgpack/predef/compiler/digitalmars.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_DMC_NAME "Digital Mars" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DMC,MSGPACK_COMP_DMC_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DMC,MSGPACK_COMP_DMC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_DMC_EMULATED,MSGPACK_COMP_DMC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/dignus.h b/include/msgpack/predef/compiler/dignus.h index f5161cc3..8040baa9 100644 --- a/include/msgpack/predef/compiler/dignus.h +++ b/include/msgpack/predef/compiler/dignus.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_SYSC_NAME "Dignus Systems/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SYSC,MSGPACK_COMP_SYSC_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SYSC,MSGPACK_COMP_SYSC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SYSC_EMULATED,MSGPACK_COMP_SYSC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/edg.h b/include/msgpack/predef/compiler/edg.h index 5284243b..700f8bdc 100644 --- a/include/msgpack/predef/compiler/edg.h +++ b/include/msgpack/predef/compiler/edg.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_EDG_NAME "EDG C++ Frontend" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_EDG,MSGPACK_COMP_EDG_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_EDG,MSGPACK_COMP_EDG_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_EDG_EMULATED,MSGPACK_COMP_EDG_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/ekopath.h b/include/msgpack/predef/compiler/ekopath.h index 23859660..72fda272 100644 --- a/include/msgpack/predef/compiler/ekopath.h +++ b/include/msgpack/predef/compiler/ekopath.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -46,6 +46,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_PATH_NAME "EKOpath" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PATH,MSGPACK_COMP_PATH_NAME) @@ -53,6 +55,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PATH,MSGPACK_COMP_PATH_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PATH_EMULATED,MSGPACK_COMP_PATH_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/gcc.h b/include/msgpack/predef/compiler/gcc.h index 95f57298..03fcd2a7 100644 --- a/include/msgpack/predef/compiler/gcc.h +++ b/include/msgpack/predef/compiler/gcc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -57,6 +57,8 @@ Version number available as major, minor, and patch (if available). #define MSGPACK_COMP_GNUC_NAME "Gnu GCC C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GNUC,MSGPACK_COMP_GNUC_NAME) @@ -64,6 +66,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GNUC,MSGPACK_COMP_GNUC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GNUC_EMULATED,MSGPACK_COMP_GNUC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/gcc_xml.h b/include/msgpack/predef/compiler/gcc_xml.h index 8dd4ff7f..678cf71c 100644 --- a/include/msgpack/predef/compiler/gcc_xml.h +++ b/include/msgpack/predef/compiler/gcc_xml.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,6 +42,8 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_COMP_GCCXML_NAME "GCC XML" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GCCXML,MSGPACK_COMP_GCCXML_NAME) @@ -49,5 +51,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GCCXML,MSGPACK_COMP_GCCXML_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GCCXML_EMULATED,MSGPACK_COMP_GCCXML_NAME) #endif - -#endif diff --git a/include/msgpack/predef/compiler/greenhills.h b/include/msgpack/predef/compiler/greenhills.h index 7ccab8b6..f9978436 100644 --- a/include/msgpack/predef/compiler/greenhills.h +++ b/include/msgpack/predef/compiler/greenhills.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,6 +55,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_GHS_NAME "Green Hills C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GHS,MSGPACK_COMP_GHS_NAME) @@ -62,6 +64,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GHS,MSGPACK_COMP_GHS_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_GHS_EMULATED,MSGPACK_COMP_GHS_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/hp_acc.h b/include/msgpack/predef/compiler/hp_acc.h index c31e6fae..5a47ae4d 100644 --- a/include/msgpack/predef/compiler/hp_acc.h +++ b/include/msgpack/predef/compiler/hp_acc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -50,6 +50,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_HPACC_NAME "HP aC++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_HPACC,MSGPACK_COMP_HPACC_NAME) @@ -57,6 +59,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_HPACC,MSGPACK_COMP_HPACC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_HPACC_EMULATED,MSGPACK_COMP_HPACC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/iar.h b/include/msgpack/predef/compiler/iar.h index 65614bb2..2cce9600 100644 --- a/include/msgpack/predef/compiler/iar.h +++ b/include/msgpack/predef/compiler/iar.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_IAR_NAME "IAR C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_IAR,MSGPACK_COMP_IAR_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_IAR,MSGPACK_COMP_IAR_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_IAR_EMULATED,MSGPACK_COMP_IAR_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/ibm.h b/include/msgpack/predef/compiler/ibm.h index 346db814..fc4ecfae 100644 --- a/include/msgpack/predef/compiler/ibm.h +++ b/include/msgpack/predef/compiler/ibm.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -61,6 +61,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_IBM_NAME "IBM XL C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_IBM,MSGPACK_COMP_IBM_NAME) @@ -68,6 +70,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_IBM,MSGPACK_COMP_IBM_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_IBM_EMULATED,MSGPACK_COMP_IBM_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/intel.h b/include/msgpack/predef/compiler/intel.h index ed3e4bca..7a1d76ef 100644 --- a/include/msgpack/predef/compiler/intel.h +++ b/include/msgpack/predef/compiler/intel.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -54,6 +54,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_INTEL_NAME "Intel C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_INTEL,MSGPACK_COMP_INTEL_NAME) @@ -61,6 +63,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_INTEL,MSGPACK_COMP_INTEL_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_INTEL_EMULATED,MSGPACK_COMP_INTEL_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/kai.h b/include/msgpack/predef/compiler/kai.h index b7b701d8..232d54d5 100644 --- a/include/msgpack/predef/compiler/kai.h +++ b/include/msgpack/predef/compiler/kai.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_KCC_NAME "Kai C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_KCC,MSGPACK_COMP_KCC_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_KCC,MSGPACK_COMP_KCC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_KCC_EMULATED,MSGPACK_COMP_KCC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/llvm.h b/include/msgpack/predef/compiler/llvm.h index cc2b834f..873d3087 100644 --- a/include/msgpack/predef/compiler/llvm.h +++ b/include/msgpack/predef/compiler/llvm.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -46,6 +46,8 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_COMP_LLVM_NAME "LLVM" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_LLVM,MSGPACK_COMP_LLVM_NAME) @@ -53,6 +55,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_LLVM,MSGPACK_COMP_LLVM_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_LLVM_EMULATED,MSGPACK_COMP_LLVM_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/metaware.h b/include/msgpack/predef/compiler/metaware.h index 0d9d04bc..a3c66adc 100644 --- a/include/msgpack/predef/compiler/metaware.h +++ b/include/msgpack/predef/compiler/metaware.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,6 +42,8 @@ MetaWare High C/C++ compiler. #define MSGPACK_COMP_HIGHC_NAME "MetaWare High C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_HIGHC,MSGPACK_COMP_HIGHC_NAME) @@ -49,6 +51,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_HIGHC,MSGPACK_COMP_HIGHC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_HIGHC_EMULATED,MSGPACK_COMP_HIGHC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/metrowerks.h b/include/msgpack/predef/compiler/metrowerks.h index 7162cc74..2b902b37 100644 --- a/include/msgpack/predef/compiler/metrowerks.h +++ b/include/msgpack/predef/compiler/metrowerks.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -66,6 +66,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_MWERKS_NAME "Metrowerks CodeWarrior" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MWERKS,MSGPACK_COMP_MWERKS_NAME) @@ -73,6 +75,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MWERKS,MSGPACK_COMP_MWERKS_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MWERKS_EMULATED,MSGPACK_COMP_MWERKS_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/microtec.h b/include/msgpack/predef/compiler/microtec.h index f6942f20..bc9c3602 100644 --- a/include/msgpack/predef/compiler/microtec.h +++ b/include/msgpack/predef/compiler/microtec.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,6 +42,8 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_COMP_MRI_NAME "Microtec C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MRI,MSGPACK_COMP_MRI_NAME) @@ -49,6 +51,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MRI,MSGPACK_COMP_MRI_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MRI_EMULATED,MSGPACK_COMP_MRI_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/mpw.h b/include/msgpack/predef/compiler/mpw.h index cef0acea..81788f9d 100644 --- a/include/msgpack/predef/compiler/mpw.h +++ b/include/msgpack/predef/compiler/mpw.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -52,6 +52,8 @@ Version number available as major, and minor. #define MSGPACK_COMP_MPW_NAME "MPW C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MPW,MSGPACK_COMP_MPW_NAME) @@ -59,6 +61,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MPW,MSGPACK_COMP_MPW_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MPW_EMULATED,MSGPACK_COMP_MPW_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/palm.h b/include/msgpack/predef/compiler/palm.h index d3a960e6..0134cd29 100644 --- a/include/msgpack/predef/compiler/palm.h +++ b/include/msgpack/predef/compiler/palm.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_PALM_NAME "Palm C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PALM,MSGPACK_COMP_PALM_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PALM,MSGPACK_COMP_PALM_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PALM_EMULATED,MSGPACK_COMP_PALM_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/pgi.h b/include/msgpack/predef/compiler/pgi.h index 8bf50860..a8399dd3 100644 --- a/include/msgpack/predef/compiler/pgi.h +++ b/include/msgpack/predef/compiler/pgi.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -49,6 +49,8 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_COMP_PGI_NAME "Portland Group C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PGI,MSGPACK_COMP_PGI_NAME) @@ -56,6 +58,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PGI,MSGPACK_COMP_PGI_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_PGI_EMULATED,MSGPACK_COMP_PGI_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/sgi_mipspro.h b/include/msgpack/predef/compiler/sgi_mipspro.h index 4e1b00be..673b9bed 100644 --- a/include/msgpack/predef/compiler/sgi_mipspro.h +++ b/include/msgpack/predef/compiler/sgi_mipspro.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,6 +55,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_SGI_NAME "SGI MIPSpro" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SGI,MSGPACK_COMP_SGI_NAME) @@ -62,6 +64,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SGI,MSGPACK_COMP_SGI_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SGI_EMULATED,MSGPACK_COMP_SGI_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/sunpro.h b/include/msgpack/predef/compiler/sunpro.h index 26e95139..0b77334e 100644 --- a/include/msgpack/predef/compiler/sunpro.h +++ b/include/msgpack/predef/compiler/sunpro.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `MSGPACK_COMP_SUNPRO`] -[@http://en.wikipedia.org/wiki/Sun_Studio_%28software%29 Sun Studio] compiler. +[@http://en.wikipedia.org/wiki/Oracle_Solaris_Studio Oracle Solaris Studio] compiler. Version number available as major, minor, and patch. [table @@ -25,6 +25,8 @@ Version number available as major, minor, and patch. [[`__SUNPRO_CC`] [V.R.P]] [[`__SUNPRO_C`] [V.R.P]] + [[`__SUNPRO_CC`] [VV.RR.P]] + [[`__SUNPRO_C`] [VV.RR.P]] ] */ @@ -32,10 +34,18 @@ Version number available as major, minor, and patch. #if defined(__SUNPRO_CC) || defined(__SUNPRO_C) # if !defined(MSGPACK_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_CC) -# define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VRP(__SUNPRO_CC) +# if (__SUNPRO_CC < 0x5100) +# define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VRP(__SUNPRO_CC) +# else +# define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VVRRP(__SUNPRO_CC) +# endif # endif # if !defined(MSGPACK_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_C) -# define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VRP(__SUNPRO_C) +# if (__SUNPRO_C < 0x5100) +# define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VRP(__SUNPRO_C) +# else +# define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VVRRP(__SUNPRO_C) +# endif # endif # if !defined(MSGPACK_COMP_SUNPRO_DETECTION) # define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_VERSION_NUMBER_AVAILABLE @@ -53,7 +63,9 @@ Version number available as major, minor, and patch. # include #endif -#define MSGPACK_COMP_SUNPRO_NAME "Sun Studio" +#define MSGPACK_COMP_SUNPRO_NAME "Oracle Solaris Studio" + +#endif #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SUNPRO,MSGPACK_COMP_SUNPRO_NAME) @@ -62,6 +74,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SUNPRO,MSGPACK_COMP_SUNPRO_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SUNPRO_EMULATED,MSGPACK_COMP_SUNPRO_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/tendra.h b/include/msgpack/predef/compiler/tendra.h index 7eaa3c9f..e90df560 100644 --- a/include/msgpack/predef/compiler/tendra.h +++ b/include/msgpack/predef/compiler/tendra.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,6 +42,8 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_COMP_TENDRA_NAME "TenDRA C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_TENDRA,MSGPACK_COMP_TENDRA_NAME) @@ -49,6 +51,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_TENDRA,MSGPACK_COMP_TENDRA_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_TENDRA_EMULATED,MSGPACK_COMP_TENDRA_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/visualc.h b/include/msgpack/predef/compiler/visualc.h index 943dd002..547a5bf1 100644 --- a/include/msgpack/predef/compiler/visualc.h +++ b/include/msgpack/predef/compiler/visualc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -80,6 +80,8 @@ Version number available as major, minor, and patch. #define MSGPACK_COMP_MSVC_NAME "Microsoft Visual C/C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MSVC,MSGPACK_COMP_MSVC_NAME) @@ -87,6 +89,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MSVC,MSGPACK_COMP_MSVC_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_MSVC_EMULATED,MSGPACK_COMP_MSVC_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/compiler/watcom.h b/include/msgpack/predef/compiler/watcom.h index 705d0411..6e3022ac 100644 --- a/include/msgpack/predef/compiler/watcom.h +++ b/include/msgpack/predef/compiler/watcom.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2014 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,6 +45,8 @@ Version number available as major, and minor. #define MSGPACK_COMP_WATCOM_NAME "Watcom C++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_WATCOM,MSGPACK_COMP_WATCOM_NAME) @@ -52,6 +54,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_WATCOM,MSGPACK_COMP_WATCOM_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_WATCOM_EMULATED,MSGPACK_COMP_WATCOM_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/detail/_cassert.h b/include/msgpack/predef/detail/_cassert.h index b1cb6bcc..155ebebd 100644 --- a/include/msgpack/predef/detail/_cassert.h +++ b/include/msgpack/predef/detail/_cassert.h @@ -8,7 +8,7 @@ http://www.boost.org/LICENSE_1_0.txt) #ifndef MSGPACK_PREDEF_DETAIL__CASSERT_H #define MSGPACK_PREDEF_DETAIL__CASSERT_H -#if defined(__cpluplus) +#if defined(__cplusplus) #include #else #include diff --git a/include/msgpack/predef/detail/_exception.h b/include/msgpack/predef/detail/_exception.h index 963f37bc..ca157b95 100644 --- a/include/msgpack/predef/detail/_exception.h +++ b/include/msgpack/predef/detail/_exception.h @@ -8,7 +8,7 @@ http://www.boost.org/LICENSE_1_0.txt) #ifndef MSGPACK_PREDEF_DETAIL__EXCEPTION_H #define MSGPACK_PREDEF_DETAIL__EXCEPTION_H -#if defined(__cpluplus) +#if defined(__cplusplus) #include #endif diff --git a/include/msgpack/predef/detail/test_def.h b/include/msgpack/predef/detail/test_def.h new file mode 100644 index 00000000..924c1e5f --- /dev/null +++ b/include/msgpack/predef/detail/test_def.h @@ -0,0 +1,71 @@ +/* +Copyright Rene Rivera 2011-2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ +#include + +#define MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS + +void * add_predef_entry(const char * name, const char * description, unsigned value) +#undef MSGPACK_PREDEF_DECLARE_TEST +#define MSGPACK_PREDEF_DECLARE_TEST(x,s) void predef_entry_##x() { add_predef_entry(#x, s, x) } +#include + +#undef MSGPACK_PREDEF_DECLARE_TEST +#define MSGPACK_PREDEF_DECLARE_TEST(x,s) predef_entry_##x() +void create_predef_entries() +{ +#include +} + +#ifdef __cplusplus +#include +#include +#include +using namespace std +#else +#include +#include +#include +#endif + +typedef struct predef_info +{ + const char * name + const char * description + unsigned value +} predef_info + +#ifdef __cplusplus +using namespace std +#endif + +unsigned generated_predef_info_count = 0 +predef_info* generated_predef_info = 0 +void * add_predef_entry(const char * name, const char * description, unsigned value) +{ + if (0 == generated_predef_info_count) + { + generated_predef_info_count = 1 + generated_predef_info = (predef_info*)malloc(sizeof(predef_info)) + } + else + { + generated_predef_info_count += 1 + generated_predef_info = (predef_info*)realloc(generated_predef_info, + generated_predef_info_count*sizeof(predef_info)) + } + generated_predef_info[generated_predef_info_count-1].name = name + generated_predef_info[generated_predef_info_count-1].description = description + generated_predef_info[generated_predef_info_count-1].value = value + return 0 +} + +int predef_info_compare(const void * a, const void * b) +{ + const predef_info * i = (const predef_info *)a + const predef_info * j = (const predef_info *)b + return strcmp(i->name,j->name) +} diff --git a/include/msgpack/predef/hardware.h b/include/msgpack/predef/hardware.h new file mode 100644 index 00000000..32840983 --- /dev/null +++ b/include/msgpack/predef/hardware.h @@ -0,0 +1,16 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#if !defined(MSGPACK_PREDEF_HARDWARE_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) +#ifndef MSGPACK_PREDEF_HARDWARE_H +#define MSGPACK_PREDEF_HARDWARE_H +#endif + +#include + +#endif diff --git a/include/msgpack/predef/hardware/simd.h b/include/msgpack/predef/hardware/simd.h new file mode 100644 index 00000000..30489d22 --- /dev/null +++ b/include/msgpack/predef/hardware/simd.h @@ -0,0 +1,119 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#include +#include +#include +#include + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_H + +#include + +/*` + [section Using the `MSGPACK_HW_SIMD_*` predefs] + [include ../doc/hardware_simd.qbk] + [endsect] + + [/ --------------------------- ] + + [section `MSGPACK_HW_SIMD_*`] + + [heading `MSGPACK_HW_SIMD`] + + The SIMD extension detected for a specific architectures. + Version number depends on the detected extension. + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`MSGPACK_HW_SIMD_X86_AVAILABLE`] [__predef_detection__]] + [[`MSGPACK_HW_SIMD_X86_AMD_AVAILABLE`] [__predef_detection__]] + [[`MSGPACK_HW_SIMD_ARM_AVAILABLE`] [__predef_detection__]] + [[`MSGPACK_HW_SIMD_PPC_AVAILABLE`] [__predef_detection__]] + ] + + [include ../include/msgpack/predef/hardware/simd/x86.h] + [include ../include/msgpack/predef/hardware/simd/x86_amd.h] + [include ../include/msgpack/predef/hardware/simd/arm.h] + [include ../include/msgpack/predef/hardware/simd/ppc.h] + + [endsect] + + [/ --------------------------- ] + + [section `MSGPACK_HW_SIMD_X86_*_VERSION`] + [include ../include/msgpack/predef/hardware/simd/x86/versions.h] + [endsect] + + [section `MSGPACK_HW_SIMD_X86_AMD_*_VERSION`] + [include ../include/msgpack/predef/hardware/simd/x86_amd/versions.h] + [endsect] + + [section `MSGPACK_HW_SIMD_ARM_*_VERSION`] + [include ../include/msgpack/predef/hardware/simd/arm/versions.h] + [endsect] + + [section `MSGPACK_HW_SIMD_PPC_*_VERSION`] + [include ../include/msgpack/predef/hardware/simd/ppc/versions.h] + [endsect] + + */ + +// We check if SIMD extension of multiples architectures have been detected, +// if yes, then this is an error! +// +// NOTE: _X86_AMD implies _X86, so there is no need to check for it here! +// +#if defined(MSGPACK_HW_SIMD_ARM_AVAILABLE) && defined(MSGPACK_HW_SIMD_PPC_AVAILABLE) ||\ + defined(MSGPACK_HW_SIMD_ARM_AVAILABLE) && defined(MSGPACK_HW_SIMD_X86_AVAILABLE) ||\ + defined(MSGPACK_HW_SIMD_PPC_AVAILABLE) && defined(MSGPACK_HW_SIMD_X86_AVAILABLE) +# error "Multiple SIMD architectures detected, this cannot happen!" +#endif + +#if defined(MSGPACK_HW_SIMD_X86_AVAILABLE) && defined(MSGPACK_HW_SIMD_X86_AMD_AVAILABLE) + // If both standard _X86 and _X86_AMD are available, + // then take the biggest version of the two! +# if MSGPACK_HW_SIMD_X86 >= MSGPACK_HW_SIMD_X86_AMD +# define MSGPACK_HW_SIMD MSGPACK_HW_SIMD_X86 +# else +# define MSGPACK_HW_SIMD MSGPACK_HW_SIMD_X86_AMD +# endif +#endif + +#if !defined(MSGPACK_HW_SIMD) + // At this point, only one of these two is defined +# if defined(MSGPACK_HW_SIMD_X86_AVAILABLE) +# define MSGPACK_HW_SIMD MSGPACK_HW_SIMD_X86 +# endif +# if defined(MSGPACK_HW_SIMD_X86_AMD_AVAILABLE) +# define MSGPACK_HW_SIMD MSGPACK_HW_SIMD_X86_AMD +# endif +#endif + +#if defined(MSGPACK_HW_SIMD_ARM_AVAILABLE) +# define MSGPACK_HW_SIMD MSGPACK_HW_SIMD_ARM +#endif + +#if defined(MSGPACK_HW_SIMD_PPC_AVAILABLE) +# define MSGPACK_HW_SIMD MSGPACK_HW_SIMD_PPC +#endif + +#if defined(MSGPACK_HW_SIMD) +# define MSGPACK_HW_SIMD_AVAILABLE +#else +# define MSGPACK_HW_SIMD MSGPACK_VERSION_NUMBER_NOT_AVAILABLE +#endif + +#define MSGPACK_HW_SIMD_NAME "Hardware SIMD" + +#endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_HW_SIMD, MSGPACK_HW_SIMD_NAME) diff --git a/include/msgpack/predef/hardware/simd/arm.h b/include/msgpack/predef/hardware/simd/arm.h new file mode 100644 index 00000000..0c22dbdc --- /dev/null +++ b/include/msgpack/predef/hardware/simd/arm.h @@ -0,0 +1,57 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_ARM_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_ARM_H + +#include +#include + +/*` + [heading `MSGPACK_HW_SIMD_ARM`] + + The SIMD extension for ARM (*if detected*). + Version number depends on the most recent detected extension. + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__ARM_NEON__`] [__predef_detection__]] + [[`__aarch64__`] [__predef_detection__]] + [[`_M_ARM`] [__predef_detection__]] + ] + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__ARM_NEON__`] [MSGPACK_HW_SIMD_ARM_NEON_VERSION]] + [[`__aarch64__`] [MSGPACK_HW_SIMD_ARM_NEON_VERSION]] + [[`_M_ARM`] [MSGPACK_HW_SIMD_ARM_NEON_VERSION]] + ] + + */ + +#define MSGPACK_HW_SIMD_ARM MSGPACK_VERSION_NUMBER_NOT_AVAILABLE + +#undef MSGPACK_HW_SIMD_ARM +#if !defined(MSGPACK_HW_SIMD_ARM) && (defined(__ARM_NEON__) || defined(__aarch64__) || defined (_M_ARM)) +# define MSGPACK_HW_SIMD_ARM MSGPACK_HW_SIMD_ARM_NEON_VERSION +#endif + +#if !defined(MSGPACK_HW_SIMD_ARM) +# define MSGPACK_HW_SIMD_ARM MSGPACK_VERSION_NUMBER_NOT_AVAILABLE +#else +# define MSGPACK_HW_SIMD_ARM_AVAILABLE +#endif + +#define MSGPACK_HW_SIMD_ARM_NAME "ARM SIMD" + +#endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_HW_SIMD_ARM, MSGPACK_HW_SIMD_ARM_NAME) diff --git a/include/msgpack/predef/hardware/simd/arm/versions.h b/include/msgpack/predef/hardware/simd/arm/versions.h new file mode 100644 index 00000000..6df71bd0 --- /dev/null +++ b/include/msgpack/predef/hardware/simd/arm/versions.h @@ -0,0 +1,32 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_H + +#include + +/*` + Those defines represent ARM SIMD extensions versions. + + [note You *MUST* compare them with the predef `MSGPACK_HW_SIMD_ARM`.] + */ + +// --------------------------------- + +/*` + [heading `MSGPACK_HW_SIMD_ARM_NEON_VERSION`] + + The [@https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29 NEON] + ARM extension version number. + + Version number is: *1.0.0*. + */ +#define MSGPACK_HW_SIMD_ARM_NEON_VERSION MSGPACK_VERSION_NUMBER(1, 0, 0) + +#endif diff --git a/include/msgpack/predef/hardware/simd/ppc.h b/include/msgpack/predef/hardware/simd/ppc.h new file mode 100644 index 00000000..708cbbaf --- /dev/null +++ b/include/msgpack/predef/hardware/simd/ppc.h @@ -0,0 +1,69 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_PPC_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_PPC_H + +#include +#include + +/*` + [heading `MSGPACK_HW_SIMD_PPC`] + + The SIMD extension for PowerPC (*if detected*). + Version number depends on the most recent detected extension. + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__VECTOR4DOUBLE__`] [__predef_detection__]] + + [[`__ALTIVEC__`] [__predef_detection__]] + [[`__VEC__`] [__predef_detection__]] + + [[`__VSX__`] [__predef_detection__]] + ] + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__VECTOR4DOUBLE__`] [MSGPACK_HW_SIMD_PPC_QPX_VERSION]] + + [[`__ALTIVEC__`] [MSGPACK_HW_SIMD_PPC_VMX_VERSION]] + [[`__VEC__`] [MSGPACK_HW_SIMD_PPC_VMX_VERSION]] + + [[`__VSX__`] [MSGPACK_HW_SIMD_PPC_VSX_VERSION]] + ] + + */ + +#define MSGPACK_HW_SIMD_PPC MSGPACK_VERSION_NUMBER_NOT_AVAILABLE + +#undef MSGPACK_HW_SIMD_PPC +#if !defined(MSGPACK_HW_SIMD_PPC) && defined(__VECTOR4DOUBLE__) +# define MSGPACK_HW_SIMD_PPC MSGPACK_HW_SIMD_PPC_QPX_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_PPC) && defined(__VSX__) +# define MSGPACK_HW_SIMD_PPC MSGPACK_HW_SIMD_PPC_VSX_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_PPC) && (defined(__ALTIVEC__) || defined(__VEC__)) +# define MSGPACK_HW_SIMD_PPC MSGPACK_HW_SIMD_PPC_VMX_VERSION +#endif + +#if !defined(MSGPACK_HW_SIMD_PPC) +# define MSGPACK_HW_SIMD_PPC MSGPACK_VERSION_NUMBER_NOT_AVAILABLE +#else +# define MSGPACK_HW_SIMD_PPC_AVAILABLE +#endif + +#define MSGPACK_HW_SIMD_PPC_NAME "PPC SIMD" + +#endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_HW_SIMD_PPC, MSGPACK_HW_SIMD_PPC_NAME) diff --git a/include/msgpack/predef/hardware/simd/ppc/versions.h b/include/msgpack/predef/hardware/simd/ppc/versions.h new file mode 100644 index 00000000..0ef40f9b --- /dev/null +++ b/include/msgpack/predef/hardware/simd/ppc/versions.h @@ -0,0 +1,51 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_H + +#include + +/*` + Those defines represent Power PC SIMD extensions versions. + + [note You *MUST* compare them with the predef `MSGPACK_HW_SIMD_PPC`.] + */ + +// --------------------------------- + +/*` + [heading `MSGPACK_HW_SIMD_PPC_VMX_VERSION`] + + The [@https://en.wikipedia.org/wiki/AltiVec#VMX128 VMX] powerpc extension + version number. + + Version number is: *1.0.0*. + */ +#define MSGPACK_HW_SIMD_PPC_VMX_VERSION MSGPACK_VERSION_NUMBER(1, 0, 0) + +/*` + [heading `MSGPACK_HW_SIMD_PPC_VSX_VERSION`] + + The [@https://en.wikipedia.org/wiki/AltiVec#VSX VSX] powerpc extension version + number. + + Version number is: *1.1.0*. + */ +#define MSGPACK_HW_SIMD_PPC_VSX_VERSION MSGPACK_VERSION_NUMBER(1, 1, 0) + +/*` + [heading `MSGPACK_HW_SIMD_PPC_QPX_VERSION`] + + The QPX powerpc extension version number. + + Version number is: *2.0.0*. + */ +#define MSGPACK_HW_SIMD_PPC_QPX_VERSION MSGPACK_VERSION_NUMBER(2, 0, 0) + +#endif diff --git a/include/msgpack/predef/hardware/simd/x86.h b/include/msgpack/predef/hardware/simd/x86.h new file mode 100644 index 00000000..a3e56168 --- /dev/null +++ b/include/msgpack/predef/hardware/simd/x86.h @@ -0,0 +1,123 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_X86_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_X86_H + +#include +#include + +/*` + [heading `MSGPACK_HW_SIMD_X86`] + + The SIMD extension for x86 (*if detected*). + Version number depends on the most recent detected extension. + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__SSE__`] [__predef_detection__]] + [[`_M_X64`] [__predef_detection__]] + [[`_M_IX86_FP >= 1`] [__predef_detection__]] + + [[`__SSE2__`] [__predef_detection__]] + [[`_M_X64`] [__predef_detection__]] + [[`_M_IX86_FP >= 2`] [__predef_detection__]] + + [[`__SSE3__`] [__predef_detection__]] + + [[`__SSSE3__`] [__predef_detection__]] + + [[`__SSE4_1__`] [__predef_detection__]] + + [[`__SSE4_2__`] [__predef_detection__]] + + [[`__AVX__`] [__predef_detection__]] + + [[`__FMA__`] [__predef_detection__]] + + [[`__AVX2__`] [__predef_detection__]] + ] + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__SSE__`] [MSGPACK_HW_SIMD_X86_SSE_VERSION]] + [[`_M_X64`] [MSGPACK_HW_SIMD_X86_SSE_VERSION]] + [[`_M_IX86_FP >= 1`] [MSGPACK_HW_SIMD_X86_SSE_VERSION]] + + [[`__SSE2__`] [MSGPACK_HW_SIMD_X86_SSE2_VERSION]] + [[`_M_X64`] [MSGPACK_HW_SIMD_X86_SSE2_VERSION]] + [[`_M_IX86_FP >= 2`] [MSGPACK_HW_SIMD_X86_SSE2_VERSION]] + + [[`__SSE3__`] [MSGPACK_HW_SIMD_X86_SSE3_VERSION]] + + [[`__SSSE3__`] [MSGPACK_HW_SIMD_X86_SSSE3_VERSION]] + + [[`__SSE4_1__`] [MSGPACK_HW_SIMD_X86_SSE4_1_VERSION]] + + [[`__SSE4_2__`] [MSGPACK_HW_SIMD_X86_SSE4_2_VERSION]] + + [[`__AVX__`] [MSGPACK_HW_SIMD_X86_AVX_VERSION]] + + [[`__FMA__`] [MSGPACK_HW_SIMD_X86_FMA3_VERSION]] + + [[`__AVX2__`] [MSGPACK_HW_SIMD_X86_AVX2_VERSION]] + ] + + */ + +#define MSGPACK_HW_SIMD_X86 MSGPACK_VERSION_NUMBER_NOT_AVAILABLE + +#undef MSGPACK_HW_SIMD_X86 +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__MIC__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_MIC_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__AVX2__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_AVX2_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__AVX__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_AVX_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__FMA__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_FMA_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__SSE4_2__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_SSE4_2_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__SSE4_1__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_SSE4_1_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__SSSE3__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_SSSE3_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__SSE3__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_SSE3_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && (defined(__SSE2__) || defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_SSE2_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && (defined(__SSE__) || defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 1)) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_SSE_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86) && defined(__MMX__) +# define MSGPACK_HW_SIMD_X86 MSGPACK_HW_SIMD_X86_MMX_VERSION +#endif + +#if !defined(MSGPACK_HW_SIMD_X86) +# define MSGPACK_HW_SIMD_X86 MSGPACK_VERSION_NUMBER_NOT_AVAILABLE +#else +# define MSGPACK_HW_SIMD_X86_AVAILABLE +#endif + +#define MSGPACK_HW_SIMD_X86_NAME "x86 SIMD" + +#endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_HW_SIMD_X86, MSGPACK_HW_SIMD_X86_NAME) diff --git a/include/msgpack/predef/hardware/simd/x86/versions.h b/include/msgpack/predef/hardware/simd/x86/versions.h new file mode 100644 index 00000000..a9f96507 --- /dev/null +++ b/include/msgpack/predef/hardware/simd/x86/versions.h @@ -0,0 +1,129 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_X86_VERSIONS_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_X86_VERSIONS_H + +#include + +/*` + Those defines represent x86 SIMD extensions versions. + + [note You *MUST* compare them with the predef `MSGPACK_HW_SIMD_X86`.] + */ + +// --------------------------------- + +/*` + [heading `MSGPACK_HW_SIMD_X86_MMX_VERSION`] + + The [@https://en.wikipedia.org/wiki/MMX_(instruction_set) MMX] x86 extension + version number. + + Version number is: *0.99.0*. + */ +#define MSGPACK_HW_SIMD_X86_MMX_VERSION MSGPACK_VERSION_NUMBER(0, 99, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_SSE_VERSION`] + + The [@https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions SSE] x86 extension + version number. + + Version number is: *1.0.0*. + */ +#define MSGPACK_HW_SIMD_X86_SSE_VERSION MSGPACK_VERSION_NUMBER(1, 0, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_SSE2_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE2 SSE2] x86 extension version number. + + Version number is: *2.0.0*. + */ +#define MSGPACK_HW_SIMD_X86_SSE2_VERSION MSGPACK_VERSION_NUMBER(2, 0, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_SSE3_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE3 SSE3] x86 extension version number. + + Version number is: *3.0.0*. + */ +#define MSGPACK_HW_SIMD_X86_SSE3_VERSION MSGPACK_VERSION_NUMBER(3, 0, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_SSSE3_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSSE3 SSSE3] x86 extension version number. + + Version number is: *3.1.0*. + */ +#define MSGPACK_HW_SIMD_X86_SSSE3_VERSION MSGPACK_VERSION_NUMBER(3, 1, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_SSE4_1_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE4#SSE4.1 SSE4_1] x86 extension version + number. + + Version number is: *4.1.0*. + */ +#define MSGPACK_HW_SIMD_X86_SSE4_1_VERSION MSGPACK_VERSION_NUMBER(4, 1, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_SSE4_2_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE4##SSE4.2 SSE4_2] x86 extension version + number. + + Version number is: *4.2.0*. + */ +#define MSGPACK_HW_SIMD_X86_SSE4_2_VERSION MSGPACK_VERSION_NUMBER(4, 2, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_AVX_VERSION`] + + The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions AVX] x86 + extension version number. + + Version number is: *5.0.0*. + */ +#define MSGPACK_HW_SIMD_X86_AVX_VERSION MSGPACK_VERSION_NUMBER(5, 0, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_FMA3_VERSION`] + + The [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension + version number. + + Version number is: *5.2.0*. + */ +#define MSGPACK_HW_SIMD_X86_FMA3_VERSION MSGPACK_VERSION_NUMBER(5, 2, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_AVX2_VERSION`] + + The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2] + x86 extension version number. + + Version number is: *5.3.0*. + */ +#define MSGPACK_HW_SIMD_X86_AVX2_VERSION MSGPACK_VERSION_NUMBER(5, 3, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_MIC_VERSION`] + + The [@https://en.wikipedia.org/wiki/Xeon_Phi MIC] (Xeon Phi) x86 extension + version number. + + Version number is: *9.0.0*. + */ +#define MSGPACK_HW_SIMD_X86_MIC_VERSION MSGPACK_VERSION_NUMBER(9, 0, 0) + +#endif diff --git a/include/msgpack/predef/hardware/simd/x86_amd.h b/include/msgpack/predef/hardware/simd/x86_amd.h new file mode 100644 index 00000000..6ea56714 --- /dev/null +++ b/include/msgpack/predef/hardware/simd/x86_amd.h @@ -0,0 +1,87 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_X86_AMD_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_X86_AMD_H + +#include +#include + +/*` + [heading `MSGPACK_HW_SIMD_X86_AMD`] + + The SIMD extension for x86 (AMD) (*if detected*). + Version number depends on the most recent detected extension. + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__SSE4A__`] [__predef_detection__]] + + [[`__FMA4__`] [__predef_detection__]] + + [[`__XOP__`] [__predef_detection__]] + + [[`MSGPACK_HW_SIMD_X86`] [__predef_detection__]] + ] + + [table + [[__predef_symbol__] [__predef_version__]] + + [[`__SSE4A__`] [MSGPACK_HW_SIMD_X86_SSE4A_VERSION]] + + [[`__FMA4__`] [MSGPACK_HW_SIMD_X86_FMA4_VERSION]] + + [[`__XOP__`] [MSGPACK_HW_SIMD_X86_XOP_VERSION]] + + [[`MSGPACK_HW_SIMD_X86`] [MSGPACK_HW_SIMD_X86]] + ] + + [note This predef includes every other x86 SIMD extensions and also has other + more specific extensions (FMA4, XOP, SSE4a). You should use this predef + instead of `MSGPACK_HW_SIMD_X86` to test if those specific extensions have + been detected.] + + */ + +#define MSGPACK_HW_SIMD_X86_AMD MSGPACK_VERSION_NUMBER_NOT_AVAILABLE + +// AMD CPUs also use x86 architecture. We first try to detect if any AMD +// specific extension are detected, if yes, then try to detect more recent x86 +// common extensions. + +#undef MSGPACK_HW_SIMD_X86_AMD +#if !defined(MSGPACK_HW_SIMD_X86_AMD) && defined(__XOP__) +# define MSGPACK_HW_SIMD_X86_AMD MSGPACK_HW_SIMD_X86_AMD_XOP_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86_AMD) && defined(__FMA4__) +# define MSGPACK_HW_SIMD_X86_AMD MSGPACK_HW_SIMD_X86_AMD_FMA4_VERSION +#endif +#if !defined(MSGPACK_HW_SIMD_X86_AMD) && defined(__SSE4A__) +# define MSGPACK_HW_SIMD_X86_AMD MSGPACK_HW_SIMD_X86_AMD_SSE4A_VERSION +#endif + +#if !defined(MSGPACK_HW_SIMD_X86_AMD) +# define MSGPACK_HW_SIMD_X86_AMD MSGPACK_VERSION_NUMBER_NOT_AVAILABLE +#else + // At this point, we know that we have an AMD CPU, we do need to check for + // other x86 extensions to determine the final version number. +# include +# if MSGPACK_HW_SIMD_X86 > MSGPACK_HW_SIMD_X86_AMD +# undef MSGPACK_HW_SIMD_X86_AMD +# define MSGPACK_HW_SIMD_X86_AMD MSGPACK_HW_SIMD_X86 +# endif +# define MSGPACK_HW_SIMD_X86_AMD_AVAILABLE +#endif + +#define MSGPACK_HW_SIMD_X86_AMD_NAME "x86 (AMD) SIMD" + +#endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_HW_SIMD_X86_AMD, MSGPACK_HW_SIMD_X86_AMD_NAME) diff --git a/include/msgpack/predef/hardware/simd/x86_amd/versions.h b/include/msgpack/predef/hardware/simd/x86_amd/versions.h new file mode 100644 index 00000000..0bd45299 --- /dev/null +++ b/include/msgpack/predef/hardware/simd/x86_amd/versions.h @@ -0,0 +1,51 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef MSGPACK_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_H +#define MSGPACK_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_H + +#include + +/*` + Those defines represent x86 (AMD specific) SIMD extensions versions. + + [note You *MUST* compare them with the predef `MSGPACK_HW_SIMD_X86_AMD`.] + */ + + +// --------------------------------- + +/*` + [heading `MSGPACK_HW_SIMD_X86_SSE4A_VERSION`] + + [@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension (AMD specific). + + Version number is: *4.0.0*. + */ +#define MSGPACK_HW_SIMD_X86_AMD_SSE4A_VERSION MSGPACK_VERSION_NUMBER(4, 0, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_FMA4_VERSION`] + + [@https://en.wikipedia.org/wiki/FMA_instruction_set#FMA4_instruction_set FMA4] x86 extension (AMD specific). + + Version number is: *5.1.0*. + */ +#define MSGPACK_HW_SIMD_X86_AMD_FMA4_VERSION MSGPACK_VERSION_NUMBER(5, 1, 0) + +/*` + [heading `MSGPACK_HW_SIMD_X86_XOP_VERSION`] + + [@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension (AMD specific). + + Version number is: *5.1.1*. + */ +#define MSGPACK_HW_SIMD_X86_AMD_XOP_VERSION MSGPACK_VERSION_NUMBER(5, 1, 1) + + +#endif diff --git a/include/msgpack/predef/language.h b/include/msgpack/predef/language.h index 85201874..7652c32c 100644 --- a/include/msgpack/predef/language.h +++ b/include/msgpack/predef/language.h @@ -1,12 +1,14 @@ /* -Copyright Rene Rivera 2011-2012 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_LANGUAGE_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_LANGUAGE_H #define MSGPACK_PREDEF_LANGUAGE_H +#endif #include #include diff --git a/include/msgpack/predef/language/objc.h b/include/msgpack/predef/language/objc.h index 0b0cb417..ee201deb 100644 --- a/include/msgpack/predef/language/objc.h +++ b/include/msgpack/predef/language/objc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2013 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -36,8 +36,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_LANG_OBJC_NAME "Objective-C" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_OBJC,MSGPACK_LANG_OBJC_NAME) - - -#endif diff --git a/include/msgpack/predef/language/stdc.h b/include/msgpack/predef/language/stdc.h index a913c321..5c916505 100644 --- a/include/msgpack/predef/language/stdc.h +++ b/include/msgpack/predef/language/stdc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2012 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -47,8 +47,7 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoc da #define MSGPACK_LANG_STDC_NAME "Standard C" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_STDC,MSGPACK_LANG_STDC_NAME) - - -#endif diff --git a/include/msgpack/predef/language/stdcpp.h b/include/msgpack/predef/language/stdcpp.h index 59154898..07f1024d 100644 --- a/include/msgpack/predef/language/stdcpp.h +++ b/include/msgpack/predef/language/stdcpp.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2013 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -52,10 +52,6 @@ Specifically the defined versions are: #define MSGPACK_LANG_STDCPP_NAME "Standard C++" -#include -MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_STDCPP,MSGPACK_LANG_STDCPP_NAME) - - /*` [heading `MSGPACK_LANG_STDCPPCLI`] @@ -88,10 +84,6 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoc da #define MSGPACK_LANG_STDCPPCLI_NAME "Standard C++/CLI" -#include -MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_STDCPPCLI,MSGPACK_LANG_STDCPPCLI_NAME) - - /*` [heading `MSGPACK_LANG_STDECPP`] @@ -117,8 +109,13 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_STDCPPCLI,MSGPACK_LANG_STDCPPCLI_NAME) #define MSGPACK_LANG_STDECPP_NAME "Standard Embedded C++" +#endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_STDCPP,MSGPACK_LANG_STDCPP_NAME) + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_STDCPPCLI,MSGPACK_LANG_STDCPPCLI_NAME) + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LANG_STDECPP,MSGPACK_LANG_STDECPP_NAME) - - -#endif diff --git a/include/msgpack/predef/library.h b/include/msgpack/predef/library.h index 20ecc56c..3c96c4b9 100644 --- a/include/msgpack/predef/library.h +++ b/include/msgpack/predef/library.h @@ -1,12 +1,14 @@ /* -Copyright Rene Rivera 2008-2012 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_LIBRARY_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_LIBRARY_H #define MSGPACK_PREDEF_LIBRARY_H +#endif #include #include diff --git a/include/msgpack/predef/library/c.h b/include/msgpack/predef/library/c.h index 4794a8df..2817bf91 100644 --- a/include/msgpack/predef/library/c.h +++ b/include/msgpack/predef/library/c.h @@ -1,12 +1,14 @@ /* -Copyright Rene Rivera 2008-2012 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_LIBRARY_C_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_LIBRARY_C_H #define MSGPACK_PREDEF_LIBRARY_C_H +#endif #include diff --git a/include/msgpack/predef/library/c/gnu.h b/include/msgpack/predef/library/c/gnu.h index 9e8f5d6a..0d890320 100644 --- a/include/msgpack/predef/library/c/gnu.h +++ b/include/msgpack/predef/library/c/gnu.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,8 +55,7 @@ Version number available as major, and minor. #define MSGPACK_LIB_C_GNU_NAME "GNU" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_C_GNU,MSGPACK_LIB_C_GNU_NAME) - - -#endif diff --git a/include/msgpack/predef/library/c/uc.h b/include/msgpack/predef/library/c/uc.h index 7dbd8380..39893d4d 100644 --- a/include/msgpack/predef/library/c/uc.h +++ b/include/msgpack/predef/library/c/uc.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -41,8 +41,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_LIB_C_UC_NAME "uClibc" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_C_UC,MSGPACK_LIB_C_UC_NAME) - - -#endif diff --git a/include/msgpack/predef/library/c/vms.h b/include/msgpack/predef/library/c/vms.h index c2ef4d31..35253649 100644 --- a/include/msgpack/predef/library/c/vms.h +++ b/include/msgpack/predef/library/c/vms.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -41,8 +41,7 @@ Version number available as major, minor, and patch. #define MSGPACK_LIB_C_VMS_NAME "VMS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_C_VMS,MSGPACK_LIB_C_VMS_NAME) - - -#endif diff --git a/include/msgpack/predef/library/c/zos.h b/include/msgpack/predef/library/c/zos.h index 67cb504f..9bae6ef7 100644 --- a/include/msgpack/predef/library/c/zos.h +++ b/include/msgpack/predef/library/c/zos.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -50,8 +50,7 @@ Version number available as major, minor, and patch. #define MSGPACK_LIB_C_ZOS_NAME "z/OS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_C_ZOS,MSGPACK_LIB_C_ZOS_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std.h b/include/msgpack/predef/library/std.h index 7e5b208e..14ff2bff 100644 --- a/include/msgpack/predef/library/std.h +++ b/include/msgpack/predef/library/std.h @@ -1,11 +1,13 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_LIBRARY_STD_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_LIBRARY_STD_H #define MSGPACK_PREDEF_LIBRARY_STD_H +#endif #include diff --git a/include/msgpack/predef/library/std/cxx.h b/include/msgpack/predef/library/std/cxx.h index 16d2a70a..60518448 100644 --- a/include/msgpack/predef/library/std/cxx.h +++ b/include/msgpack/predef/library/std/cxx.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2013 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -40,8 +40,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_LIB_STD_CXX_NAME "libc++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_CXX,MSGPACK_LIB_STD_CXX_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/dinkumware.h b/include/msgpack/predef/library/std/dinkumware.h index 2bda26f2..7e82bda1 100644 --- a/include/msgpack/predef/library/std/dinkumware.h +++ b/include/msgpack/predef/library/std/dinkumware.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -46,8 +46,7 @@ If available version number as major, minor, and patch. #define MSGPACK_LIB_STD_DINKUMWARE_NAME "Dinkumware" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_DINKUMWARE,MSGPACK_LIB_STD_DINKUMWARE_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/libcomo.h b/include/msgpack/predef/library/std/libcomo.h index 590f8658..54f58b52 100644 --- a/include/msgpack/predef/library/std/libcomo.h +++ b/include/msgpack/predef/library/std/libcomo.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -41,8 +41,7 @@ Version number available as major. #define MSGPACK_LIB_STD_COMO_NAME "Comeau Computing" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_COMO,MSGPACK_LIB_STD_COMO_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/modena.h b/include/msgpack/predef/library/std/modena.h index ff0582a1..a8f75017 100644 --- a/include/msgpack/predef/library/std/modena.h +++ b/include/msgpack/predef/library/std/modena.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -39,8 +39,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_LIB_STD_MSIPL_NAME "Modena Software Lib++" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_MSIPL,MSGPACK_LIB_STD_MSIPL_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/msl.h b/include/msgpack/predef/library/std/msl.h index aa4cc2ac..187a6e1d 100644 --- a/include/msgpack/predef/library/std/msl.h +++ b/include/msgpack/predef/library/std/msl.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -47,8 +47,7 @@ Version number available as major, minor, and patch. #define MSGPACK_LIB_STD_MSL_NAME "Metrowerks" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_MSL,MSGPACK_LIB_STD_MSL_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/roguewave.h b/include/msgpack/predef/library/std/roguewave.h index 2990496c..94ccaf9c 100644 --- a/include/msgpack/predef/library/std/roguewave.h +++ b/include/msgpack/predef/library/std/roguewave.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -50,8 +50,7 @@ If available version number as major, minor, and patch. #define MSGPACK_LIB_STD_RW_NAME "Roguewave" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_RW,MSGPACK_LIB_STD_RW_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/sgi.h b/include/msgpack/predef/library/std/sgi.h index ea081bb5..b23b9ed3 100644 --- a/include/msgpack/predef/library/std/sgi.h +++ b/include/msgpack/predef/library/std/sgi.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,8 +45,7 @@ If available version number as major, minor, and patch. #define MSGPACK_LIB_STD_SGI_NAME "SGI" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_SGI,MSGPACK_LIB_STD_SGI_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/stdcpp3.h b/include/msgpack/predef/library/std/stdcpp3.h index 2758f70a..6a5de28a 100644 --- a/include/msgpack/predef/library/std/stdcpp3.h +++ b/include/msgpack/predef/library/std/stdcpp3.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -47,8 +47,7 @@ Version number available as year (from 1970), month, and day. #define MSGPACK_LIB_STD_GNU_NAME "GNU" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_GNU,MSGPACK_LIB_STD_GNU_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/stlport.h b/include/msgpack/predef/library/std/stlport.h index 5b9eccce..667ff04f 100644 --- a/include/msgpack/predef/library/std/stlport.h +++ b/include/msgpack/predef/library/std/stlport.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -53,8 +53,7 @@ Version number available as major, minor, and patch. #define MSGPACK_LIB_STD_STLPORT_NAME "STLport" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_STLPORT,MSGPACK_LIB_STD_STLPORT_NAME) - - -#endif diff --git a/include/msgpack/predef/library/std/vacpp.h b/include/msgpack/predef/library/std/vacpp.h index 488a186f..4b4adac9 100644 --- a/include/msgpack/predef/library/std/vacpp.h +++ b/include/msgpack/predef/library/std/vacpp.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -38,8 +38,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_LIB_STD_IBM_NAME "IBM VACPP" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_LIB_STD_IBM,MSGPACK_LIB_STD_IBM_NAME) - - -#endif diff --git a/include/msgpack/predef/make.h b/include/msgpack/predef/make.h index 6a572b58..a0d8b128 100644 --- a/include/msgpack/predef/make.h +++ b/include/msgpack/predef/make.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -84,6 +84,6 @@ If the day is not available, but the month is, the 1st of the month is used as t /*` `MSGPACK_PREDEF_MAKE_YYYY(V)` */ #define MSGPACK_PREDEF_MAKE_YYYY(V) MSGPACK_PREDEF_MAKE_DATE(V,1,1) /*` `MSGPACK_PREDEF_MAKE_YYYYMM(V)` */ -#define MSGPACK_PREDEF_MAKE_YYYYMM(V) MSGPACK_PREDEF_MAKE_DATE((V)/100,(V),1) +#define MSGPACK_PREDEF_MAKE_YYYYMM(V) MSGPACK_PREDEF_MAKE_DATE((V)/100,(V)%100,1) #endif diff --git a/include/msgpack/predef/os.h b/include/msgpack/predef/os.h index c8b3f40a..e0884206 100644 --- a/include/msgpack/predef/os.h +++ b/include/msgpack/predef/os.h @@ -1,13 +1,15 @@ /* -Copyright Rene Rivera 2008-2012 +Copyright Rene Rivera 2008-2015 Copyright Franz Detro 2014 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_OS_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_OS_H #define MSGPACK_PREDEF_OS_H +#endif #include #include diff --git a/include/msgpack/predef/os/aix.h b/include/msgpack/predef/os/aix.h index c7afc6e5..fa7f61c5 100644 --- a/include/msgpack/predef/os/aix.h +++ b/include/msgpack/predef/os/aix.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -60,8 +60,7 @@ Version number available as major, minor, and patch. #define MSGPACK_OS_AIX_NAME "IBM AIX" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_AIX,MSGPACK_OS_AIX_NAME) - - -#endif diff --git a/include/msgpack/predef/os/amigaos.h b/include/msgpack/predef/os/amigaos.h index 9afcd4d5..26493bca 100644 --- a/include/msgpack/predef/os/amigaos.h +++ b/include/msgpack/predef/os/amigaos.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -40,8 +40,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_AMIGAOS_NAME "AmigaOS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_AMIGAOS,MSGPACK_OS_AMIGAOS_NAME) - - -#endif diff --git a/include/msgpack/predef/os/android.h b/include/msgpack/predef/os/android.h index d0ba537a..14195ea8 100644 --- a/include/msgpack/predef/os/android.h +++ b/include/msgpack/predef/os/android.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2013 +Copyright Rene Rivera 2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -39,8 +39,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_ANDROID_NAME "Android" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_ANDROID,MSGPACK_OS_ANDROID_NAME) - - -#endif diff --git a/include/msgpack/predef/os/beos.h b/include/msgpack/predef/os/beos.h index 7817f599..35f143a5 100644 --- a/include/msgpack/predef/os/beos.h +++ b/include/msgpack/predef/os/beos.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -39,8 +39,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_BEOS_NAME "BeOS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BEOS,MSGPACK_OS_BEOS_NAME) - - -#endif diff --git a/include/msgpack/predef/os/bsd.h b/include/msgpack/predef/os/bsd.h index 6a4b63f5..90b25133 100644 --- a/include/msgpack/predef/os/bsd.h +++ b/include/msgpack/predef/os/bsd.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -89,7 +89,15 @@ of BSD. If the above variants is detected the corresponding macro is also set.] #define MSGPACK_OS_BSD_NAME "BSD" -#include -MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BSD,MSGPACK_OS_BSD_NAME) +#else + +#include +#include +#include +#include +#include #endif + +#include +MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BSD,MSGPACK_OS_BSD_NAME) diff --git a/include/msgpack/predef/os/bsd/bsdi.h b/include/msgpack/predef/os/bsd/bsdi.h index 90610661..4718ee77 100644 --- a/include/msgpack/predef/os/bsd/bsdi.h +++ b/include/msgpack/predef/os/bsd/bsdi.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2012-2013 +Copyright Rene Rivera 2012-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,7 +42,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_BSD_BSDI_NAME "BSDi BSD/OS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BSD_BSDI,MSGPACK_OS_BSD_BSDI_NAME) - -#endif diff --git a/include/msgpack/predef/os/bsd/dragonfly.h b/include/msgpack/predef/os/bsd/dragonfly.h index bdf3e999..fde6f24e 100644 --- a/include/msgpack/predef/os/bsd/dragonfly.h +++ b/include/msgpack/predef/os/bsd/dragonfly.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2012-2013 +Copyright Rene Rivera 2012-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -44,7 +44,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_BSD_DRAGONFLY_NAME "DragonFly BSD" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BSD_DRAGONFLY,MSGPACK_OS_BSD_DRAGONFLY_NAME) - -#endif diff --git a/include/msgpack/predef/os/bsd/free.h b/include/msgpack/predef/os/bsd/free.h index 33d2494e..29cc2db4 100644 --- a/include/msgpack/predef/os/bsd/free.h +++ b/include/msgpack/predef/os/bsd/free.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2012-2013 +Copyright Rene Rivera 2012-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -54,7 +54,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_BSD_FREE_NAME "Free BSD" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BSD_FREE,MSGPACK_OS_BSD_FREE_NAME) - -#endif diff --git a/include/msgpack/predef/os/bsd/net.h b/include/msgpack/predef/os/bsd/net.h index 8953e074..2b21b18e 100644 --- a/include/msgpack/predef/os/bsd/net.h +++ b/include/msgpack/predef/os/bsd/net.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2012-2013 +Copyright Rene Rivera 2012-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -78,7 +78,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_BSD_NET_NAME "DragonFly BSD" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BSD_NET,MSGPACK_OS_BSD_NET_NAME) - -#endif diff --git a/include/msgpack/predef/os/bsd/open.h b/include/msgpack/predef/os/bsd/open.h index 9b83d86f..3c14b014 100644 --- a/include/msgpack/predef/os/bsd/open.h +++ b/include/msgpack/predef/os/bsd/open.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2012-2013 +Copyright Rene Rivera 2012-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -165,7 +165,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_BSD_OPEN_NAME "OpenBSD" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_BSD_OPEN,MSGPACK_OS_BSD_OPEN_NAME) - -#endif diff --git a/include/msgpack/predef/os/cygwin.h b/include/msgpack/predef/os/cygwin.h index dc595a48..20ec7618 100644 --- a/include/msgpack/predef/os/cygwin.h +++ b/include/msgpack/predef/os/cygwin.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -29,7 +29,7 @@ http://www.boost.org/LICENSE_1_0.txt) defined(__CYGWIN__) \ ) # undef MSGPACK_OS_CYGWIN -# define MSGPACK_OS_CGYWIN MSGPACK_VERSION_NUMBER_AVAILABLE +# define MSGPACK_OS_CYGWIN MSGPACK_VERSION_NUMBER_AVAILABLE #endif #if MSGPACK_OS_CYGWIN @@ -39,8 +39,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_CYGWIN_NAME "Cygwin" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_CYGWIN,MSGPACK_OS_CYGWIN_NAME) - - -#endif diff --git a/include/msgpack/predef/os/haiku.h b/include/msgpack/predef/os/haiku.h index 8d18d3c6..53e9b517 100644 --- a/include/msgpack/predef/os/haiku.h +++ b/include/msgpack/predef/os/haiku.h @@ -1,6 +1,6 @@ /* Copyright Jessica Hamilton 2014 -Copyright Rene Rivera 2014 +Copyright Rene Rivera 2014-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -40,8 +40,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_HAIKU_NAME "Haiku" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_HAIKU,MSGPACK_OS_HAIKU_NAME) - - -#endif diff --git a/include/msgpack/predef/os/hpux.h b/include/msgpack/predef/os/hpux.h index 7aa0fca4..c3359e77 100644 --- a/include/msgpack/predef/os/hpux.h +++ b/include/msgpack/predef/os/hpux.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -41,8 +41,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_HPUX_NAME "HP-UX" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_HPUX,MSGPACK_OS_HPUX_NAME) - - -#endif diff --git a/include/msgpack/predef/os/ios.h b/include/msgpack/predef/os/ios.h index 99ca70b7..cd14de74 100644 --- a/include/msgpack/predef/os/ios.h +++ b/include/msgpack/predef/os/ios.h @@ -1,5 +1,6 @@ /* Copyright Franz Detro 2014 +Copyright Rene Rivera 2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -44,8 +45,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_IOS_NAME "iOS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_IOS,MSGPACK_OS_IOS_NAME) - - -#endif diff --git a/include/msgpack/predef/os/irix.h b/include/msgpack/predef/os/irix.h index e34f5894..b36e2a50 100644 --- a/include/msgpack/predef/os/irix.h +++ b/include/msgpack/predef/os/irix.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -40,8 +40,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_IRIX_NAME "IRIX" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_IRIX,MSGPACK_OS_IRIX_NAME) - - -#endif diff --git a/include/msgpack/predef/os/linux.h b/include/msgpack/predef/os/linux.h index 0b5103c7..6c517c9d 100644 --- a/include/msgpack/predef/os/linux.h +++ b/include/msgpack/predef/os/linux.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -40,8 +40,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_LINUX_NAME "Linux" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_LINUX,MSGPACK_OS_LINUX_NAME) - - -#endif diff --git a/include/msgpack/predef/os/macos.h b/include/msgpack/predef/os/macos.h index 7c8113cd..20dc60d7 100644 --- a/include/msgpack/predef/os/macos.h +++ b/include/msgpack/predef/os/macos.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Copyright Franz Detro 2014 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -59,8 +59,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_MACOS_NAME "Mac OS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_MACOS,MSGPACK_OS_MACOS_NAME) - - -#endif diff --git a/include/msgpack/predef/os/os400.h b/include/msgpack/predef/os/os400.h index 18d46771..53ef52f8 100644 --- a/include/msgpack/predef/os/os400.h +++ b/include/msgpack/predef/os/os400.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2013 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -39,8 +39,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_OS400_NAME "IBM OS/400" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_OS400,MSGPACK_OS_OS400_NAME) - - -#endif diff --git a/include/msgpack/predef/os/qnxnto.h b/include/msgpack/predef/os/qnxnto.h index 6d16fe52..80adaa2f 100644 --- a/include/msgpack/predef/os/qnxnto.h +++ b/include/msgpack/predef/os/qnxnto.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -53,8 +53,7 @@ version 4 is specifically detected. #define MSGPACK_OS_QNX_NAME "QNX" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_QNX,MSGPACK_OS_QNX_NAME) - - -#endif diff --git a/include/msgpack/predef/os/solaris.h b/include/msgpack/predef/os/solaris.h index 83ac9e7e..f7ccb9c7 100644 --- a/include/msgpack/predef/os/solaris.h +++ b/include/msgpack/predef/os/solaris.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -40,8 +40,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_SOLARIS_NAME "Solaris" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_SOLARIS,MSGPACK_OS_SOLARIS_NAME) - - -#endif diff --git a/include/msgpack/predef/os/unix.h b/include/msgpack/predef/os/unix.h index 4d61fc03..b55970d1 100644 --- a/include/msgpack/predef/os/unix.h +++ b/include/msgpack/predef/os/unix.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -69,8 +69,8 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_SVR4_NAME "SVR4 Environment" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_UNIX,MSGPACK_OS_UNIX_NAME) MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_SVR4,MSGPACK_OS_SVR4_NAME) - -#endif diff --git a/include/msgpack/predef/os/vms.h b/include/msgpack/predef/os/vms.h index 8607481c..bf87684e 100644 --- a/include/msgpack/predef/os/vms.h +++ b/include/msgpack/predef/os/vms.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2011-2013 +Copyright Rene Rivera 2011-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -46,8 +46,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_VMS_NAME "VMS" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_VMS,MSGPACK_OS_VMS_NAME) - - -#endif diff --git a/include/msgpack/predef/os/windows.h b/include/msgpack/predef/os/windows.h index fc86df99..bf739437 100644 --- a/include/msgpack/predef/os/windows.h +++ b/include/msgpack/predef/os/windows.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -45,7 +45,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define MSGPACK_OS_WINDOWS_NAME "Microsoft Windows" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_OS_WINDOWS,MSGPACK_OS_WINDOWS_NAME) - -#endif diff --git a/include/msgpack/predef/other.h b/include/msgpack/predef/other.h index 99b32ca6..5434c5b5 100644 --- a/include/msgpack/predef/other.h +++ b/include/msgpack/predef/other.h @@ -1,12 +1,14 @@ /* -Copyright Rene Rivera 2013 +Copyright Rene Rivera 2013-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_OTHER_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_OTHER_H #define MSGPACK_PREDEF_OTHER_H +#endif #include /*#include */ diff --git a/include/msgpack/predef/other/endian.h b/include/msgpack/predef/other/endian.h index 556e4856..3c609fa4 100644 --- a/include/msgpack/predef/other/endian.h +++ b/include/msgpack/predef/other/endian.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2013-2014 +Copyright Rene Rivera 2013-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -140,7 +140,7 @@ information and acquired knowledge: !MSGPACK_ENDIAN_LITTLE_BYTE && !MSGPACK_ENDIAN_LITTLE_WORD # include # if MSGPACK_ARCH_M68K || \ - MSGPACK_ARCH_PARISK || \ + MSGPACK_ARCH_PARISC || \ MSGPACK_ARCH_SPARC || \ MSGPACK_ARCH_SYS370 || \ MSGPACK_ARCH_SYS390 || \ @@ -189,6 +189,8 @@ information and acquired knowledge: #define MSGPACK_ENDIAN_LITTLE_BYTE_NAME "Byte-Swapped Little-Endian" #define MSGPACK_ENDIAN_LITTLE_WORD_NAME "Word-Swapped Little-Endian" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ENDIAN_BIG_BYTE,MSGPACK_ENDIAN_BIG_BYTE_NAME) @@ -200,6 +202,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ENDIAN_LITTLE_BYTE,MSGPACK_ENDIAN_LITTLE_BYT #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_ENDIAN_LITTLE_WORD,MSGPACK_ENDIAN_LITTLE_WORD_NAME) - - -#endif diff --git a/include/msgpack/predef/platform.h b/include/msgpack/predef/platform.h index 90298203..34255c2b 100644 --- a/include/msgpack/predef/platform.h +++ b/include/msgpack/predef/platform.h @@ -1,13 +1,15 @@ /* -Copyright Rene Rivera 2013 +Copyright Rene Rivera 2013-2015 Copyright (c) Microsoft Corporation 2014 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ +#if !defined(MSGPACK_PREDEF_PLATFORM_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS) #ifndef MSGPACK_PREDEF_PLATFORM_H #define MSGPACK_PREDEF_PLATFORM_H +#endif #include #include diff --git a/include/msgpack/predef/platform/mingw.h b/include/msgpack/predef/platform/mingw.h index 8410d3d5..213f932c 100644 --- a/include/msgpack/predef/platform/mingw.h +++ b/include/msgpack/predef/platform/mingw.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2008-2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -58,6 +58,8 @@ Version number available as major, minor, and patch. #define MSGPACK_PLAT_MINGW_NAME "MinGW" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_MINGW,MSGPACK_PLAT_MINGW_NAME) @@ -65,6 +67,3 @@ MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_MINGW,MSGPACK_PLAT_MINGW_NAME) #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_MINGW_EMULATED,MSGPACK_PLAT_MINGW_NAME) #endif - - -#endif diff --git a/include/msgpack/predef/platform/windows_desktop.h b/include/msgpack/predef/platform/windows_desktop.h index 93a96cb2..9f0c4f1f 100644 --- a/include/msgpack/predef/platform/windows_desktop.h +++ b/include/msgpack/predef/platform/windows_desktop.h @@ -1,5 +1,6 @@ /* Copyright (c) Microsoft Corporation 2014 +Copyright Rene Rivera 2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -32,13 +33,13 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #if MSGPACK_PLAT_WINDOWS_DESKTOP -# define MSGPACK_PLAT_WINDOWS_DESKTOP_AVALIABLE +# define MSGPACK_PLAT_WINDOWS_DESKTOP_AVAILABLE # include #endif #define MSGPACK_PLAT_WINDOWS_DESKTOP_NAME "Windows Desktop" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_WINDOWS_DESKTOP,MSGPACK_PLAT_WINDOWS_DESKTOP_NAME) - -#endif diff --git a/include/msgpack/predef/platform/windows_phone.h b/include/msgpack/predef/platform/windows_phone.h index ccccfbb0..a224f69c 100644 --- a/include/msgpack/predef/platform/windows_phone.h +++ b/include/msgpack/predef/platform/windows_phone.h @@ -1,5 +1,6 @@ /* Copyright (c) Microsoft Corporation 2014 +Copyright Rene Rivera 2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -30,13 +31,13 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #if MSGPACK_PLAT_WINDOWS_PHONE -# define MSGPACK_PLAT_WINDOWS_PHONE_AVALIABLE +# define MSGPACK_PLAT_WINDOWS_PHONE_AVAILABLE # include #endif #define MSGPACK_PLAT_WINDOWS_PHONE_NAME "Windows Phone" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_WINDOWS_PHONE,MSGPACK_PLAT_WINDOWS_PHONE_NAME) - -#endif diff --git a/include/msgpack/predef/platform/windows_runtime.h b/include/msgpack/predef/platform/windows_runtime.h index d93f1534..759b2f86 100644 --- a/include/msgpack/predef/platform/windows_runtime.h +++ b/include/msgpack/predef/platform/windows_runtime.h @@ -1,5 +1,6 @@ /* Copyright (c) Microsoft Corporation 2014 +Copyright Rene Rivera 2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -32,13 +33,13 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #if MSGPACK_PLAT_WINDOWS_RUNTIME -# define MSGPACK_PLAT_WINDOWS_RUNTIME_AVALIABLE +# define MSGPACK_PLAT_WINDOWS_RUNTIME_AVAILABLE # include #endif #define MSGPACK_PLAT_WINDOWS_RUNTIME_NAME "Windows Runtime" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_WINDOWS_RUNTIME,MSGPACK_PLAT_WINDOWS_RUNTIME_NAME) - -#endif diff --git a/include/msgpack/predef/platform/windows_store.h b/include/msgpack/predef/platform/windows_store.h index 005f4eca..c538c9b3 100644 --- a/include/msgpack/predef/platform/windows_store.h +++ b/include/msgpack/predef/platform/windows_store.h @@ -1,5 +1,6 @@ /* Copyright (c) Microsoft Corporation 2014 +Copyright Rene Rivera 2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -30,13 +31,13 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #if MSGPACK_PLAT_WINDOWS_STORE -# define MSGPACK_PLAT_WINDOWS_STORE_AVALIABLE +# define MSGPACK_PLAT_WINDOWS_STORE_AVAILABLE # include #endif #define MSGPACK_PLAT_WINDOWS_STORE_NAME "Windows Store" +#endif + #include MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_WINDOWS_STORE,MSGPACK_PLAT_WINDOWS_STORE_NAME) - -#endif diff --git a/include/msgpack/predef/version.h b/include/msgpack/predef/version.h index 3910b966..12a33822 100644 --- a/include/msgpack/predef/version.h +++ b/include/msgpack/predef/version.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2014 +Copyright Rene Rivera 2015-2016 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -10,6 +10,6 @@ http://www.boost.org/LICENSE_1_0.txt) #include -#define MSGPACK_PREDEF_VERSION MSGPACK_VERSION_NUMBER(1,2,0) +#define MSGPACK_PREDEF_VERSION MSGPACK_VERSION_NUMBER(1,4,1) #endif diff --git a/include/msgpack/predef/version_number.h b/include/msgpack/predef/version_number.h index 37af5d2c..be8ff552 100644 --- a/include/msgpack/predef/version_number.h +++ b/include/msgpack/predef/version_number.h @@ -1,6 +1,5 @@ /* -Copyright Rene Rivera 2005 -Copyright Rene Rivera 2008-2013 +Copyright Rene Rivera 2005, 2008-2013 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/include/msgpack/preprocessor/arithmetic/dec.hpp b/include/msgpack/preprocessor/arithmetic/dec.hpp index 2ae2ec00..6ff50676 100644 --- a/include/msgpack/preprocessor/arithmetic/dec.hpp +++ b/include/msgpack/preprocessor/arithmetic/dec.hpp @@ -284,5 +284,6 @@ # define MSGPACK_PP_DEC_254 253 # define MSGPACK_PP_DEC_255 254 # define MSGPACK_PP_DEC_256 255 +# define MSGPACK_PP_DEC_257 256 # # endif diff --git a/include/msgpack/preprocessor/config/config.hpp b/include/msgpack/preprocessor/config/config.hpp index 0b5f5b0c..7ae4b15b 100644 --- a/include/msgpack/preprocessor/config/config.hpp +++ b/include/msgpack/preprocessor/config/config.hpp @@ -70,16 +70,18 @@ # # /* MSGPACK_PP_VARIADICS */ # +# define MSGPACK_PP_VARIADICS_MSVC 0 # if !defined MSGPACK_PP_VARIADICS # /* variadic support explicitly disabled for all untested compilers */ -# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI +# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || ( defined __SUNPRO_CC && __SUNPRO_CC < 0x5120 ) || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI # define MSGPACK_PP_VARIADICS 0 # /* VC++ (C/C++) */ # elif defined _MSC_VER && _MSC_VER >= 1400 && (!defined __EDG__ || defined(__INTELLISENSE__)) && !defined __clang__ # define MSGPACK_PP_VARIADICS 1 +# undef MSGPACK_PP_VARIADICS_MSVC # define MSGPACK_PP_VARIADICS_MSVC 1 # /* Wave (C/C++), GCC (C++) */ -# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__ +# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && defined __GXX_EXPERIMENTAL_CXX0X__ && __GXX_EXPERIMENTAL_CXX0X__ # define MSGPACK_PP_VARIADICS 1 # /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */ # elif !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L @@ -91,6 +93,7 @@ # undef MSGPACK_PP_VARIADICS # define MSGPACK_PP_VARIADICS 1 # if defined _MSC_VER && _MSC_VER >= 1400 && (defined(__INTELLISENSE__) || !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) +# undef MSGPACK_PP_VARIADICS_MSVC # define MSGPACK_PP_VARIADICS_MSVC 1 # endif # else diff --git a/include/msgpack/preprocessor/facilities/identity.hpp b/include/msgpack/preprocessor/facilities/identity.hpp index 2204e01d..9fbe1d30 100644 --- a/include/msgpack/preprocessor/facilities/identity.hpp +++ b/include/msgpack/preprocessor/facilities/identity.hpp @@ -8,6 +8,7 @@ # */ # # /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2015) */ # # /* See http://www.boost.org for most recent version. */ # @@ -15,9 +16,12 @@ # define MSGPACK_PREPROCESSOR_FACILITIES_IDENTITY_HPP # # include +# include # # /* MSGPACK_PP_IDENTITY */ # # define MSGPACK_PP_IDENTITY(item) item MSGPACK_PP_EMPTY # +# define MSGPACK_PP_IDENTITY_N(item,n) item MSGPACK_PP_TUPLE_EAT_N(n) +# # endif diff --git a/include/msgpack/preprocessor/library.hpp b/include/msgpack/preprocessor/library.hpp index 1b32e23e..d9795ee7 100644 --- a/include/msgpack/preprocessor/library.hpp +++ b/include/msgpack/preprocessor/library.hpp @@ -32,5 +32,6 @@ # include # include # include +# include # # endif diff --git a/include/msgpack/preprocessor/repetition/for.hpp b/include/msgpack/preprocessor/repetition/for.hpp index fb341b17..543f2f80 100644 --- a/include/msgpack/preprocessor/repetition/for.hpp +++ b/include/msgpack/preprocessor/repetition/for.hpp @@ -16,6 +16,8 @@ # # include # include +# include +# include # include # # /* MSGPACK_PP_FOR */ @@ -42,7 +44,23 @@ # include # endif # -# define MSGPACK_PP_FOR_257(s, p, o, m) MSGPACK_PP_ERROR(0x0002) +# if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_DMC() +# define MSGPACK_PP_FOR_257_PR(s, p) MSGPACK_PP_BOOL(p##(257, s)) +# else +# define MSGPACK_PP_FOR_257_PR(s, p) MSGPACK_PP_BOOL(p(257, s)) +# endif + +# define MSGPACK_PP_FOR_257_ERROR() MSGPACK_PP_ERROR(0x0002) +# define MSGPACK_PP_FOR_257(s, p, o, m) \ + MSGPACK_PP_IIF \ + ( \ + MSGPACK_PP_FOR_257_PR(s,p), \ + MSGPACK_PP_FOR_257_ERROR, \ + MSGPACK_PP_EMPTY \ + ) \ + () \ +/**/ +// # define MSGPACK_PP_FOR_257(s, p, o, m) MSGPACK_PP_ERROR(0x0002) # # define MSGPACK_PP_FOR_CHECK_MSGPACK_PP_NIL 1 # diff --git a/include/msgpack/preprocessor/seq/detail/is_empty.hpp b/include/msgpack/preprocessor/seq/detail/is_empty.hpp new file mode 100644 index 00000000..b897a04c --- /dev/null +++ b/include/msgpack/preprocessor/seq/detail/is_empty.hpp @@ -0,0 +1,49 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2015. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef MSGPACK_PREPROCESSOR_SEQ_DETAIL_IS_EMPTY_HPP +# define MSGPACK_PREPROCESSOR_SEQ_DETAIL_IS_EMPTY_HPP +# +# include +# include +# include +# include +# include +# +/* An empty seq is one that is just MSGPACK_PP_SEQ_NIL */ +# +# define MSGPACK_PP_SEQ_DETAIL_IS_EMPTY(seq) \ + MSGPACK_PP_COMPL \ + ( \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq) \ + ) \ +/**/ +# +# define MSGPACK_PP_SEQ_DETAIL_IS_EMPTY_SIZE(size) \ + MSGPACK_PP_COMPL \ + ( \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size) \ + ) \ +/**/ +# +# define MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq) \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(MSGPACK_PP_SEQ_DETAIL_EMPTY_SIZE(seq)) \ +/**/ +# +# define MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size) \ + MSGPACK_PP_BOOL(size) \ +/**/ +# +# define MSGPACK_PP_SEQ_DETAIL_EMPTY_SIZE(seq) \ + MSGPACK_PP_DEC(MSGPACK_PP_SEQ_SIZE(seq (nil))) \ +/**/ +# +# endif diff --git a/include/msgpack/preprocessor/seq/for_each.hpp b/include/msgpack/preprocessor/seq/for_each.hpp index 71b6d248..6c678a14 100644 --- a/include/msgpack/preprocessor/seq/for_each.hpp +++ b/include/msgpack/preprocessor/seq/for_each.hpp @@ -14,47 +14,94 @@ # # include # include +# include +# include # include # include # include +# include # include # include # # /* MSGPACK_PP_SEQ_FOR_EACH */ # # if ~MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_EDG() -# define MSGPACK_PP_SEQ_FOR_EACH(macro, data, seq) MSGPACK_PP_FOR((macro, data, seq (nil)), MSGPACK_PP_SEQ_FOR_EACH_P, MSGPACK_PP_SEQ_FOR_EACH_O, MSGPACK_PP_SEQ_FOR_EACH_M) +# define MSGPACK_PP_SEQ_FOR_EACH(macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK(macro, data, seq) # else # define MSGPACK_PP_SEQ_FOR_EACH(macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_D(macro, data, seq) -# define MSGPACK_PP_SEQ_FOR_EACH_D(macro, data, seq) MSGPACK_PP_FOR((macro, data, seq (nil)), MSGPACK_PP_SEQ_FOR_EACH_P, MSGPACK_PP_SEQ_FOR_EACH_O, MSGPACK_PP_SEQ_FOR_EACH_M) +# define MSGPACK_PP_SEQ_FOR_EACH_D(macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK(macro, data, seq) # endif # -# define MSGPACK_PP_SEQ_FOR_EACH_P(r, x) MSGPACK_PP_DEC(MSGPACK_PP_SEQ_SIZE(MSGPACK_PP_TUPLE_ELEM(3, 2, x))) +# define MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC(macro, data, seq) MSGPACK_PP_FOR((macro, data, seq, MSGPACK_PP_SEQ_SIZE(seq)), MSGPACK_PP_SEQ_FOR_EACH_P, MSGPACK_PP_SEQ_FOR_EACH_O, MSGPACK_PP_SEQ_FOR_EACH_M) +# define MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY(macro, data, seq) +# +# define MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK(macro, data, seq) \ + MSGPACK_PP_IIF \ + ( \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \ + MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC, \ + MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY \ + ) \ + (macro, data, seq) \ +/**/ +# +# define MSGPACK_PP_SEQ_FOR_EACH_P(r, x) MSGPACK_PP_TUPLE_ELEM(4, 3, x) # # if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_STRICT() # define MSGPACK_PP_SEQ_FOR_EACH_O(r, x) MSGPACK_PP_SEQ_FOR_EACH_O_I x # else -# define MSGPACK_PP_SEQ_FOR_EACH_O(r, x) MSGPACK_PP_SEQ_FOR_EACH_O_I(MSGPACK_PP_TUPLE_ELEM(3, 0, x), MSGPACK_PP_TUPLE_ELEM(3, 1, x), MSGPACK_PP_TUPLE_ELEM(3, 2, x)) +# define MSGPACK_PP_SEQ_FOR_EACH_O(r, x) MSGPACK_PP_SEQ_FOR_EACH_O_I(MSGPACK_PP_TUPLE_ELEM(4, 0, x), MSGPACK_PP_TUPLE_ELEM(4, 1, x), MSGPACK_PP_TUPLE_ELEM(4, 2, x), MSGPACK_PP_TUPLE_ELEM(4, 3, x)) # endif # -# define MSGPACK_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, MSGPACK_PP_SEQ_TAIL(seq)) +# define MSGPACK_PP_SEQ_FOR_EACH_O_I(macro, data, seq, sz) \ + MSGPACK_PP_SEQ_FOR_EACH_O_I_DEC(macro, data, seq, MSGPACK_PP_DEC(sz)) \ +/**/ +# define MSGPACK_PP_SEQ_FOR_EACH_O_I_DEC(macro, data, seq, sz) \ + ( \ + macro, \ + data, \ + MSGPACK_PP_IF \ + ( \ + sz, \ + MSGPACK_PP_SEQ_FOR_EACH_O_I_TAIL, \ + MSGPACK_PP_SEQ_FOR_EACH_O_I_NIL \ + ) \ + (seq), \ + sz \ + ) \ +/**/ +# define MSGPACK_PP_SEQ_FOR_EACH_O_I_TAIL(seq) MSGPACK_PP_SEQ_TAIL(seq) +# define MSGPACK_PP_SEQ_FOR_EACH_O_I_NIL(seq) MSGPACK_PP_NIL # # if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_STRICT() -# define MSGPACK_PP_SEQ_FOR_EACH_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_M_IM(r, MSGPACK_PP_TUPLE_REM_3 x) +# define MSGPACK_PP_SEQ_FOR_EACH_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_M_IM(r, MSGPACK_PP_TUPLE_REM_4 x) # define MSGPACK_PP_SEQ_FOR_EACH_M_IM(r, im) MSGPACK_PP_SEQ_FOR_EACH_M_I(r, im) # else -# define MSGPACK_PP_SEQ_FOR_EACH_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_M_I(r, MSGPACK_PP_TUPLE_ELEM(3, 0, x), MSGPACK_PP_TUPLE_ELEM(3, 1, x), MSGPACK_PP_TUPLE_ELEM(3, 2, x)) +# define MSGPACK_PP_SEQ_FOR_EACH_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_M_I(r, MSGPACK_PP_TUPLE_ELEM(4, 0, x), MSGPACK_PP_TUPLE_ELEM(4, 1, x), MSGPACK_PP_TUPLE_ELEM(4, 2, x), MSGPACK_PP_TUPLE_ELEM(4, 3, x)) # endif # -# define MSGPACK_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, MSGPACK_PP_SEQ_HEAD(seq)) +# define MSGPACK_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq, sz) macro(r, data, MSGPACK_PP_SEQ_HEAD(seq)) # # /* MSGPACK_PP_SEQ_FOR_EACH_R */ # # if ~MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_EDG() -# define MSGPACK_PP_SEQ_FOR_EACH_R(r, macro, data, seq) MSGPACK_PP_FOR_ ## r((macro, data, seq (nil)), MSGPACK_PP_SEQ_FOR_EACH_P, MSGPACK_PP_SEQ_FOR_EACH_O, MSGPACK_PP_SEQ_FOR_EACH_M) +# define MSGPACK_PP_SEQ_FOR_EACH_R(r, macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_R(r, macro, data, seq) # else # define MSGPACK_PP_SEQ_FOR_EACH_R(r, macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) -# define MSGPACK_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) MSGPACK_PP_FOR_ ## r((macro, data, seq (nil)), MSGPACK_PP_SEQ_FOR_EACH_P, MSGPACK_PP_SEQ_FOR_EACH_O, MSGPACK_PP_SEQ_FOR_EACH_M) +# define MSGPACK_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_R(r, macro, data, seq) # endif # +# define MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC_R(r, macro, data, seq) MSGPACK_PP_FOR_ ## r((macro, data, seq, MSGPACK_PP_SEQ_SIZE(seq)), MSGPACK_PP_SEQ_FOR_EACH_P, MSGPACK_PP_SEQ_FOR_EACH_O, MSGPACK_PP_SEQ_FOR_EACH_M) +# define MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY_R(r, macro, data, seq) +# +# define MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_R(r, macro, data, seq) \ + MSGPACK_PP_IIF \ + ( \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \ + MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC_R, \ + MSGPACK_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY_R \ + ) \ + (r, macro, data, seq) \ +/**/ +# # endif diff --git a/include/msgpack/preprocessor/seq/for_each_i.hpp b/include/msgpack/preprocessor/seq/for_each_i.hpp index 061ce0b0..9828c4d2 100644 --- a/include/msgpack/preprocessor/seq/for_each_i.hpp +++ b/include/msgpack/preprocessor/seq/for_each_i.hpp @@ -15,47 +15,95 @@ # include # include # include +# include +# include # include # include # include +# include # include # include # # /* MSGPACK_PP_SEQ_FOR_EACH_I */ # # if ~MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_EDG() -# define MSGPACK_PP_SEQ_FOR_EACH_I(macro, data, seq) MSGPACK_PP_FOR((macro, data, seq (nil), 0), MSGPACK_PP_SEQ_FOR_EACH_I_P, MSGPACK_PP_SEQ_FOR_EACH_I_O, MSGPACK_PP_SEQ_FOR_EACH_I_M) +# define MSGPACK_PP_SEQ_FOR_EACH_I(macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq) # else # define MSGPACK_PP_SEQ_FOR_EACH_I(macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_I_I(macro, data, seq) -# define MSGPACK_PP_SEQ_FOR_EACH_I_I(macro, data, seq) MSGPACK_PP_FOR((macro, data, seq (nil), 0), MSGPACK_PP_SEQ_FOR_EACH_I_P, MSGPACK_PP_SEQ_FOR_EACH_I_O, MSGPACK_PP_SEQ_FOR_EACH_I_M) +# define MSGPACK_PP_SEQ_FOR_EACH_I_I(macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq) # endif # -# define MSGPACK_PP_SEQ_FOR_EACH_I_P(r, x) MSGPACK_PP_DEC(MSGPACK_PP_SEQ_SIZE(MSGPACK_PP_TUPLE_ELEM(4, 2, x))) +# define MSGPACK_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC(macro, data, seq) MSGPACK_PP_FOR((macro, data, seq, 0, MSGPACK_PP_SEQ_SIZE(seq)), MSGPACK_PP_SEQ_FOR_EACH_I_P, MSGPACK_PP_SEQ_FOR_EACH_I_O, MSGPACK_PP_SEQ_FOR_EACH_I_M) +# define MSGPACK_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EMPTY(macro, data, seq) +# +# define MSGPACK_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq) \ + MSGPACK_PP_IIF \ + ( \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \ + MSGPACK_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \ + MSGPACK_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EMPTY \ + ) \ + (macro, data, seq) \ +/**/ +# +# define MSGPACK_PP_SEQ_FOR_EACH_I_P(r, x) MSGPACK_PP_TUPLE_ELEM(5, 4, x) # # if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_STRICT() # define MSGPACK_PP_SEQ_FOR_EACH_I_O(r, x) MSGPACK_PP_SEQ_FOR_EACH_I_O_I x # else -# define MSGPACK_PP_SEQ_FOR_EACH_I_O(r, x) MSGPACK_PP_SEQ_FOR_EACH_I_O_I(MSGPACK_PP_TUPLE_ELEM(4, 0, x), MSGPACK_PP_TUPLE_ELEM(4, 1, x), MSGPACK_PP_TUPLE_ELEM(4, 2, x), MSGPACK_PP_TUPLE_ELEM(4, 3, x)) +# define MSGPACK_PP_SEQ_FOR_EACH_I_O(r, x) MSGPACK_PP_SEQ_FOR_EACH_I_O_I(MSGPACK_PP_TUPLE_ELEM(5, 0, x), MSGPACK_PP_TUPLE_ELEM(5, 1, x), MSGPACK_PP_TUPLE_ELEM(5, 2, x), MSGPACK_PP_TUPLE_ELEM(5, 3, x), MSGPACK_PP_TUPLE_ELEM(5, 4, x)) # endif # -# define MSGPACK_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, MSGPACK_PP_SEQ_TAIL(seq), MSGPACK_PP_INC(i)) +# define MSGPACK_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i, sz) \ + MSGPACK_PP_SEQ_FOR_EACH_I_O_I_DEC(macro, data, seq, i, MSGPACK_PP_DEC(sz)) \ +/**/ +# define MSGPACK_PP_SEQ_FOR_EACH_I_O_I_DEC(macro, data, seq, i, sz) \ + ( \ + macro, \ + data, \ + MSGPACK_PP_IF \ + ( \ + sz, \ + MSGPACK_PP_SEQ_FOR_EACH_I_O_I_TAIL, \ + MSGPACK_PP_SEQ_FOR_EACH_I_O_I_NIL \ + ) \ + (seq), \ + MSGPACK_PP_INC(i), \ + sz \ + ) \ +/**/ +# define MSGPACK_PP_SEQ_FOR_EACH_I_O_I_TAIL(seq) MSGPACK_PP_SEQ_TAIL(seq) +# define MSGPACK_PP_SEQ_FOR_EACH_I_O_I_NIL(seq) MSGPACK_PP_NIL # # if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_STRICT() -# define MSGPACK_PP_SEQ_FOR_EACH_I_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_I_M_IM(r, MSGPACK_PP_TUPLE_REM_4 x) +# define MSGPACK_PP_SEQ_FOR_EACH_I_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_I_M_IM(r, MSGPACK_PP_TUPLE_REM_5 x) # define MSGPACK_PP_SEQ_FOR_EACH_I_M_IM(r, im) MSGPACK_PP_SEQ_FOR_EACH_I_M_I(r, im) # else -# define MSGPACK_PP_SEQ_FOR_EACH_I_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_I_M_I(r, MSGPACK_PP_TUPLE_ELEM(4, 0, x), MSGPACK_PP_TUPLE_ELEM(4, 1, x), MSGPACK_PP_TUPLE_ELEM(4, 2, x), MSGPACK_PP_TUPLE_ELEM(4, 3, x)) +# define MSGPACK_PP_SEQ_FOR_EACH_I_M(r, x) MSGPACK_PP_SEQ_FOR_EACH_I_M_I(r, MSGPACK_PP_TUPLE_ELEM(5, 0, x), MSGPACK_PP_TUPLE_ELEM(5, 1, x), MSGPACK_PP_TUPLE_ELEM(5, 2, x), MSGPACK_PP_TUPLE_ELEM(5, 3, x), MSGPACK_PP_TUPLE_ELEM(5, 4, x)) # endif # -# define MSGPACK_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, MSGPACK_PP_SEQ_HEAD(seq)) +# define MSGPACK_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i, sz) macro(r, data, i, MSGPACK_PP_SEQ_HEAD(seq)) # # /* MSGPACK_PP_SEQ_FOR_EACH_I_R */ # # if ~MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_EDG() -# define MSGPACK_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) MSGPACK_PP_FOR_ ## r((macro, data, seq (nil), 0), MSGPACK_PP_SEQ_FOR_EACH_I_P, MSGPACK_PP_SEQ_FOR_EACH_I_O, MSGPACK_PP_SEQ_FOR_EACH_I_M) +# define MSGPACK_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq) # else # define MSGPACK_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) -# define MSGPACK_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) MSGPACK_PP_FOR_ ## r((macro, data, seq (nil), 0), MSGPACK_PP_SEQ_FOR_EACH_I_P, MSGPACK_PP_SEQ_FOR_EACH_I_O, MSGPACK_PP_SEQ_FOR_EACH_I_M) +# define MSGPACK_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) MSGPACK_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq) # endif # +# define MSGPACK_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EXEC(r, macro, data, seq) MSGPACK_PP_FOR_ ## r((macro, data, seq, 0, MSGPACK_PP_SEQ_SIZE(seq)), MSGPACK_PP_SEQ_FOR_EACH_I_P, MSGPACK_PP_SEQ_FOR_EACH_I_O, MSGPACK_PP_SEQ_FOR_EACH_I_M) +# define MSGPACK_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EMPTY(r, macro, data, seq) +# +# define MSGPACK_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq) \ + MSGPACK_PP_IIF \ + ( \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \ + MSGPACK_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EXEC, \ + MSGPACK_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EMPTY \ + ) \ + (r, macro, data, seq) \ +/**/ +# # endif diff --git a/include/msgpack/preprocessor/seq/replace.hpp b/include/msgpack/preprocessor/seq/replace.hpp index 0d6f1aba..697a62c4 100644 --- a/include/msgpack/preprocessor/seq/replace.hpp +++ b/include/msgpack/preprocessor/seq/replace.hpp @@ -12,18 +12,34 @@ # ifndef MSGPACK_PREPROCESSOR_SEQ_REPLACE_HPP # define MSGPACK_PREPROCESSOR_SEQ_REPLACE_HPP # +# include # include # include +# include +# include # include # include +# include # # /* MSGPACK_PP_SEQ_REPLACE */ # # if ~MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_EDG() -# define MSGPACK_PP_SEQ_REPLACE(seq, i, elem) MSGPACK_PP_SEQ_FIRST_N(i, seq) (elem) MSGPACK_PP_SEQ_REST_N(MSGPACK_PP_INC(i), seq) +# define MSGPACK_PP_SEQ_REPLACE(seq, i, elem) MSGPACK_PP_SEQ_FIRST_N(i, seq) (elem) MSGPACK_PP_SEQ_REPLACE_DETAIL_REST(seq, i) # else # define MSGPACK_PP_SEQ_REPLACE(seq, i, elem) MSGPACK_PP_SEQ_REPLACE_I(seq, i, elem) -# define MSGPACK_PP_SEQ_REPLACE_I(seq, i, elem) MSGPACK_PP_SEQ_FIRST_N(i, seq) (elem) MSGPACK_PP_SEQ_REST_N(MSGPACK_PP_INC(i), seq) +# define MSGPACK_PP_SEQ_REPLACE_I(seq, i, elem) MSGPACK_PP_SEQ_FIRST_N(i, seq) (elem) MSGPACK_PP_SEQ_REPLACE_DETAIL_REST(seq, i) # endif # +# define MSGPACK_PP_SEQ_REPLACE_DETAIL_REST_EMPTY(seq, i) +# define MSGPACK_PP_SEQ_REPLACE_DETAIL_REST_VALID(seq, i) MSGPACK_PP_SEQ_REST_N(MSGPACK_PP_INC(i), seq) +# define MSGPACK_PP_SEQ_REPLACE_DETAIL_REST(seq, i) \ + MSGPACK_PP_IIF \ + ( \ + MSGPACK_PP_EQUAL(i,MSGPACK_PP_DEC(MSGPACK_PP_SEQ_SIZE(seq))), \ + MSGPACK_PP_SEQ_REPLACE_DETAIL_REST_EMPTY, \ + MSGPACK_PP_SEQ_REPLACE_DETAIL_REST_VALID \ + ) \ + (seq, i) \ +/**/ +# # endif diff --git a/include/msgpack/preprocessor/seq/rest_n.hpp b/include/msgpack/preprocessor/seq/rest_n.hpp index 3d3bdf8b..f8aac0b8 100644 --- a/include/msgpack/preprocessor/seq/rest_n.hpp +++ b/include/msgpack/preprocessor/seq/rest_n.hpp @@ -13,18 +13,34 @@ # define MSGPACK_PREPROCESSOR_SEQ_REST_N_HPP # # include +# include # include +# include # include +# include +# include # include # include # # /* MSGPACK_PP_SEQ_REST_N */ # # if ~MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_EDG() -# define MSGPACK_PP_SEQ_REST_N(n, seq) MSGPACK_PP_TUPLE_ELEM(2, 1, MSGPACK_PP_SEQ_SPLIT(MSGPACK_PP_INC(n), MSGPACK_PP_IDENTITY( (nil) seq )))() +# define MSGPACK_PP_SEQ_REST_N(n, seq) MSGPACK_PP_SEQ_REST_N_DETAIL_EXEC(n, seq, MSGPACK_PP_SEQ_DETAIL_EMPTY_SIZE(seq)) # else # define MSGPACK_PP_SEQ_REST_N(n, seq) MSGPACK_PP_SEQ_REST_N_I(n, seq) -# define MSGPACK_PP_SEQ_REST_N_I(n, seq) MSGPACK_PP_TUPLE_ELEM(2, 1, MSGPACK_PP_SEQ_SPLIT(MSGPACK_PP_INC(n), MSGPACK_PP_IDENTITY( (nil) seq )))() +# define MSGPACK_PP_SEQ_REST_N_I(n, seq) MSGPACK_PP_SEQ_REST_N_DETAIL_EXEC(n, seq, MSGPACK_PP_SEQ_DETAIL_EMPTY_SIZE(seq)) # endif # +# define MSGPACK_PP_SEQ_REST_N_DETAIL_EXEC(n, seq, size) \ + MSGPACK_PP_EXPR_IIF \ + ( \ + MSGPACK_PP_BITAND \ + ( \ + MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size), \ + MSGPACK_PP_NOT_EQUAL(n,size) \ + ), \ + MSGPACK_PP_TUPLE_ELEM(2, 1, MSGPACK_PP_SEQ_SPLIT(MSGPACK_PP_INC(n), MSGPACK_PP_IDENTITY( (nil) seq )))() \ + ) \ +/**/ +# # endif diff --git a/include/msgpack/preprocessor/seq/size.hpp b/include/msgpack/preprocessor/seq/size.hpp index cd4b2e51..0e04baf4 100644 --- a/include/msgpack/preprocessor/seq/size.hpp +++ b/include/msgpack/preprocessor/seq/size.hpp @@ -543,5 +543,6 @@ # define MSGPACK_PP_SEQ_SIZE_MSGPACK_PP_SEQ_SIZE_254 254 # define MSGPACK_PP_SEQ_SIZE_MSGPACK_PP_SEQ_SIZE_255 255 # define MSGPACK_PP_SEQ_SIZE_MSGPACK_PP_SEQ_SIZE_256 256 +# define MSGPACK_PP_SEQ_SIZE_MSGPACK_PP_SEQ_SIZE_257 257 # # endif diff --git a/include/msgpack/preprocessor/tuple/eat.hpp b/include/msgpack/preprocessor/tuple/eat.hpp index 9c49af36..877dd3c0 100644 --- a/include/msgpack/preprocessor/tuple/eat.hpp +++ b/include/msgpack/preprocessor/tuple/eat.hpp @@ -8,7 +8,7 @@ # */ # # /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011) */ +# /* Revised by Edward Diener (2011,2015) */ # # /* See http://www.boost.org for most recent version. */ # @@ -38,6 +38,15 @@ # endif # define MSGPACK_PP_TUPLE_EAT_I(size) MSGPACK_PP_TUPLE_EAT_ ## size # endif +# +# if ~MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_MWCC() +# define MSGPACK_PP_TUPLE_EAT_N(size) MSGPACK_PP_TUPLE_EAT_N_I(size) +# else +# define MSGPACK_PP_TUPLE_EAT_N(size) MSGPACK_PP_TUPLE_EAT_N_OO((size)) +# define MSGPACK_PP_TUPLE_EAT_N_OO(par) MSGPACK_PP_TUPLE_EAT_N_I ## par +# endif +# define MSGPACK_PP_TUPLE_EAT_N_I(size) MSGPACK_PP_TUPLE_EAT_ ## size +# # define MSGPACK_PP_TUPLE_EAT_1(e0) # define MSGPACK_PP_TUPLE_EAT_2(e0, e1) # define MSGPACK_PP_TUPLE_EAT_3(e0, e1, e2) diff --git a/src/files.mk b/src/files.mk index 6eb95d6e..9bca3eda 100644 --- a/src/files.mk +++ b/src/files.mk @@ -70,6 +70,17 @@ nobase_include_HEADERS = \ ../include/msgpack/predef/detail/os_detected.h \ ../include/msgpack/predef/detail/platform_detected.h \ ../include/msgpack/predef/detail/test.h \ + ../include/msgpack/predef/detail/test_def.h \ + ../include/msgpack/predef/hardware.h \ + ../include/msgpack/predef/hardware/simd.h \ + ../include/msgpack/predef/hardware/simd/arm.h \ + ../include/msgpack/predef/hardware/simd/arm/versions.h \ + ../include/msgpack/predef/hardware/simd/ppc.h \ + ../include/msgpack/predef/hardware/simd/ppc/versions.h \ + ../include/msgpack/predef/hardware/simd/x86.h \ + ../include/msgpack/predef/hardware/simd/x86/versions.h \ + ../include/msgpack/predef/hardware/simd/x86_amd.h \ + ../include/msgpack/predef/hardware/simd/x86_amd/versions.h \ ../include/msgpack/predef/language.h \ ../include/msgpack/predef/language/objc.h \ ../include/msgpack/predef/language/stdc.h \ @@ -412,6 +423,7 @@ nobase_include_HEADERS += \ ../include/msgpack/preprocessor/seq.hpp \ ../include/msgpack/preprocessor/seq/cat.hpp \ ../include/msgpack/preprocessor/seq/detail/binary_transform.hpp \ + ../include/msgpack/preprocessor/seq/detail/is_empty.hpp \ ../include/msgpack/preprocessor/seq/detail/split.hpp \ ../include/msgpack/preprocessor/seq/elem.hpp \ ../include/msgpack/preprocessor/seq/enum.hpp \