Use __GXX_EXPERIMENTAL_CXX0X__ for better C++11 detection
This commit is contained in:
parent
43b9fefbd2
commit
9331533309
14
format.h
14
format.h
@ -86,13 +86,19 @@
|
|||||||
# define FMT_HAS_CPP_ATTRIBUTE(x) 0
|
# define FMT_HAS_CPP_ATTRIBUTE(x) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__
|
||||||
|
# define FMT_HAS_GXX_CXX11 1
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef FMT_USE_VARIADIC_TEMPLATES
|
#ifndef FMT_USE_VARIADIC_TEMPLATES
|
||||||
// Variadic templates are available in GCC since version 4.4
|
// Variadic templates are available in GCC since version 4.4
|
||||||
// (http://gcc.gnu.org/projects/cxx0x.html) and in Visual C++
|
// (http://gcc.gnu.org/projects/cxx0x.html) and in Visual C++
|
||||||
// since version 2013.
|
// since version 2013.
|
||||||
# define FMT_USE_VARIADIC_TEMPLATES \
|
# define FMT_USE_VARIADIC_TEMPLATES \
|
||||||
(FMT_HAS_FEATURE(cxx_variadic_templates) || \
|
(FMT_HAS_FEATURE(cxx_variadic_templates) || \
|
||||||
(FMT_GCC_VERSION >= 404 && __cplusplus >= 201103) || _MSC_VER >= 1800)
|
(FMT_GCC_VERSION >= 404 && FMT_HAS_GXX_CXX11) || _MSC_VER >= 1800)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FMT_USE_RVALUE_REFERENCES
|
#ifndef FMT_USE_RVALUE_REFERENCES
|
||||||
@ -103,7 +109,7 @@
|
|||||||
# else
|
# else
|
||||||
# define FMT_USE_RVALUE_REFERENCES \
|
# define FMT_USE_RVALUE_REFERENCES \
|
||||||
(FMT_HAS_FEATURE(cxx_rvalue_references) || \
|
(FMT_HAS_FEATURE(cxx_rvalue_references) || \
|
||||||
(FMT_GCC_VERSION >= 403 && __cplusplus >= 201103) || _MSC_VER >= 1600)
|
(FMT_GCC_VERSION >= 403 && FMT_HAS_GXX_CXX11) || _MSC_VER >= 1600)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -113,7 +119,7 @@
|
|||||||
|
|
||||||
// Define FMT_USE_NOEXCEPT to make C++ Format use noexcept (C++11 feature).
|
// Define FMT_USE_NOEXCEPT to make C++ Format use noexcept (C++11 feature).
|
||||||
#if FMT_USE_NOEXCEPT || FMT_HAS_FEATURE(cxx_noexcept) || \
|
#if FMT_USE_NOEXCEPT || FMT_HAS_FEATURE(cxx_noexcept) || \
|
||||||
(FMT_GCC_VERSION >= 408 && __cplusplus >= 201103)
|
(FMT_GCC_VERSION >= 408 && FMT_HAS_GXX_CXX11)
|
||||||
# define FMT_NOEXCEPT noexcept
|
# define FMT_NOEXCEPT noexcept
|
||||||
#else
|
#else
|
||||||
# define FMT_NOEXCEPT throw()
|
# define FMT_NOEXCEPT throw()
|
||||||
@ -122,7 +128,7 @@
|
|||||||
// A macro to disallow the copy constructor and operator= functions
|
// A macro to disallow the copy constructor and operator= functions
|
||||||
// This should be used in the private: declarations for a class
|
// This should be used in the private: declarations for a class
|
||||||
#if FMT_USE_DELETED_FUNCTIONS || FMT_HAS_FEATURE(cxx_deleted_functions) || \
|
#if FMT_USE_DELETED_FUNCTIONS || FMT_HAS_FEATURE(cxx_deleted_functions) || \
|
||||||
(FMT_GCC_VERSION >= 404 && __cplusplus >= 201103L) || _MSC_VER >= 1800
|
(FMT_GCC_VERSION >= 404 && FMT_HAS_GXX_CXX11) || _MSC_VER >= 1800
|
||||||
# define FMT_DISALLOW_COPY_AND_ASSIGN(TypeName) \
|
# define FMT_DISALLOW_COPY_AND_ASSIGN(TypeName) \
|
||||||
TypeName(const TypeName&) = delete; \
|
TypeName(const TypeName&) = delete; \
|
||||||
TypeName& operator=(const TypeName&) = delete
|
TypeName& operator=(const TypeName&) = delete
|
||||||
|
2
posix.h
2
posix.h
@ -69,7 +69,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if FMT_USE_STATIC_ASSERT || FMT_HAS_CPP_ATTRIBUTE(cxx_static_assert) || \
|
#if FMT_USE_STATIC_ASSERT || FMT_HAS_CPP_ATTRIBUTE(cxx_static_assert) || \
|
||||||
(FMT_GCC_VERSION >= 403 && __cplusplus >= 201103) || _MSC_VER >= 1600
|
(FMT_GCC_VERSION >= 403 && FMT_HAS_GXX_CXX11) || _MSC_VER >= 1600
|
||||||
# define FMT_STATIC_ASSERT(cond, message) static_assert(cond, message)
|
# define FMT_STATIC_ASSERT(cond, message) static_assert(cond, message)
|
||||||
#else
|
#else
|
||||||
# define FMT_CONCAT_(a, b) FMT_CONCAT(a, b)
|
# define FMT_CONCAT_(a, b) FMT_CONCAT(a, b)
|
||||||
|
Loading…
Reference in New Issue
Block a user