stage2 解决类型重复导入的问题

This commit is contained in:
zzy committed 2026-09-20 18:03:56 +08:00
1 parent 51d408d524
commit d10578d267
2 files changed
+17 -1

No files matched your search

+9 -1
View File
@@ -9,8 +9,16 @@
#ifndef nullptr #ifndef nullptr
#define nullptr NULL #define nullptr NULL
#endif #endif
#ifndef SPL_USIZE
#define SPL_USIZE
typedef uintptr_t usize; typedef uintptr_t usize;
#endif
#ifndef SPL_ISIZE
#define SPL_ISIZE
typedef intptr_t isize; typedef intptr_t isize;
#endif
#define MAP_TYPEOF __typeof__ #define MAP_TYPEOF __typeof__
@@ -165,7 +173,7 @@ static inline usize map_hash_str(const char *s) {
while ((map).data[_idx].state != __MAP_SLOT_EMPTY) { \ while ((map).data[_idx].state != __MAP_SLOT_EMPTY) { \
if ((map).data[_idx].state == __MAP_SLOT_OCCUPIED && \ if ((map).data[_idx].state == __MAP_SLOT_OCCUPIED && \
(map).cmp((map).data[_idx].key, _key) == 0) { \ (map).cmp((map).data[_idx].key, _key) == 0) { \
break; /* 已存在,不更新 */ \ break; /* 已存在,不更新 */ \
} \ } \
if ((map).data[_idx].state == __MAP_SLOT_DELETED && _first_del == (usize) - 1) \ if ((map).data[_idx].state == __MAP_SLOT_DELETED && _first_del == (usize) - 1) \
_first_del = _idx; \ _first_del = _idx; \
+8
View File
@@ -31,8 +31,16 @@ typedef unsigned int u32;
typedef signed int i32; typedef signed int i32;
typedef unsigned long long u64; typedef unsigned long long u64;
typedef signed long long i64; typedef signed long long i64;
#ifndef SPL_USIZE
typedef u64 usize; typedef u64 usize;
#define SPL_USIZE
#endif
#ifndef SPL_ISIZE
typedef i64 isize; typedef i64 isize;
#define SPL_ISIZE
#endif
/* 注:不定义 bool/true/false,避免与 C23 关键字冲突;生成代码用 u8 表示布尔。 */ /* 注:不定义 bool/true/false,避免与 C23 关键字冲突;生成代码用 u8 表示布尔。 */
/* ---- panic / trap ---- */ /* ---- panic / trap ---- */