diff --git a/include/pocketpy/interpreter/vm.hpp b/include/pocketpy/interpreter/vm.hpp index 07a3f32b..28fc4471 100644 --- a/include/pocketpy/interpreter/vm.hpp +++ b/include/pocketpy/interpreter/vm.hpp @@ -465,7 +465,7 @@ public: template Type _find_type_in_cxx_typeid_map() { auto it = _cxx_typeid_map.try_get(typeid(T)); - if(it == nullptr) PK_FATAL_ERROR("T not found in cxx_typeid_map") + if(it == nullptr) PK_FATAL_ERROR("T not found in cxx_typeid_map\n") return *it; } diff --git a/src/common/any.cpp b/src/common/any.cpp index 6d8558e7..b2274afa 100644 --- a/src/common/any.cpp +++ b/src/common/any.cpp @@ -6,7 +6,7 @@ namespace pkpy { void any::__bad_any_cast(const std::type_index expected, const std::type_index actual) { - PK_FATAL_ERROR("bad_any_cast: expected %s, got %s", expected.name(), actual.name()) + PK_FATAL_ERROR("bad_any_cast: expected %s, got %s\n", expected.name(), actual.name()) } any::any(any&& other) noexcept : data(other.data), _vt(other._vt) { diff --git a/src/common/memorypool.cpp b/src/common/memorypool.cpp index 2db6498e..0c82b0ad 100644 --- a/src/common/memorypool.cpp +++ b/src/common/memorypool.cpp @@ -287,8 +287,8 @@ void Pools_debug_info(char* buffer, int size) noexcept { int arenas = PoolObject._arenas.size(); // print empty arenas count n = snprintf( - buffer, size, "PoolObject: %d empty arenas, %d total arenas\n", - empty_arenas, arenas + empty_arenas + buffer, size, "PoolObject: %d empty arenas, %d arenas\n", + empty_arenas, arenas ); buffer += n; size -= n; // log each non-empty arena diff --git a/src/common/str.cpp b/src/common/str.cpp index 90664be1..fed8827a 100644 --- a/src/common/str.cpp +++ b/src/common/str.cpp @@ -16,7 +16,7 @@ int utf8len(unsigned char c, bool suppress) { if((c & 0b11111000) == 0b11110000) return 4; if((c & 0b11111100) == 0b11111000) return 5; if((c & 0b11111110) == 0b11111100) return 6; - if(!suppress) PK_FATAL_ERROR("invalid utf8 char") + if(!suppress) PK_FATAL_ERROR("invalid utf8 char\n") return 0; } @@ -379,7 +379,7 @@ StrName StrName::get(std::string_view s) { // generate new index // https://github.com/python/cpython/blob/3.12/Objects/dictobject.c#L175 uint16_t index = ((_pesudo_random_index * 5) + 1) & 65535; - if(index == 0) PK_FATAL_ERROR("StrName index overflow") + if(index == 0) PK_FATAL_ERROR("StrName index overflow\n") auto res = _r_interned().emplace(index, s); assert(res.second); s = std::string_view(res.first->second); diff --git a/src/compiler/expr.cpp b/src/compiler/expr.cpp index 92a80753..ed0d38ce 100644 --- a/src/compiler/expr.cpp +++ b/src/compiler/expr.cpp @@ -764,7 +764,7 @@ void BinaryExpr::emit_(CodeEmitContext* ctx) { case TK("^"): ctx->emit_(OP_BITWISE_XOR, BC_NOARG, line); break; case TK("@"): ctx->emit_(OP_BINARY_MATMUL, BC_NOARG, line); break; - default: assert(false); + default: PK_FATAL_ERROR("unknown binary operator: %s\n", TK_STR(op)); } for(int i: jmps) diff --git a/src/objects/namedict.cpp b/src/objects/namedict.cpp index 0c8ea422..e60a0390 100644 --- a/src/objects/namedict.cpp +++ b/src/objects/namedict.cpp @@ -116,7 +116,7 @@ bool NameDict::contains(StrName key) const { PyVar NameDict::operator[] (StrName key) const { PyVar* val = try_get_2_likely_found(key); - if(val == nullptr) PK_FATAL_ERROR("NameDict key not found: %s", key.escape().c_str()) + if(val == nullptr) PK_FATAL_ERROR("NameDict key not found: %s\n", key.escape().c_str()) return *val; }