diff --git a/.travis.yml b/.travis.yml index e6282ab..a57955c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,9 +12,9 @@ cache: - ${TRAVIS_BUILD_DIR}/deps stages: - - name: Latest # build jobs to run first and always + - name: Latest # Compiler with the latest major version + - name: Previous # Compilers with the major version Latest - 1 - name: Validation # run other jobs - - name: Legacy # build with all other supported compilers jobs: include: @@ -62,73 +62,11 @@ jobs: # AppleClang on OSX ########################################################################## - # Xcode 8.3 - - name: AppleClang Xcode-8.3 C++14 Debug - stage: Legacy - env: BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode8.3 - - name: AppleClang Xcode-8.3 C++14 Release - env: BUILD_TYPE=Release GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode8.3 - # Xcode 9.0 earliest C++17 support - - name: AppleClang Xcode-9.0 C++17 Debug - env: BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - os: osx - osx_image: xcode9 # AppleClang 9.1.0 same compiler in Xcode 9.0, 9.1 and 9.2 - - name: AppleClang Xcode-9.0 C++17 Release - env: BUILD_TYPE=Release GSL_CXX_STANDARD=17 - os: osx - osx_image: xcode9 - - name: AppleClang Xcode-9.0 C++14 Debug - env: BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode9 - - name: AppleClang Xcode-9.0 C++14 Release - env: BUILD_TYPE=Release GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode9 - - # Xcode 9.4 - - name: AppleClang Xcode-9.4 C++14 Debug - env: BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode9.4 # AppleClang 9.1.0 same compiler as Xcode 9.3 - - name: AppleClang Xcode-9.4 C++14 Release - env: BUILD_TYPE=Release GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode9.4 - - name: AppleClang Xcode-9.4 C++17 Debug - env: BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - os: osx - osx_image: xcode9.4 - - name: AppleClang Xcode-9.4 C++17 Release - env: BUILD_TYPE=Release GSL_CXX_STANDARD=17 - os: osx - osx_image: xcode9.4 - - # Xcode 10.1 - - name: AppleClang Xcode-10.1 C++14 Debug - env: BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode10.1 # AppleClang 10.0.0 same compiler as Xcode 10.0 - - name: AppleClang Xcode-10.1 C++14 Release - env: BUILD_TYPE=Release GSL_CXX_STANDARD=14 - os: osx - osx_image: xcode10.1 - - name: AppleClang Xcode-10.1 C++17 Debug - env: BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - os: osx - osx_image: xcode10.1 - - name: AppleClang Xcode-10.1 C++17 Release - env: BUILD_TYPE=Release GSL_CXX_STANDARD=17 - os: osx - osx_image: xcode10.1 # Xcode 10.3 - name: AppleClang Xcode-10.3 C++14 Debug + stage: Previous env: BUILD_TYPE=Debug GSL_CXX_STANDARD=14 os: osx osx_image: xcode10.3 # AppleClang 10.0.1 same compiler as Xcode 10.2 @@ -145,157 +83,33 @@ jobs: os: osx osx_image: xcode10.3 - # Xcode 11.3 - - name: AppleClang Xcode-11.3 C++17 Debug + + # Xcode 11.4 + - name: AppleClang Xcode-11.4 C++17 Debug stage: Latest env: BUILD_TYPE=Debug GSL_CXX_STANDARD=17 os: osx - osx_image: xcode11.3 # AppleClang 11.0.0 linker update / same as Xcode 11.2 - - name: AppleClang Xcode-11.3 C++17 Release + osx_image: xcode11.4 + - name: AppleClang Xcode-11.4 C++17 Release env: BUILD_TYPE=Release GSL_CXX_STANDARD=17 os: osx - osx_image: xcode11.3 - - name: AppleClang Xcode-11.3 C++14 Debug + osx_image: xcode11.4 + - name: AppleClang Xcode-11.4 C++14 Debug env: BUILD_TYPE=Debug GSL_CXX_STANDARD=14 os: osx - osx_image: xcode11.3 - - name: AppleClang Xcode-11.3 C++14 Release + osx_image: xcode11.4 + - name: AppleClang Xcode-11.4 C++14 Release env: BUILD_TYPE=Release GSL_CXX_STANDARD=14 os: osx - osx_image: xcode11.3 + osx_image: xcode11.4 ########################################################################## # Clang on Linux ########################################################################## - # Clang 3.6 - - name: Clang-3.6 C++14 Debug - stage: Legacy - dist: xenial - env: CXX=clang++-3.6 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang36 - apt: - packages: - - clang-3.6 - - name: Clang-3.6 C++14 Release - dist: xenial - env: CXX=clang++-3.6 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang36 - - # Clang 3.7 - - name: Clang-3.7 C++14 Debug - dist: xenial - env: CXX=clang++-3.7 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang37 - apt: - packages: - - clang-3.7 - - name: Clang-3.7 C++14 Release - dist: xenial - env: CXX=clang++-3.7 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang37 - - # Clang 3.8 - - name: Clang-3.8 C++14 Debug - dist: xenial - env: CXX=clang++-3.8 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang38 - apt: - packages: - - clang-3.8 - - name: Clang-3.8 C++14 Release - dist: xenial - env: CXX=clang++-3.8 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang38 - - # Clang 3.9 - - name: Clang-3.9 C++14 Debug - env: CXX=clang++-3.9 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang39 - apt: - packages: - - clang-3.9 - - name: Clang-3.9 C++14 Release - env: CXX=clang++-3.9 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang39 - - # Clang 4.0 - - name: Clang-4.0 C++14 Debug - env: CXX=clang++-4.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang40 - apt: - packages: - - clang-4.0 - - name: Clang-4.0 C++14 Release - env: CXX=clang++-4.0 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang40 - - # Clang 5.0 - - name: Clang-5.0 C++14 Debug - env: CXX=clang++-5.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang50 - apt: - packages: - - clang-5.0 - - name: Clang-5.0 C++14 Release - env: CXX=clang++-5.0 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang50 - - name: Clang-5.0 C++17 Debug - env: CXX=clang++-5.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - addons: *clang50 - - name: Clang 5.0 C++17 Release - env: CXX=clang++-5.0 BUILD_TYPE=Release GSL_CXX_STANDARD=17 - addons: *clang50 - - # Clang 6.0 - - name: Clang-6.0 C++14 Debug - env: CXX=clang++-6.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang60 - apt: - packages: - - clang-6.0 - - name: Clang 6.0 C++14 Release - env: CXX=clang++-6.0 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang60 - - name: Clang-6.0 C++17 Debug - env: CXX=clang++-6.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - addons: *clang60 - - name: Clang 6.0 C++17 Release - env: CXX=clang++-6.0 BUILD_TYPE=Release GSL_CXX_STANDARD=17 - addons: *clang60 - - # Clang 7 (default on Xenial and Bionic images) - - name: Clang-7 C++14 Debug - env: CXX=clang++ BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - - name: Clang-7 C++14 Release - env: CXX=clang++ BUILD_TYPE=Release GSL_CXX_STANDARD=14 - - name: Clang-7 C++17 Debug - env: CXX=clang++ BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - - name: Clang-7 C++17 Release - env: CXX=clang++ BUILD_TYPE=Release GSL_CXX_STANDARD=17 - - # Clang 8 - - name: Clang-8 C++14 Debug - env: CXX=clang++-8 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &clang8 - apt: - sources: - - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main' - key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - packages: - - clang-8 - - name: Clang-8 C++14 Release - env: CXX=clang++-8 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *clang8 - - name: Clang-8 C++17 Debug - env: CXX=clang++-8 BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - addons: *clang8 - - name: Clang-8 C++17 Release - env: CXX=clang++-8 BUILD_TYPE=Release GSL_CXX_STANDARD=17 - addons: *clang8 - # Clang 9 - name: Clang-9 C++14 Debug + stage: Previous env: CXX=clang++-9 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 addons: &clang9 apt: @@ -339,37 +153,9 @@ jobs: # GCC on Linux ########################################################################## - # GCC 5 (default on the Xenial image) - - name: GCC-5 C++14 Debug - stage: Legacy - dist: xenial - env: CXX=g++-5 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - - name: GCC-5 C++14 Release - dist: xenial - env: CXX=g++-5 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - - # GCC 6 - - name: GCC-6 C++14 Debug - env: CXX=g++-6 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - addons: &gcc6 - apt: - packages: g++-6 - - name: GCC-6 C++14 Release - env: CXX=g++-6 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - addons: *gcc6 - - # GCC 7 (default on the Bionic image) - - name: GCC-7 C++14 Debug - env: CXX=g++-7 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 - - name: GCC-7 C++14 Release - env: CXX=g++-7 BUILD_TYPE=Release GSL_CXX_STANDARD=14 - - name: GCC-7 C++17 Debug - env: CXX=g++-7 BUILD_TYPE=Debug GSL_CXX_STANDARD=17 - - name: GCC-7 C++17 Release - env: CXX=g++-7 BUILD_TYPE=Release GSL_CXX_STANDARD=17 - # GCC 8 - name: GCC-8 C++14 Debug + stage: Previous env: CXX=g++-8 BUILD_TYPE=Debug GSL_CXX_STANDARD=14 addons: &gcc8 apt: @@ -538,7 +324,7 @@ before_script: - | cd "${TRAVIS_BUILD_DIR:?}" mkdir build && cd build - if [[ ${GSL_CXX_STANDARD:-} ]]; then + if [[ ${GSL_CXX_STANDARD:-} ]]; then CMAKE_GEN_FLAGS=("-DGSL_CXX_STANDARD=$GSL_CXX_STANDARD") fi CMAKE_GEN_FLAGS+=("-Wdev -Werror=dev --warn-uninitialized") diff --git a/README.md b/README.md index f4d4e02..0530e98 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# GSL: Guidelines Support Library [![Build Status](https://travis-ci.org/Microsoft/GSL.svg?branch=master)](https://travis-ci.org/Microsoft/GSL) [![Build status](https://ci.appveyor.com/api/projects/status/github/Microsoft/GSL?svg=true)](https://ci.appveyor.com/project/neilmacintosh/GSL) +# GSL: Guidelines Support Library +[![Build Status](https://travis-ci.org/Microsoft/GSL.svg?branch=master)](https://travis-ci.org/Microsoft/GSL) [![Build status](https://ci.appveyor.com/api/projects/status/github/Microsoft/GSL?svg=true)](https://ci.appveyor.com/project/neilmacintosh/GSL) The Guidelines Support Library (GSL) contains functions and types that are suggested for use by the [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) maintained by the [Standard C++ Foundation](https://isocpp.org). @@ -21,36 +22,33 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope This project makes use of the [Google Test](https://github.com/google/googletest) testing library. Please see the [ThirdPartyNotices.txt](./ThirdPartyNotices.txt) file for details regarding the licensing of Google Test. # Quick Start -## Supported Platforms -The test suite that exercises GSL has been built and passes successfully on the following platforms:1) +## Supported Compilers +The GSL officially supports the current and previous major release of MSVC, GCC, Clang, and XCode's Apple-Clang. +See our latest test results for the most up-to-date list of supported configurations. -* Windows using Visual Studio 2015 -* Windows using Visual Studio 2017 -* Windows using Clang/LLVM 3.6 -* Windows using Clang/LLVM 7.0.0 -* Windows using GCC 5.1 -* Windows using Intel C++ Compiler 18.0 -* GNU/Linux using Clang/LLVM 3.6-3.9 -* GNU/Linux using Clang/LLVM 4.0 -* GNU/Linux using Clang/LLVM 5.0 -* GNU/Linux using Clang/LLVM 6.0 -* GNU/Linux using Clang/LLVM 7.0 -* GNU/Linux using GCC 5.1 -* OS X Mojave 10.14.4 using Apple LLVM version 10.0.0 (10.0.1.10010046) -* OS X Mojave 10.14.3 using Apple LLVM version 10.0.0 (clang-1000.11.45.5) -* OS X Yosemite using Xcode with Apple Clang 7.0.0.7000072 -* OS X Yosemite using GCC-5.2.0 -* OS X Sierra 10.12.4 using Apple LLVM version 8.1.0 (Clang-802.0.42) -* OS X El Capitan (10.11) using Xcode with AppleClang 8.0.0.8000042 -* OS X High Sierra 10.13.2 (17C88) using Apple LLVM version 9.0.0 (clang-900.0.39.2) -* FreeBSD 10.x with Clang/LLVM 3.6 -* iOS 8 and newer using AppleClang 11.0.3.11030032 -* Android 4.1 and newer (API Level 16 and above) using NDK r21b +Compiler |Toolset Versions Currently Tested| Build Status +:------- |:--|------------: + XCode |11.4 & 10.3 | [![Status](https://travis-ci.org/Microsoft/GSL.svg?branch=master)](https://travis-ci.org/Microsoft/GSL) + GCC |9 & 8| [![Status](https://travis-ci.org/Microsoft/GSL.svg?branch=master)](https://travis-ci.org/Microsoft/GSL) + Clang |11 & 10| [![Status](https://travis-ci.org/Microsoft/GSL.svg?branch=master)](https://travis-ci.org/Microsoft/GSL) + Visual Studio with MSVC | VS2017 (15.9) & VS2019 (16.4) | [![Status](https://ci.appveyor.com/api/projects/status/github/Microsoft/GSL?svg=true)](https://ci.appveyor.com/project/neilmacintosh/GSL) + Visual Studio with LLVM | VS2017 (Clang 9) & VS2019 (Clang 10) | [![Status](https://ci.appveyor.com/api/projects/status/github/Microsoft/GSL?svg=true)](https://ci.appveyor.com/project/neilmacintosh/GSL) -> If you successfully port GSL to another platform, we would love to hear from you. Please submit an issue to let us know. Also please consider -contributing any changes that were necessary back to this project to benefit the wider community. -1) For `gsl::byte` to work correctly with Clang and GCC you might have to use the ` -fno-strict-aliasing` compiler option. +Note: For `gsl::byte` to work correctly with Clang and GCC you might have to use the ` -fno-strict-aliasing` compiler option. + +--- +If you successfully port GSL to another platform, we would love to hear from you! +- Submit an issue specifying the platform and target. +- Consider contributing your changes by filing a pull request with any necessary changes. +- If at all possible, add a CI/CD step and add the button to the table below! + +Target | CI/CD Status +:------- | -----------: +iOS | ![CI](https://github.com/microsoft/GSL/workflows/CI/badge.svg) +Android | ![CI](https://github.com/microsoft/GSL/workflows/CI/badge.svg) + +Note: These CI/CD steps are run with each pull request, however failures in them are non-blocking. ## Building the tests To build the tests, you will require the following: diff --git a/appveyor.yml b/appveyor.yml index 6feaf7c..f0c686b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,7 +9,6 @@ configuration: - Release image: - - Visual Studio 2015 - Visual Studio 2017 - Visual Studio 2019 @@ -17,7 +16,6 @@ environment: NINJA_TAG: v1.8.2 NINJA_SHA512: 9B9CE248240665FCD6404B989F3B3C27ED9682838225E6DC9B67B551774F251E4FF8A207504F941E7C811E7A8BE1945E7BCB94472A335EF15E23A0200A32E6D5 NINJA_PATH: C:\Tools\ninja\ninja-%NINJA_TAG% - VCVAR2015: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat' VCVAR2017: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat' VCVAR2019: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat' matrix: @@ -34,14 +32,6 @@ environment: USE_TOOLSET: LLVM USE_GENERATOR: Ninja -matrix: - exclude: - - image: Visual Studio 2015 - GSL_CXX_STANDARD: 17 - - image: Visual Studio 2015 - USE_TOOLSET: LLVM - USE_GENERATOR: MSBuild - cache: - C:\cmake-3.14.4-win32-x86 - C:\Tools\ninja @@ -72,9 +62,7 @@ before_build: if ("$env:USE_GENERATOR" -eq "Ninja") { $GeneratorFlags = '-k 10' $Architecture = $env:PLATFORM - if ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2015") { - $env:VCVARSALL = "`"$env:VCVAR2015`" $Architecture" - } elseif ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2017") { + if ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2017") { $env:VCVARSALL = "`"$env:VCVAR2017`" $Architecture" } else { $env:VCVARSALL = "`"$env:VCVAR2019`" $Architecture" @@ -82,17 +70,15 @@ before_build: $env:CMakeGenFlags = "-G Ninja -DGSL_CXX_STANDARD=$env:GSL_CXX_STANDARD" } else { $GeneratorFlags = '/m /v:minimal' - if ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2015") { - $Generator = 'Visual Studio 14 2015' - } elseif ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2017") { + if ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2017") { $Generator = 'Visual Studio 15 2017' } else { $Generator = 'Visual Studio 16 2019' } - if ("$env:PLATFORM" -eq "x86") { + if ("$env:PLATFORM" -eq "x86") { $Architecture = "Win32" - } else { - $Architecture = "x64" + } else { + $Architecture = "x64" } if ("$env:USE_TOOLSET" -eq "LLVM") { $env:CMakeGenFlags = "-G `"$Generator`" -A $Architecture -T llvm -DGSL_CXX_STANDARD=$env:GSL_CXX_STANDARD" diff --git a/include/gsl/gsl_util b/include/gsl/gsl_util index bc65923..d4f5563 100644 --- a/include/gsl/gsl_util +++ b/include/gsl/gsl_util @@ -30,18 +30,8 @@ #pragma warning(push) #pragma warning(disable : 4127) // conditional expression is constant -#if _MSC_VER < 1910 -#pragma push_macro("constexpr") -#define constexpr /*constexpr*/ -#endif // _MSC_VER < 1910 #endif // _MSC_VER -#if (defined(_MSC_VER) && _MSC_VER < 1910) || (!defined(__clang__) && defined(__GNUC__) && __GNUC__ < 6) -#define GSL_CONSTEXPR_NARROW 0 -#else -#define GSL_CONSTEXPR_NARROW 1 -#endif - namespace gsl { // @@ -113,9 +103,7 @@ namespace details template GSL_SUPPRESS(type.1) // NO-FORMAT: attribute GSL_SUPPRESS(f.6) // NO-FORMAT: attribute // TODO: MSVC /analyze does not recognise noexcept(false) -#if GSL_CONSTEXPR_NARROW constexpr -#endif T narrow(U u) noexcept(false) { T t = narrow_cast(u); @@ -158,11 +146,6 @@ constexpr T at(const std::initializer_list cont, const index i) } // namespace gsl #if defined(_MSC_VER) && !defined(__clang__) -#if _MSC_VER < 1910 -#undef constexpr -#pragma pop_macro("constexpr") - -#endif // _MSC_VER < 1910 #pragma warning(pop) diff --git a/include/gsl/span b/include/gsl/span index 80c1a3e..04d2d69 100644 --- a/include/gsl/span +++ b/include/gsl/span @@ -38,12 +38,6 @@ #pragma warning(disable : 26495) // uninitalized member when constructor calls constructor #pragma warning(disable : 26446) // parser bug does not allow attributes on some templates -#if _MSC_VER < 1910 -#pragma push_macro("constexpr") -#define constexpr /*constexpr*/ -#define GSL_USE_STATIC_CONSTEXPR_WORKAROUND - -#endif // _MSC_VER < 1910 #endif // _MSC_VER // See if we have enough C++17 power to use a static constexpr data member @@ -803,11 +797,6 @@ as_writable_bytes(span s) noexcept } // namespace gsl #if defined(_MSC_VER) && !defined(__clang__) -#if _MSC_VER < 1910 -#undef constexpr -#pragma pop_macro("constexpr") - -#endif // _MSC_VER < 1910 #pragma warning(pop) #endif // _MSC_VER diff --git a/include/gsl/string_span b/include/gsl/string_span index 17df7fb..092c8d8 100644 --- a/include/gsl/string_span +++ b/include/gsl/string_span @@ -36,11 +36,6 @@ #pragma warning(disable : 26446) // TODO: bug in parser - attributes and templates #pragma warning(disable : 26481) // TODO: suppress does not work inside templates sometimes -#if _MSC_VER < 1910 -#pragma push_macro("constexpr") -#define constexpr /*constexpr*/ - -#endif // _MSC_VER < 1910 #endif // _MSC_VER namespace gsl @@ -706,11 +701,6 @@ bool operator>=(const T& one, gsl::basic_string_span other) #if defined(_MSC_VER) && !defined(__clang__) #pragma warning(pop) -#if _MSC_VER < 1910 -#undef constexpr -#pragma pop_macro("constexpr") - -#endif // _MSC_VER < 1910 #endif // _MSC_VER #endif // GSL_STRING_SPAN_H diff --git a/tests/utils_tests.cpp b/tests/utils_tests.cpp index f6d9fd7..ac83e2d 100644 --- a/tests/utils_tests.cpp +++ b/tests/utils_tests.cpp @@ -122,8 +122,4 @@ TEST(utils_tests, narrow) n = -42; EXPECT_THROW(narrow(n), narrowing_error); - -#if GSL_CONSTEXPR_NARROW - static_assert(narrow(120) == 120, "Fix GSL_CONSTEXPR_NARROW"); -#endif }