сборка: гигиена (П5) — stale .rel, все тесты в make all, размерный регресс
- lib/Makefile: stale .rel удаляются сверкой списка модулей перед упаковкой; штамп build/.modules триггерит перелинковку при любом изменении состава исходников (при смене списка архив сносится — на exFAT гранулярность mtime грубая, сравнение времён ненадёжно) - top-level TESTS: все каталоги tests/ теперь собираются make all (43 программы; banktest переименован из banked.exe — конфликт имён с tests/banked); mdview2 добавлен в APPS - размерный регресс: toolchain/size_check.py сверяет _CODE всех программ с docs/size_baseline.tsv; make size-check / size-baseline - заголовки: контракт затенения SDCC задокументирован в docs/libc-headers.md; новый string.h (include_next + strlwr/strupr); из sprinter_compat.h убраны макросы min/max — конфликтовали с функциями из stdlib.h, и в Solid-C min/max тоже функции Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* string.h — цепочка к SDCC-шному string.h + Sprinter-расширения.
|
||||
*
|
||||
* Вся стандартная строковая библиотека (memcpy/memset/strlen/strcmp/
|
||||
* strtok/…) приходит из SDCC z80.lib через include_next — здесь только
|
||||
* ДОБАВЛЯЕМ, ничего не затеняя (контракт: docs/libc-headers.md).
|
||||
*/
|
||||
|
||||
#ifndef STRING_H_SPRINTER
|
||||
#define STRING_H_SPRINTER
|
||||
|
||||
#include_next <string.h>
|
||||
|
||||
/* Регистры in-place с поддержкой кириллицы CP866 (возвращают s). */
|
||||
char *strlwr(char *s);
|
||||
char *strupr(char *s);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user