Force clang-cl to use inline instead of __forceinline

This commit is contained in:
Phil Chang 2026-01-02 23:55:10 +09:00
parent 8d911452bc
commit db6f1109f3
4 changed files with 6 additions and 6 deletions

View File

@ -65,7 +65,7 @@
#ifdef NDEBUG
#if defined(__GNUC__)
#define PK_INLINE __attribute__((always_inline)) inline
#elif defined(_MSC_VER)
#elif defined(_MSC_VER) && !defined(__clang__)
#define PK_INLINE __forceinline
#else
#define PK_INLINE inline

View File

@ -6,7 +6,7 @@
#include <intrin.h>
#endif
extern PK_INLINE int c11__bit_length(unsigned long x) {
PK_INLINE int c11__bit_length(unsigned long x) {
#if(defined(__clang__) || defined(__GNUC__))
return x == 0 ? 0 : (int)sizeof(unsigned long) * 8 - __builtin_clzl(x);
#elif defined(_MSC_VER)

View File

@ -11,7 +11,7 @@ py_ItemRef pk_tpfindname(py_TypeInfo* ti, py_Name name) {
return NULL;
}
extern PK_INLINE py_TypeInfo* pk_typeinfo(py_Type type) {
PK_INLINE py_TypeInfo* pk_typeinfo(py_Type type) {
#ifndef NDEBUG
int length = pk_current_vm->types.length;
if(type <= 0 || type >= length) {

View File

@ -2,16 +2,16 @@
#include "pocketpy/pocketpy.h"
#include <assert.h>
extern PK_INLINE void* PyObject__userdata(PyObject* self) {
PK_INLINE void* PyObject__userdata(PyObject* self) {
return self->flex + PK_OBJ_SLOTS_SIZE(self->slots);
}
extern PK_INLINE NameDict* PyObject__dict(PyObject* self) {
PK_INLINE NameDict* PyObject__dict(PyObject* self) {
assert(self->slots == -1);
return (NameDict*)(self->flex);
}
extern PK_INLINE py_TValue* PyObject__slots(PyObject* self) {
PK_INLINE py_TValue* PyObject__slots(PyObject* self) {
assert(self->slots >= 0);
return (py_TValue*)(self->flex);
}