[*] Clang has check_stack, strict_gs_check is msvc specific

This commit is contained in:
Reece Wilson 2024-05-10 22:17:20 +01:00
parent d589ce3549
commit c3f7e625ba
2 changed files with 18 additions and 0 deletions

View File

@ -11,6 +11,10 @@
#pragma check_stack(off) #pragma check_stack(off)
#endif #endif
#if defined(AURORA_COMPILER_CLANG)
#pragma check_stack(off)
#endif
#include <Source/RuntimeInternal.hpp> #include <Source/RuntimeInternal.hpp>
#include "AuWakeOnAddress.hpp" #include "AuWakeOnAddress.hpp"
#include "Primitives/SMTYield.hpp" #include "Primitives/SMTYield.hpp"

View File

@ -7,6 +7,20 @@
***/ ***/
#pragma once #pragma once
// Whatever, i'll use this header to blead these flags in.
// It's the easiest way to get at all of the translation units compiling thread primitives.
// ...not required
#if defined(AURORA_COMPILER_MSVC)
#pragma strict_gs_check(off)
#pragma check_stack(off)
#endif
// dumbshit compiler is emitting stack checks under a non-zero amount of my thread primitives.
// "dumbshit compiler" doesnt quite do it justice when it believe a fucking spinlock-lock with an atomic bit test and set is worth a stack check.
#if defined(AURORA_COMPILER_CLANG)
#pragma check_stack(off)
#endif
#if (defined(AURORA_ARCH_X64) || defined(AURORA_ARCH_X86)) && \ #if (defined(AURORA_ARCH_X64) || defined(AURORA_ARCH_X86)) && \
!defined(AURORA_COMPILER_MSVC) && \ !defined(AURORA_COMPILER_MSVC) && \
!defined(AURORA_COMPILER_INTEL) && \ !defined(AURORA_COMPILER_INTEL) && \