CI updates
This commit is contained in:
parent
5dbf94e49b
commit
f7146b5af9
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
@ -40,6 +40,7 @@ jobs:
|
|||||||
apt-get update && apt-get upgrade -y
|
apt-get update && apt-get upgrade -y
|
||||||
# install system packages
|
# install system packages
|
||||||
apt-get install -y --no-install-recommends bash ca-certificates curl git libmpc3 make perl-base python3-minimal tar time xz-utils libc6:i386 zlib1g:i386
|
apt-get install -y --no-install-recommends bash ca-certificates curl git libmpc3 make perl-base python3-minimal tar time xz-utils libc6:i386 zlib1g:i386
|
||||||
|
apt-get install -y gcc-riscv64-linux-gnu
|
||||||
mkdir ../deps; cd ../deps; mkdir packages
|
mkdir ../deps; cd ../deps; mkdir packages
|
||||||
### install python2-minimal packages from Debian-11
|
### install python2-minimal packages from Debian-11
|
||||||
## curl -sS -L -O https://ftp.debian.org/debian/pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_amd64.deb
|
## curl -sS -L -O https://ftp.debian.org/debian/pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_amd64.deb
|
||||||
@ -292,10 +293,10 @@ jobs:
|
|||||||
include:
|
include:
|
||||||
# NOTE: Xcode updates regularly tend to break Homebrew clang/gcc; often some ld64 issue; use "xcode_version" as needed; or try "-Wl,-ld_classic"
|
# NOTE: Xcode updates regularly tend to break Homebrew clang/gcc; often some ld64 issue; use "xcode_version" as needed; or try "-Wl,-ld_classic"
|
||||||
# NOTE: macos does not have "env -C"; only with brew coreutils
|
# NOTE: macos does not have "env -C"; only with brew coreutils
|
||||||
- { os: macos-13, gcc: gcc-12, gxx: g++-12, testsuite: true }
|
|
||||||
- { os: macos-14, gcc: gcc-13, gxx: g++-13, testsuite: true }
|
- { os: macos-14, gcc: gcc-13, gxx: g++-13, testsuite: true }
|
||||||
- { os: macos-15, gcc: gcc-14, gxx: g++-14, testsuite: true }
|
- { os: macos-15, gcc: gcc-14, gxx: g++-14, testsuite: true }
|
||||||
- { os: macos-26, gcc: gcc-15, gxx: g++-15, testsuite: true }
|
- { os: macos-26, gcc: gcc-15, gxx: g++-15, testsuite: true }
|
||||||
|
- { os: macos-15-intel, gcc: gcc-14, gxx: g++-14, testsuite: true }
|
||||||
name: ${{ format('{0} {1}{2}', matrix.os, matrix.xcode_version && 'xcode-' || '', matrix.xcode_version) }}
|
name: ${{ format('{0} {1}{2}', matrix.os, matrix.xcode_version && 'xcode-' || '', matrix.xcode_version) }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@ -119,6 +119,7 @@ forceinline ~CSelf() noexcept {}
|
|||||||
size_in_bytes = 0;
|
size_in_bytes = 0;
|
||||||
assertInvariants();
|
assertInvariants();
|
||||||
}
|
}
|
||||||
|
|
||||||
// constructors from pointers
|
// constructors from pointers
|
||||||
CSelf(pointer first, XSpanCount count)
|
CSelf(pointer first, XSpanCount count)
|
||||||
: ptr(makePtr(first)), base(makeBase(first)),
|
: ptr(makePtr(first)), base(makeBase(first)),
|
||||||
@ -177,6 +178,7 @@ forceinline ~CSelf() noexcept {}
|
|||||||
makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
|
makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
|
||||||
CSelf(std::nullptr_t, MemBuffer &) XSPAN_DELETED_FUNCTION;
|
CSelf(std::nullptr_t, MemBuffer &) XSPAN_DELETED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// disable constructors from nullptr to catch compile-time misuse
|
// disable constructors from nullptr to catch compile-time misuse
|
||||||
private:
|
private:
|
||||||
CSelf(std::nullptr_t, XSpanCount) XSPAN_DELETED_FUNCTION;
|
CSelf(std::nullptr_t, XSpanCount) XSPAN_DELETED_FUNCTION;
|
||||||
@ -404,7 +406,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
pointer check_deref(pointer p) const {
|
pointer check_deref(pointer p) const may_throw {
|
||||||
assertInvariants();
|
assertInvariants();
|
||||||
if __acc_cte (!configRequirePtr && p == nullptr)
|
if __acc_cte (!configRequirePtr && p == nullptr)
|
||||||
xspan_fail_nullptr();
|
xspan_fail_nullptr();
|
||||||
@ -412,7 +414,7 @@ private:
|
|||||||
xspan_check_range(p, base, size_in_bytes - sizeof(T));
|
xspan_check_range(p, base, size_in_bytes - sizeof(T));
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
pointer check_deref(pointer p, ptrdiff_t n) const {
|
pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
|
||||||
assertInvariants();
|
assertInvariants();
|
||||||
if __acc_cte (!configRequirePtr && p == nullptr)
|
if __acc_cte (!configRequirePtr && p == nullptr)
|
||||||
xspan_fail_nullptr();
|
xspan_fail_nullptr();
|
||||||
@ -422,7 +424,7 @@ private:
|
|||||||
xspan_check_range(p, base, size_in_bytes - sizeof(T));
|
xspan_check_range(p, base, size_in_bytes - sizeof(T));
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
pointer check_add(pointer p, ptrdiff_t n) const {
|
pointer check_add(pointer p, ptrdiff_t n) const may_throw {
|
||||||
assertInvariants();
|
assertInvariants();
|
||||||
if __acc_cte (!configRequirePtr && p == nullptr)
|
if __acc_cte (!configRequirePtr && p == nullptr)
|
||||||
xspan_fail_nullptr();
|
xspan_fail_nullptr();
|
||||||
@ -442,7 +444,7 @@ public: // raw access
|
|||||||
pointer raw_base() const noexcept { return base; }
|
pointer raw_base() const noexcept { return base; }
|
||||||
size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
|
size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
|
||||||
|
|
||||||
pointer raw_bytes(size_t bytes) const {
|
pointer raw_bytes(size_t bytes) const may_throw {
|
||||||
assertInvariants();
|
assertInvariants();
|
||||||
if (bytes > 0) {
|
if (bytes > 0) {
|
||||||
if __acc_cte (!configRequirePtr && ptr == nullptr)
|
if __acc_cte (!configRequirePtr && ptr == nullptr)
|
||||||
|
|||||||
@ -80,6 +80,7 @@ public:
|
|||||||
ptr_invalidate_and_poison(ptr); // point to non-null invalid address
|
ptr_invalidate_and_poison(ptr); // point to non-null invalid address
|
||||||
assertInvariants();
|
assertInvariants();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline CSelf() { assertInvariants(); }
|
inline CSelf() { assertInvariants(); }
|
||||||
|
|
||||||
// constructors from pointers
|
// constructors from pointers
|
||||||
@ -132,7 +133,6 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// comparison
|
// comparison
|
||||||
|
|
||||||
bool operator==(pointer other) const noexcept { return ptr == other; }
|
bool operator==(pointer other) const noexcept { return ptr == other; }
|
||||||
template <class U>
|
template <class U>
|
||||||
XSPAN_REQUIRES_CONVERTIBLE_R(bool)
|
XSPAN_REQUIRES_CONVERTIBLE_R(bool)
|
||||||
@ -204,7 +204,7 @@ private:
|
|||||||
public: // raw access
|
public: // raw access
|
||||||
pointer raw_ptr() const noexcept { return ptr; }
|
pointer raw_ptr() const noexcept { return ptr; }
|
||||||
|
|
||||||
pointer raw_bytes(size_t bytes) const {
|
pointer raw_bytes(size_t bytes) const may_throw {
|
||||||
assertInvariants();
|
assertInvariants();
|
||||||
if (bytes > 0) {
|
if (bytes > 0) {
|
||||||
if very_unlikely (ptr == nullptr)
|
if very_unlikely (ptr == nullptr)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user