diff options
author | Aleksandar Trifunovic | 2018-08-20 11:47:25 +0200 |
---|---|---|
committer | Aleksandar Trifunovic | 2018-08-20 11:47:56 +0200 |
commit | 1fbc08bad039827884484bffc00a9f7e12a56880 (patch) | |
tree | 7c6618c4ab8db599466d504b22598e103c497f09 | |
parent | a8fd971ce7b11407031b2e63f0dcbdab95ff0870 (diff) | |
download | aur-1fbc08bad039827884484bffc00a9f7e12a56880.tar.gz |
v2.0.0 bump; remove gcc patch; remove system catch patch (upstream git clones catch)
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | gcc_unsigned_error.patch | 174 | ||||
-rw-r--r-- | use_system_catch2.patch | 47 |
4 files changed, 8 insertions, 243 deletions
@@ -1,18 +1,14 @@ pkgbase = microsoft-gsl pkgdesc = C++ Core Guidelines Support Library - pkgver = 1.0.0 + pkgver = 2.0.0 pkgrel = 1 url = https://github.com/Microsoft/GSL arch = any license = MIT makedepends = cmake - makedepends = catch2 - source = https://github.com/Microsoft/GSL/archive/v1.0.0.tar.gz - source = gcc_unsigned_error.patch - source = use_system_catch2.patch - sha256sums = 9694b04cd78e5b1a769868f19fdd9eea2002de3d4c3a81a1b769209364543c36 - sha256sums = c558af38ad46d26b65f0d4d7091fd0b034ffde860b5c5546cda7c43942d93b4b - sha256sums = 984e53dbccf938725519be8fd0b46c67f6f60d2d573a6b0ab82fbe94fce3f43c + makedepends = git + source = https://github.com/Microsoft/GSL/archive/v2.0.0.tar.gz + sha256sums = 6cce6fb16b651e62711a4f58e484931013c33979b795d1b1f7646f640cfa9c8e pkgname = microsoft-gsl @@ -2,25 +2,15 @@ _pkgname=GSL pkgname=microsoft-gsl -pkgver=1.0.0 +pkgver=2.0.0 pkgrel=1 pkgdesc="C++ Core Guidelines Support Library" arch=('any') url="https://github.com/Microsoft/GSL" license=('MIT') -makedepends=('cmake' 'catch2') -source=("https://github.com/Microsoft/GSL/archive/v${pkgver}.tar.gz" - "gcc_unsigned_error.patch" - "use_system_catch2.patch") -sha256sums=('9694b04cd78e5b1a769868f19fdd9eea2002de3d4c3a81a1b769209364543c36' - 'c558af38ad46d26b65f0d4d7091fd0b034ffde860b5c5546cda7c43942d93b4b' - '984e53dbccf938725519be8fd0b46c67f6f60d2d573a6b0ab82fbe94fce3f43c') - -prepare() { - cd "$_pkgname-$pkgver" - patch -Np1 -i "$srcdir/gcc_unsigned_error.patch" - patch -Np1 -i "$srcdir/use_system_catch2.patch" -} +makedepends=('cmake' 'git') +source=("$url/archive/v${pkgver}.tar.gz") +sha256sums=('6cce6fb16b651e62711a4f58e484931013c33979b795d1b1f7646f640cfa9c8e') build() { cd "$_pkgname-$pkgver" diff --git a/gcc_unsigned_error.patch b/gcc_unsigned_error.patch deleted file mode 100644 index e5490d66a547..000000000000 --- a/gcc_unsigned_error.patch +++ /dev/null @@ -1,174 +0,0 @@ -diff --git a/include/gsl/multi_span b/include/gsl/multi_span -index 65e65a1..f697093 100644 ---- a/include/gsl/multi_span -+++ b/include/gsl/multi_span -@@ -51,6 +51,16 @@ - #endif // _MSC_VER < 1910 - #endif // _MSC_VER - -+// GCC 7 does not like the signed unsigned missmatch (size_t ptrdiff_t) -+// While there is a conversion from signed to unsigned, it happens at -+// compiletime, so the compiler wouldn't have to warn indiscriminently, but -+// could check if the source value actually doesn't fit into the target type -+// and only warn in those cases. -+#if __GNUC__ > 6 -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wsign-conversion" -+#endif -+ - #ifdef GSL_THROW_ON_CONTRACT_VIOLATION - #define GSL_NOEXCEPT /*noexcept*/ - #else -@@ -2225,4 +2235,8 @@ general_span_iterator<Span> operator+(typename general_span_iterator<Span>::diff - - #endif // _MSC_VER - -+#if __GNUC__ > 6 -+#pragma GCC diagnostic pop -+#endif // __GNUC__ > 6 -+ - #endif // GSL_MULTI_SPAN_H -diff --git a/include/gsl/span b/include/gsl/span -index 6dd1c1f..2fa9cc5 100644 ---- a/include/gsl/span -+++ b/include/gsl/span -@@ -58,6 +58,16 @@ - - #endif // _MSC_VER - -+// GCC 7 does not like the signed unsigned missmatch (size_t ptrdiff_t) -+// While there is a conversion from signed to unsigned, it happens at -+// compiletime, so the compiler wouldn't have to warn indiscriminently, but -+// could check if the source value actually doesn't fit into the target type -+// and only warn in those cases. -+#if __GNUC__ > 6 -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wsign-conversion" -+#endif -+ - namespace gsl - { - -@@ -191,6 +201,11 @@ namespace details - return ret += n; - } - -+ friend constexpr span_iterator operator+(difference_type n, span_iterator const& rhs) -+ { -+ return rhs + n; -+ } -+ - constexpr span_iterator& operator+=(difference_type n) - { - Expects((index_ + n) >= 0 && (index_ + n) <= span_->size()); -@@ -253,27 +268,49 @@ namespace details - return !(rhs > lhs); - } - -+#ifdef _MSC_VER -+ // MSVC++ iterator debugging support; allows STL algorithms in 15.8+ -+ // to unwrap span_iterator to a pointer type after a range check in STL -+ // algorithm calls -+ friend constexpr void _Verify_range(span_iterator lhs, -+ span_iterator rhs) noexcept -+ { // test that [lhs, rhs) forms a valid range inside an STL algorithm -+ Expects(lhs.span_ == rhs.span_ // range spans have to match -+ && lhs.index_ <= rhs.index_); // range must not be transposed -+ } -+ -+ constexpr void _Verify_offset(const difference_type n) const noexcept -+ { // test that the iterator *this + n is a valid range in an STL -+ // algorithm call -+ Expects((index_ + n) >= 0 && (index_ + n) <= span_->size()); -+ } -+ -+ constexpr pointer _Unwrapped() const noexcept -+ { // after seeking *this to a high water mark, or using one of the -+ // _Verify_xxx functions above, unwrap this span_iterator to a raw -+ // pointer -+ return span_->data() + index_; -+ } -+ -+ // Tell the STL that span_iterator should not be unwrapped if it can't -+ // validate in advance, even in release / optimized builds: -+#if defined(GSL_USE_STATIC_CONSTEXPR_WORKAROUND) -+ static constexpr const bool _Unwrap_when_unverified = false; -+#else -+ static constexpr bool _Unwrap_when_unverified = false; -+#endif -+ constexpr void _Seek_to(const pointer p) noexcept -+ { // adjust the position of *this to previously verified location p -+ // after _Unwrapped -+ index_ = p - span_->data(); -+ } -+#endif -+ - protected: - const Span* span_ = nullptr; - std::ptrdiff_t index_ = 0; - }; - -- template <class Span, bool IsConst> -- constexpr span_iterator<Span, IsConst> -- operator+(typename span_iterator<Span, IsConst>::difference_type n, -- span_iterator<Span, IsConst> rhs) -- { -- return rhs + n; -- } -- -- template <class Span, bool IsConst> -- constexpr span_iterator<Span, IsConst> -- operator-(typename span_iterator<Span, IsConst>::difference_type n, -- span_iterator<Span, IsConst> rhs) -- { -- return rhs - n; -- } -- - template <std::ptrdiff_t Ext> - class extent_type - { -@@ -418,7 +455,7 @@ public: - - ~span() noexcept = default; - constexpr span& operator=(const span& other) noexcept = default; -- -+ - // [span.sub], span subviews - template <std::ptrdiff_t Count> - constexpr span<element_type, Count> first() const -@@ -493,10 +530,16 @@ public: - constexpr const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator{cend()}; } - constexpr const_reverse_iterator crend() const noexcept { return const_reverse_iterator{cbegin()}; } - -+#ifdef _MSC_VER -+ // Tell MSVC how to unwrap spans in range-based-for -+ constexpr pointer _Unchecked_begin() const noexcept { return data(); } -+ constexpr pointer _Unchecked_end() const noexcept { return data() + size(); } -+#endif // _MSC_VER -+ - private: - - // Needed to remove unnecessary null check in subspans -- struct KnownNotNull -+ struct KnownNotNull - { - pointer p; - }; -@@ -508,7 +551,7 @@ private: - class storage_type : public ExtentType - { - public: -- // KnownNotNull parameter is needed to remove unnecessary null check -+ // KnownNotNull parameter is needed to remove unnecessary null check - // in subspans and constructors from arrays - template <class OtherExtentType> - constexpr storage_type(KnownNotNull data, OtherExtentType ext) : ExtentType(ext), data_(data.p) -@@ -716,4 +759,8 @@ constexpr ElementType& at(span<ElementType, Extent> s, index i) - #pragma warning(pop) - #endif // _MSC_VER - -+#if __GNUC__ > 6 -+#pragma GCC diagnostic pop -+#endif // __GNUC__ > 6 -+ - #endif // GSL_SPAN_H diff --git a/use_system_catch2.patch b/use_system_catch2.patch deleted file mode 100644 index cc7eef3697d7..000000000000 --- a/use_system_catch2.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dcb6d89..e0c68f2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.7) - - project(GSL CXX) - --include(ExternalProject) --find_package(Git) -- - # creates a library GSL which is an interface (header files only) - add_library(GSL INTERFACE) - -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 0e08d77..7d0f0f0 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -5,26 +5,8 @@ project(GSLTests CXX) - # will make visual studio generated project group files - set_property(GLOBAL PROPERTY USE_FOLDERS ON) - --list(APPEND CATCH_CMAKE_ARGS -- "-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/external" -- "-DNO_SELFTEST=true" --) -- --if(GIT_FOUND) -- # add catch -- ExternalProject_Add( -- catch -- PREFIX ${CMAKE_BINARY_DIR}/catch -- GIT_REPOSITORY https://github.com/catchorg/Catch2.git -- GIT_TAG v2.0.1 -- CMAKE_ARGS ${CATCH_CMAKE_ARGS} -- LOG_DOWNLOAD 1 -- UPDATE_DISCONNECTED 1 -- ) --else() -- # assume catch is installed in a system directory -- add_custom_target(catch) --endif() -+# assume catch is installed in a system directory -+add_custom_target(catch) - - # this interface adds compile options to how the tests are run - # please try to keep entries ordered =) |