diff --git a/src/common/chunkedvector.c b/src/common/chunkedvector.c index f965c32b..b60c8404 100644 --- a/src/common/chunkedvector.c +++ b/src/common/chunkedvector.c @@ -6,7 +6,7 @@ #include #endif -PK_INLINE int c11__bit_length(unsigned long x) { +extern 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) diff --git a/src/interpreter/typeinfo.c b/src/interpreter/typeinfo.c index a20b76ce..bb24245a 100644 --- a/src/interpreter/typeinfo.c +++ b/src/interpreter/typeinfo.c @@ -11,7 +11,7 @@ py_ItemRef pk_tpfindname(py_TypeInfo* ti, py_Name name) { return NULL; } -PK_INLINE py_TypeInfo* pk_typeinfo(py_Type type) { +extern PK_INLINE py_TypeInfo* pk_typeinfo(py_Type type) { #ifndef NDEBUG int length = pk_current_vm->types.length; if(type <= 0 || type >= length) { diff --git a/src/objects/object.c b/src/objects/object.c index 1a3f7ef4..3625910d 100644 --- a/src/objects/object.c +++ b/src/objects/object.c @@ -2,16 +2,16 @@ #include "pocketpy/pocketpy.h" #include -PK_INLINE void* PyObject__userdata(PyObject* self) { +extern PK_INLINE void* PyObject__userdata(PyObject* self) { return self->flex + PK_OBJ_SLOTS_SIZE(self->slots); } -PK_INLINE NameDict* PyObject__dict(PyObject* self) { +extern PK_INLINE NameDict* PyObject__dict(PyObject* self) { assert(self->slots == -1); return (NameDict*)(self->flex); } -PK_INLINE py_TValue* PyObject__slots(PyObject* self) { +extern PK_INLINE py_TValue* PyObject__slots(PyObject* self) { assert(self->slots >= 0); return (py_TValue*)(self->flex); } \ No newline at end of file