Files
Sprinter-SDCC/libc/include/sdbg.h
T

27 lines
1.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* sdbg.h — авторские точки журналирования source debugger.
*
* Текст и подстановки обрабатываются на хосте: код Sprinter не вызывает
* ESTEX/BIOS и не хранит строку в EXE. В обычной сборке макросы пустые.
* В --src-debug выбранный TU получает нулевой по размеру asm-якорь.
* tag — уникальный C-идентификатор внутри единицы трансляции. */
#ifndef SPRINTER_SDBG_H
#define SPRINTER_SDBG_H
#if defined(SPRINTER_SDBG_METADATA)
/* Только проход препроцессора сборщика: сохраняем описание для пакета. */
#define SDBG_LOG(tag, message) SDBG_METADATA_LOG(tag, message)
#define SDBG_LOGIF(tag, condition, message) SDBG_METADATA_LOGIF(tag, condition, message)
#elif defined(SPRINTER_SDBG_ANCHORS)
/* Символ привязан к текущему счётчику адреса, но не добавляет инструкцию. */
#define SDBG_LOG(tag, message) __asm \
.globl _spr_sdbg_log_##tag \
_spr_sdbg_log_##tag = . \
__endasm
#define SDBG_LOGIF(tag, condition, message) SDBG_LOG(tag, message)
#else
#define SDBG_LOG(tag, message) ((void)0)
#define SDBG_LOGIF(tag, condition, message) ((void)0)
#endif
#endif