all: cleanups
This commit is contained in:
+14
-3
@@ -122,6 +122,18 @@ ACC_COMPILE_TIME_ASSERT_HEADER(!compile_time::string_gt("abc", "abz"))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER(!compile_time::string_ge("abc", "abz"))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER(compile_time::string_le("abc", "abz"))
|
||||
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER(CHAR_BIT == 8)
|
||||
#if '\0' - 1 < 0
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER(CHAR_MAX == 127)
|
||||
#else
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER(CHAR_MAX == 255)
|
||||
#endif
|
||||
#if L'\0' - 1 < 0
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((wchar_t) -1 < 0)
|
||||
#else
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((wchar_t) -1 > 0)
|
||||
#endif
|
||||
|
||||
/*************************************************************************
|
||||
// upx_compiler_sanity_check()
|
||||
// assert a sane architecture and compiler
|
||||
@@ -133,9 +145,8 @@ template <class T>
|
||||
struct TestBELE {
|
||||
__acc_static_noinline bool test(void) {
|
||||
// POD checks
|
||||
// COMPILE_TIME_ASSERT(std::is_pod<T>::value); // deprecated in C++20
|
||||
COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value);
|
||||
COMPILE_TIME_ASSERT(std::is_trivial<T>::value);
|
||||
COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
|
||||
COMPILE_TIME_ASSERT(std::is_trivial<T>::value)
|
||||
// alignment checks
|
||||
{
|
||||
COMPILE_TIME_ASSERT_ALIGNED1(T)
|
||||
|
||||
+2
-2
@@ -43,10 +43,10 @@ enum {
|
||||
CMD_FILEINFO,
|
||||
CMD_HELP,
|
||||
CMD_LICENSE,
|
||||
CMD_VERSION
|
||||
CMD_VERSION,
|
||||
};
|
||||
|
||||
struct options_t {
|
||||
struct options_t final {
|
||||
int cmd;
|
||||
|
||||
// compression options
|
||||
|
||||
+1
-1
@@ -252,7 +252,7 @@ Packer *PackMaster::getUnpacker(InputFile *f) {
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
// delegation
|
||||
// delegation from work.cpp
|
||||
**************************************************************************/
|
||||
|
||||
void PackMaster::pack(OutputFile *fo) {
|
||||
|
||||
+5
-4
@@ -25,8 +25,9 @@
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef __UPX_PACKMASTER_H
|
||||
#define __UPX_PACKMASTER_H 1
|
||||
#pragma once
|
||||
#ifndef UPX_PACKMASTER_H__
|
||||
#define UPX_PACKMASTER_H__ 1
|
||||
|
||||
class Packer;
|
||||
class InputFile;
|
||||
@@ -36,10 +37,10 @@ class OutputFile;
|
||||
// interface for work.cpp
|
||||
**************************************************************************/
|
||||
|
||||
class PackMaster {
|
||||
class PackMaster final {
|
||||
public:
|
||||
PackMaster(InputFile *f, options_t *o = nullptr);
|
||||
virtual ~PackMaster();
|
||||
~PackMaster();
|
||||
|
||||
void pack(OutputFile *fo);
|
||||
void unpack(OutputFile *fo);
|
||||
|
||||
+5
-5
@@ -236,7 +236,7 @@ protected:
|
||||
PEDIR_BOUNDIM = 11,
|
||||
PEDIR_IAT = 12,
|
||||
PEDIR_DELAYIMP = 13, // Delay Import Descriptor
|
||||
PEDIR_COMRT = 14 // Com+ Runtime Header
|
||||
PEDIR_COMRT = 14, // Com+ Runtime Header
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -251,7 +251,7 @@ protected:
|
||||
PEFL_SHARED = 0x10000000,
|
||||
PEFL_EXEC = 0x20000000,
|
||||
PEFL_READ = 0x40000000,
|
||||
PEFL_WRITE = 0x80000000
|
||||
PEFL_WRITE = 0x80000000,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -267,7 +267,7 @@ protected:
|
||||
REMOVABLE_SWAP = 0x0400,
|
||||
SYSTEM_PROGRAM = 0x1000,
|
||||
DLL_FLAG = 0x2000,
|
||||
FBIG_ENDIAN = 0x8000
|
||||
FBIG_ENDIAN = 0x8000,
|
||||
};
|
||||
|
||||
//NEW: DLL characteristics definition for ASLR, ... - Stefan Widmann
|
||||
@@ -281,7 +281,7 @@ protected:
|
||||
IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800,
|
||||
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000,
|
||||
IMAGE_DLLCHARACTERISTICS_CONTROL_FLOW_GUARD = 0x4000,
|
||||
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000
|
||||
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -297,7 +297,7 @@ protected:
|
||||
IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12,
|
||||
IMAGE_SUBSYSTEM_EFI_ROM = 13,
|
||||
IMAGE_SUBSYSTEM_XBOX = 14,
|
||||
IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16
|
||||
IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16,
|
||||
};
|
||||
|
||||
// predefined resource types
|
||||
|
||||
+8
-12
@@ -143,31 +143,27 @@ struct XSpan_is_convertible
|
||||
typename detail::XSpan_void_to_T<From, To>::type> {};
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#if DEBUG
|
||||
// char => char
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<char, char>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<char, const char>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<const char, const char>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((!XSpan_is_convertible<const char, char>::value))
|
||||
|
||||
// void => void
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<void, void>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<void, const void>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<const void, const void>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((!XSpan_is_convertible<const void, void>::value))
|
||||
|
||||
// char => void
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<char, void>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<char, const void>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((XSpan_is_convertible<const char, const void>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((!XSpan_is_convertible<const char, void>::value))
|
||||
|
||||
// void => char
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((!XSpan_is_convertible<void, char>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((!XSpan_is_convertible<void, const char>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((!XSpan_is_convertible<const void, const char>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER((!XSpan_is_convertible<const void, char>::value))
|
||||
|
||||
// char => int
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER(!(XSpan_is_convertible<char, int>::value))
|
||||
ACC_COMPILE_TIME_ASSERT_HEADER(!(XSpan_is_convertible<char, const int>::value))
|
||||
@@ -200,14 +196,14 @@ XSPAN_NAMESPACE_END
|
||||
#ifndef XSPAN_DELETED_FUNCTION
|
||||
#define XSPAN_DELETED_FUNCTION = delete
|
||||
#endif
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_UT(T, U, RType) \
|
||||
typename std::enable_if<XSPAN_NS(XSpan_is_convertible) < U, T>::value, RType > ::type
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_ANY_DIRECTION(T, U, RType) \
|
||||
typename std::enable_if<XSPAN_NS(XSpan_is_convertible) < U, T>::value || \
|
||||
XSPAN_NS(XSpan_is_convertible)<T, U>::value, \
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_ONE_DIRECTION(From, To, RType) \
|
||||
typename std::enable_if<XSPAN_NS(XSpan_is_convertible) < From, To>::value, RType > ::type
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_ANY_DIRECTION(A, B, RType) \
|
||||
typename std::enable_if<XSPAN_NS(XSpan_is_convertible) < A, B>::value || \
|
||||
XSPAN_NS(XSpan_is_convertible)<B, A>::value, \
|
||||
RType > ::type
|
||||
// note: these use "T" and "U"
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_R(RType) XSPAN_REQUIRES_CONVERTIBLE_UT(T, U, RType)
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_R(RType) XSPAN_REQUIRES_CONVERTIBLE_ONE_DIRECTION(U, T, RType)
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_A \
|
||||
XSPAN_REQUIRES_CONVERTIBLE_R(XSPAN_NS(XSpanInternalDummyArg) *) = nullptr
|
||||
#define XSPAN_REQUIRES_CONVERTIBLE_T XSPAN_REQUIRES_CONVERTIBLE_R(XSPAN_NS(XSpanInternalDummyArg) *)
|
||||
@@ -223,7 +219,7 @@ XSPAN_NAMESPACE_END
|
||||
#include "xspan_impl_ptr_or_span.h"
|
||||
#include "xspan_impl_span.h"
|
||||
#include "xspan_impl_ptr.h"
|
||||
#undef XSPAN_REQUIRES_CONVERTIBLE_UT
|
||||
#undef XSPAN_REQUIRES_CONVERTIBLE_ONE_DIRECTION
|
||||
#undef XSPAN_REQUIRES_CONVERTIBLE_ANY_DIRECTION
|
||||
#undef XSPAN_REQUIRES_CONVERTIBLE_A
|
||||
#undef XSPAN_REQUIRES_CONVERTIBLE_R
|
||||
|
||||
Reference in New Issue
Block a user