comparison DEPENDENCIES/generic/include/boost/config/suffix.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
1 // Boost config.hpp configuration header file ------------------------------// 1 // Boost config.hpp configuration header file ------------------------------//
2 // boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file 2 // boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
3 3
4 // Copyright (c) 2001-2003 John Maddock 4 // Copyright (c) 2001-2003 John Maddock
5 // Copyright (c) 2001 Darin Adler 5 // Copyright (c) 2001 Darin Adler
6 // Copyright (c) 2001 Peter Dimov 6 // Copyright (c) 2001 Peter Dimov
7 // Copyright (c) 2002 Bill Kempf 7 // Copyright (c) 2002 Bill Kempf
589 #if !defined(BOOST_NOINLINE) 589 #if !defined(BOOST_NOINLINE)
590 # if defined(_MSC_VER) 590 # if defined(_MSC_VER)
591 # define BOOST_NOINLINE __declspec(noinline) 591 # define BOOST_NOINLINE __declspec(noinline)
592 # elif defined(__GNUC__) && __GNUC__ > 3 592 # elif defined(__GNUC__) && __GNUC__ > 3
593 // Clang also defines __GNUC__ (as 4) 593 // Clang also defines __GNUC__ (as 4)
594 # define BOOST_NOINLINE __attribute__ ((__noinline__)) 594 # if defined(__CUDACC__)
595 // nvcc doesn't always parse __noinline__,
596 // see: https://svn.boost.org/trac/boost/ticket/9392
597 # define BOOST_NOINLINE __attribute__ ((noinline))
598 # else
599 # define BOOST_NOINLINE __attribute__ ((__noinline__))
600 # endif
595 # else 601 # else
596 # define BOOST_NOINLINE 602 # define BOOST_NOINLINE
603 # endif
604 #endif
605
606 // BOOST_NORETURN ---------------------------------------------//
607 // Macro to use before a function declaration/definition to designate
608 // the function as not returning normally (i.e. with a return statement
609 // or by leaving the function scope, if the function return type is void).
610 #if !defined(BOOST_NORETURN)
611 # if defined(_MSC_VER)
612 # define BOOST_NORETURN __declspec(noreturn)
613 # elif defined(__GNUC__)
614 # define BOOST_NORETURN __attribute__ ((__noreturn__))
615 # else
616 # define BOOST_NO_NORETURN
617 # define BOOST_NORETURN
597 # endif 618 # endif
598 #endif 619 #endif
599 620
600 // Branch prediction hints 621 // Branch prediction hints
601 // These macros are intended to wrap conditional expressions that yield true or false 622 // These macros are intended to wrap conditional expressions that yield true or false
621 #elif defined(__GNUC__) 642 #elif defined(__GNUC__)
622 # define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x))) 643 # define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x)))
623 #else 644 #else
624 # define BOOST_NO_ALIGNMENT 645 # define BOOST_NO_ALIGNMENT
625 # define BOOST_ALIGNMENT(x) 646 # define BOOST_ALIGNMENT(x)
647 #endif
648
649 // Lack of non-public defaulted functions is implied by the lack of any defaulted functions
650 #if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
651 # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
626 #endif 652 #endif
627 653
628 // Defaulted and deleted function declaration helpers 654 // Defaulted and deleted function declaration helpers
629 // These macros are intended to be inside a class definition. 655 // These macros are intended to be inside a class definition.
630 // BOOST_DEFAULTED_FUNCTION accepts the function declaration and its 656 // BOOST_DEFAULTED_FUNCTION accepts the function declaration and its
658 684
659 // 685 //
660 // Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined 686 // Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
661 // 687 //
662 #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276) 688 #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
663 #define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE 689 #define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
664 #endif 690 #endif
665 691
666 // -------------------- Deprecated macros for 1.50 --------------------------- 692 // -------------------- Deprecated macros for 1.50 ---------------------------
667 // These will go away in a future release 693 // These will go away in a future release
668 694
911 #define BOOST_CONSTEXPR_OR_CONST const 937 #define BOOST_CONSTEXPR_OR_CONST const
912 #else 938 #else
913 #define BOOST_CONSTEXPR constexpr 939 #define BOOST_CONSTEXPR constexpr
914 #define BOOST_CONSTEXPR_OR_CONST constexpr 940 #define BOOST_CONSTEXPR_OR_CONST constexpr
915 #endif 941 #endif
942 #if defined(BOOST_NO_CXX14_CONSTEXPR)
943 #define BOOST_CXX14_CONSTEXPR
944 #else
945 #define BOOST_CXX14_CONSTEXPR constexpr
946 #endif
947
948 //
949 // Unused variable/typedef workarounds:
950 //
951 #ifndef BOOST_ATTRIBUTE_UNUSED
952 # define BOOST_ATTRIBUTE_UNUSED
953 #endif
916 954
917 #define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST 955 #define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
918 956
919 // 957 //
920 // Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined 958 // Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
934 // Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined 972 // Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined
935 // 973 //
936 #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL) 974 #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
937 #define BOOST_HAS_VARIADIC_TMPL 975 #define BOOST_HAS_VARIADIC_TMPL
938 #endif 976 #endif
939 977 //
940 978 // Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when
941 #endif 979 // BOOST_NO_CXX11_VARIADIC_TEMPLATES is set:
980 //
981 #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)
982 # define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
983 #endif
984
985 //
986 // Finish off with checks for macros that are depricated / no longer supported,
987 // if any of these are set then it's very likely that much of Boost will no
988 // longer work. So stop with a #error for now, but give the user a chance
989 // to continue at their own risk if they really want to:
990 //
991 #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_CONFIG_ALLOW_DEPRECATED)
992 # error "You are using a compiler which lacks features which are now a minimum requirement in order to use Boost, define BOOST_CONFIG_ALLOW_DEPRECATED if you want to continue at your own risk!!!"
993 #endif
994
995 #endif