spack/var/spack/repos/builtin/packages/fmt/fmt-attributes-cpp11_4.1.0.patch
Ben Morgan 531114cd6c
fmt: Add version 5.3.0 with cxxstd variant support (#11799)
* fmt: Add cxxstd variant, plus cmake/c++ patches

Spack supported versions of fmt default to C++11 for versions
less than 5, C++14 greater than 5, with fmt implementing
fallbacks to whatever compiler supports.

To give better ABI compatibility and use of newer standards, provide
a `cxxstd` variant defaulting to 11 with 98-17 options. Use cmake_args
to set CMAKE_CXX_STANDARD as appropriate, plus use of `FMT_USE_CPP11`
option for C++98 builds. Use `conflicts` to disable use of certain
standards in versions that don't support, or fail the build, with
those standards.

Add patches to unify use of `CMAKE_CXX_STANDARD` in 3.0 versions,
remove hard-coding of compiler flags in `fmt-config.cmake`, and
prevent use of C++11 features in 4.1.0 when in supported C++98
mode.

Default to not building documents as no dependency on Doxygen is
yet present, and they are not part of the "all" build.

* Use CMake to enforce C++ standard support

Fail configure step if fmt tries to build with a cxxstd variant
not supported by the compiler (or known to CMake).

* fmt: New version 5.3.0
2019-06-25 12:01:31 +01:00

14 lines
501 B
Diff

diff --git a/fmt/format.h b/fmt/format.h
index 561a9e0..9faf5ca 100644
--- a/fmt/format.h
+++ b/fmt/format.h
@@ -153,7 +153,7 @@ typedef __int64 intmax_t;
# define FMT_HAS_CPP_ATTRIBUTE(x) 0
#endif
-#if FMT_HAS_CPP_ATTRIBUTE(maybe_unused)
+#if FMT_HAS_CPP_ATTRIBUTE(maybe_unused) && __cplusplus >= 201103L
# define FMT_HAS_CXX17_ATTRIBUTE_MAYBE_UNUSED
// VC++ 1910 support /std: option and that will set _MSVC_LANG macro
// Clang with Microsoft CodeGen doesn't define _MSVC_LANG macro