test alignas()

This commit is contained in:
kanjitalk755 2020-10-03 12:22:23 +09:00
parent 02c037b5cb
commit a51e030414
5 changed files with 10 additions and 15 deletions

View File

@ -1176,6 +1176,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULE_DEBUGGING = YES;
COPY_PHASE_STRIP = NO;
@ -1215,6 +1216,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULE_DEBUGGING = YES;
COPY_PHASE_STRIP = NO;
@ -1278,6 +1280,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
CODE_SIGN_ENTITLEMENTS = SheepShaver.entitlements;
COPY_PHASE_STRIP = NO;
@ -1342,6 +1345,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_CXX_LIBRARY = "libc++";
CODE_SIGN_ENTITLEMENTS = SheepShaver.entitlements;
COPY_PHASE_STRIP = NO;

View File

@ -372,7 +372,6 @@ powerpc_cpu::powerpc_cpu(task_struct *parent_task)
#if PPC_ENABLE_JIT
use_jit = false;
#endif
spcflags().init();
++ppc_refcount;
initialize();
}

View File

@ -46,16 +46,10 @@ class powerpc_cpu
//
// We can't assume (offsetof(powerpc_cpu, regs) % 16) == 0 since
// extra data could be inserted prior regs, e.g. pointer to vtable
struct {
powerpc_registers regs;
uint8 pad[16];
} _regs;
powerpc_registers _regs;
// Make sure the calculation of the current offset makes use of
// 'this' as this could make it simplified at compile-time
powerpc_registers *regs_ptr() const { return (powerpc_registers *)((char *)&_regs.regs + (16 - (((char *)&_regs.regs - (char *)this) % 16))); }
powerpc_registers const & regs() const { return *regs_ptr(); }
powerpc_registers & regs() { return *regs_ptr(); }
powerpc_registers const & regs() const { return _regs; }
powerpc_registers & regs() { return _regs; }
#if PPC_PROFILE_REGS_USE
// Registers use statistics

View File

@ -200,7 +200,7 @@ union powerpc_vr
* User Environment Architecture (UEA) Register Set
**/
struct powerpc_registers
struct alignas(16) powerpc_registers
{
enum {
GPR_BASE = 0,

View File

@ -41,10 +41,8 @@ class basic_spcflags
public:
basic_spcflags()
{ init(); }
void init()
{ mask = 0; lock = SPIN_LOCK_UNLOCKED; }
: mask(0), lock(SPIN_LOCK_UNLOCKED)
{ }
bool empty() const
{ return (mask == 0); }