Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/asmjit/asmjit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/asmjit/core/support.h')
-rw-r--r--src/asmjit/core/support.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/asmjit/core/support.h b/src/asmjit/core/support.h
index ebf0354..5b142d4 100644
--- a/src/asmjit/core/support.h
+++ b/src/asmjit/core/support.h
@@ -17,18 +17,24 @@ ASMJIT_BEGIN_NAMESPACE
//! \addtogroup asmjit_utilities
//! \{
-//! Contains support classes and functions that may be used by AsmJit source
-//! and header files. Anything defined here is considered internal and should
-//! not be used outside of AsmJit and related projects like AsmTK.
+//! Contains support classes and functions that may be used by AsmJit source and header files. Anything defined
+//! here is considered internal and should not be used outside of AsmJit and related projects like AsmTK.
namespace Support {
// Support - Architecture Features & Constraints
// =============================================
//! \cond INTERNAL
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 11
+// There is a bug in GCC11+ that makes it unusable to use annotated unaligned loads/stores.
+static constexpr bool kUnalignedAccess16 = false;
+static constexpr bool kUnalignedAccess32 = false;
+static constexpr bool kUnalignedAccess64 = false;
+#else
static constexpr bool kUnalignedAccess16 = ASMJIT_ARCH_X86 != 0;
static constexpr bool kUnalignedAccess32 = ASMJIT_ARCH_X86 != 0;
static constexpr bool kUnalignedAccess64 = ASMJIT_ARCH_X86 != 0;
+#endif
//! \endcond
// Support - Basic Traits