From 330583f47800c60cf001239550d291d16274756a Mon Sep 17 00:00:00 2001 From: dmitrykobets-msft <89153909+dmitrykobets-msft@users.noreply.github.com> Date: Mon, 18 Jul 2022 17:42:21 -0700 Subject: [PATCH] Resolve MSVC warning C5260 (#1049) * Test solution * Mark dynamic_extent as inline, compiler-version-permitting --- include/gsl/span_ext | 2 +- include/gsl/util | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/gsl/span_ext b/include/gsl/span_ext index d86f736..516cc99 100644 --- a/include/gsl/span_ext +++ b/include/gsl/span_ext @@ -41,7 +41,7 @@ namespace gsl { // [span.views.constants], constants -constexpr const std::size_t dynamic_extent = narrow_cast(-1); +GSL_INLINE constexpr const std::size_t dynamic_extent = narrow_cast(-1); template class span; diff --git a/include/gsl/util b/include/gsl/util index b6dbd18..aebfc66 100644 --- a/include/gsl/util +++ b/include/gsl/util @@ -45,6 +45,12 @@ #define GSL_NODISCARD #endif // defined(__cplusplus) && (__cplusplus >= 201703L) +#if defined(__cpp_inline_variables) +#define GSL_INLINE inline +#else +#define GSL_INLINE +#endif + namespace gsl { //