all: CI and misc updates

This commit is contained in:
Markus F.X.J. Oberhumer
2023-06-06 23:16:28 +02:00
parent dae45ae0d4
commit db39f9c4dc
17 changed files with 1608 additions and 40 deletions
+2 -1
View File
@@ -56,7 +56,8 @@ ACC_COMPILE_TIME_ASSERT_HEADER((char)(-1) == 255) // -funsigned-char
// don't enable before gcc-10 because of gcc bug #78010
# pragma GCC diagnostic error "-Wsuggest-override"
#endif
#if (ACC_CC_CLANG >= 0x050000)
#if (ACC_CC_CLANG >= 0x080000)
// don't enable before clang-8 because of stddef.h issues
# pragma clang diagnostic error "-Wzero-as-null-pointer-constant"
#elif (ACC_CC_GNUC >= 0x040700) && defined(__GLIBC__)
// Some non-GLIBC toolchains do not use 'nullptr' everywhere when C++:
+6 -3
View File
@@ -65,7 +65,7 @@ bool PackW64PeArm64::canPack() {
checkMachine(ih.cpu);
if (ih.cpu != IMAGE_FILE_MACHINE_ARM64)
return false;
throwCantPack("not yet implemented");
throwCantPack("win64/arm64 is not yet implemented");
return true;
}
@@ -106,9 +106,12 @@ void PackW64PeArm64::pack(OutputFile *fo) {
**************************************************************************/
bool PackW64PeArm64EC::canPack() {
if (!readFileHeader() || ih.cpu != IMAGE_FILE_MACHINE_ARM64EC)
if (!readFileHeader())
return false;
throwCantPack("not yet implemented");
checkMachine(ih.cpu);
if (ih.cpu != IMAGE_FILE_MACHINE_ARM64EC)
return false;
throwCantPack("win64/arm64ec is not yet implemented");
return true;
}
+4 -4
View File
@@ -68,17 +68,17 @@ raw_index_bytes(T ptr, size_t index, size_t size_in_bytes) {
// same for bounded arrays
template <class T, size_t N>
inline T *raw_bytes(T (&a)[N], size_t size_in_bytes) {
inline T *raw_bytes(T (&array)[N], size_t size_in_bytes) {
typedef T element_type;
if very_unlikely (size_in_bytes > mem_size(sizeof(element_type), N))
throwCantPack("raw_bytes out of range");
return a;
return array;
}
template <class T, size_t N>
inline T *raw_index_bytes(T (&a)[N], size_t index, size_t size_in_bytes) {
inline T *raw_index_bytes(T (&array)[N], size_t index, size_t size_in_bytes) {
typedef T element_type;
return raw_bytes(a, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
return raw_bytes(array, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
}
/* vim:set ts=4 sw=4 et: */
+18 -18
View File
@@ -85,14 +85,14 @@ using XSPAN_NAMESPACE_NAME::raw_index_bytes; // overloaded for all classes
#define XSPAN_S(type) Span<type>
// create a value
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(first, ##__VA_ARGS__))
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(first, ##__VA_ARGS__))
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(first, ##__VA_ARGS__))
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)((first), ##__VA_ARGS__))
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)((first), ##__VA_ARGS__))
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)((first), ##__VA_ARGS__))
// define a variable
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var(first, ##__VA_ARGS__)
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var(first, ##__VA_ARGS__)
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var(first, ##__VA_ARGS__)
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var((first), ##__VA_ARGS__)
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var((first), ##__VA_ARGS__)
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var((first), ##__VA_ARGS__)
#elif WITH_XSPAN >= 1
@@ -103,14 +103,14 @@ using XSPAN_NAMESPACE_NAME::raw_index_bytes; // overloaded for all classes
#define XSPAN_S(type) Ptr<type>
// create a value
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(first))
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(first))
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(first))
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)((first)))
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)((first)))
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)((first)))
// define a variable
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var(first)
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var(first)
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var(first)
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var((first))
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var((first))
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var((first))
#else // WITH_XSPAN
@@ -135,14 +135,14 @@ inline R *xspan_make_helper__(R * /*dummy*/, MemBuffer &first) {
#define XSPAN_S(type) type *
// create a value
#define XSPAN_0_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, first))
#define XSPAN_P_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, first))
#define XSPAN_S_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, first))
#define XSPAN_0_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, (first)))
#define XSPAN_P_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, (first)))
#define XSPAN_S_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, (first)))
// define a variable
#define XSPAN_0_VAR(type, var, first, ...) type *var = XSPAN_0_MAKE(type, first)
#define XSPAN_P_VAR(type, var, first, ...) type *var = XSPAN_P_MAKE(type, first)
#define XSPAN_S_VAR(type, var, first, ...) type *var = XSPAN_S_MAKE(type, first)
#define XSPAN_0_VAR(type, var, first, ...) type *var = XSPAN_0_MAKE(type, (first))
#define XSPAN_P_VAR(type, var, first, ...) type *var = XSPAN_P_MAKE(type, (first))
#define XSPAN_S_VAR(type, var, first, ...) type *var = XSPAN_S_MAKE(type, (first))
#endif // WITH_XSPAN
+1 -1
View File
@@ -34,7 +34,7 @@
#ifndef XSPAN_FWD_C_IS_MEMBUFFER
template <class T, class U>
inline typename std::enable_if<std::is_integral<U>::value, void *>::type operator+(U, const C<T> &)
DELETED_FUNCTION;
XSPAN_DELETED_FUNCTION;
#endif // XSPAN_FWD_C_IS_MEMBUFFER
/*************************************************************************