From a753855326c2403e035a92d2dc4a756769a58fc3 Mon Sep 17 00:00:00 2001 From: Antoni Boucher Date: Wed, 12 Feb 2025 17:32:41 -0500 Subject: [PATCH] libgccjit: Add the function attributes for setting the ABI --- gcc/jit/jit-playback.cc | 4 ++++ gcc/jit/jit-recording.cc | 2 ++ gcc/jit/libgccjit.h | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/gcc/jit/jit-playback.cc b/gcc/jit/jit-playback.cc index 58589026d2714..127d435af281d 100644 --- a/gcc/jit/jit-playback.cc +++ b/gcc/jit/jit-playback.cc @@ -583,6 +583,10 @@ const char* fn_attribute_to_string (gcc_jit_fn_attribute attr) return "weak"; case GCC_JIT_FN_ATTRIBUTE_NONNULL: return "nonnull"; + case GCC_JIT_FN_ATTRIBUTE_MS_ABI: + return "ms_abi"; + case GCC_JIT_FN_ATTRIBUTE_SYSV_ABI: + return "sysv_abi"; case GCC_JIT_FN_ATTRIBUTE_MAX: return NULL; } diff --git a/gcc/jit/jit-recording.cc b/gcc/jit/jit-recording.cc index 956dc4d23c97d..a1e88ec8cb2ce 100644 --- a/gcc/jit/jit-recording.cc +++ b/gcc/jit/jit-recording.cc @@ -4949,6 +4949,8 @@ static const char * const fn_attribute_reproducer_strings[] = "GCC_JIT_FN_ATTRIBUTE_CONST", "GCC_JIT_FN_ATTRIBUTE_WEAK", "GCC_JIT_FN_ATTRIBUTE_NONNULL", + "GCC_JIT_FN_ATTRIBUTE_MS_ABI", + "GCC_JIT_FN_ATTRIBUTE_SYSV_ABI", }; std::string diff --git a/gcc/jit/libgccjit.h b/gcc/jit/libgccjit.h index 1ab315de6320a..12b0f50ff2966 100644 --- a/gcc/jit/libgccjit.h +++ b/gcc/jit/libgccjit.h @@ -2169,6 +2169,10 @@ enum gcc_jit_fn_attribute GCC_JIT_FN_ATTRIBUTE_WEAK, GCC_JIT_FN_ATTRIBUTE_NONNULL, + // x86 attributes. + GCC_JIT_FN_ATTRIBUTE_MS_ABI, + GCC_JIT_FN_ATTRIBUTE_SYSV_ABI, + /* Maximum value of this enum, should always be last. */ GCC_JIT_FN_ATTRIBUTE_MAX, };