libsir 2.2.5
Standard Incident Reporter
|
tags
target to Makefile.sirtests++
test rig for testing the C++ wrapper.sir_isinitialized
convenience function../
-prefixed log files with no extension../
-prefixed log files with no extension.sir_geterrorinfo
function for fine-grained error information._sir_getchar
on Windows.SIR_SELFLOG
is enabled._sir_nprocs
function to portably query processor count.strreplace
- substring replacementstrcreplace
- counting substring replacementstrremove
- substring removalstrsqueeze
- whitespace normalizationstrredact
- substring redaction-D_sir_thread_local=
).SIR_NO_SHARED
option to disable building or installing shared libraries.strcasestr
implementation.stdatomic.h
under MSVC on version 17.4+ using /experimental:c11atomics
.Platform | Change vs. 2.2.2 |
---|---|
macOS 13.5.2 (x86_64) | +361% ± 0.13﹪ |
Arch 6.4.12 (x86_64) | +276% ± 0.07﹪ |
RHEL 9 (x86_64) | +256% ± 0.03﹪ |
Debian 12 (x86_64) | +217% ± 0.09﹪ |
macOS 13.5.1 (AArch64) | +213% ± 0.12﹪ |
Fedora 38 (x86_64) | +121% ± 0.05﹪ |
AIX 7.3 (POWER9) | +119% ± 0.07﹪ |
Debian 12 (AArch64) | +100% ± 0.04﹪ |
Windows 11 (x64_64) | +87% ± 0.03﹪ |
FreeBSD 13.2 (x86_x64) | +76% ± 0.06﹪ |
Windows 11 (AArch64) | +67% ± 0.03﹪ |
NetBSD 9.3 (ARM/A53) | +62% ± 0.18﹪ |
OpenWrt 23 (MIPS32/74Kc) | +6% ± 3.14﹪ |
‑g3
on most platforms.x64
and arm64
configurationsprintf(RED("Oh lawd, something " ULINE("awful") " has happened!\n");
‑‑list
: lists all the available tests‑‑only
: only run the specified tests‑‑leave‑logs
: leave log files behind for examination‑‑wait
: wait for keypress before exiting‑‑perf
: runs the performance benchmark test (normally skipped)‑‑version
: shows the version of libsir the test suite was built with.SIR_ASSERT_ENABLED
: if defined, libsir calls assert
(note that if ‑DNDEBUG
is present, this becomes a NOOP). If not defined and SIR_SELFLOG=1
, libsir writes a red message to stderr containing the condition that would have asserted, along with the file, line, and function. This allows for fine‑grain control over assertions.SIR_NO_SYSTEM_LOGGERS
: if defined, system logger support is completely disabled/compiled out. The entry points still exist, but they will return an error that the feature is disabled or unavailable.SIR_NO_PLUGINS
: The same as SIR_NO_SYSTEM_LOGGERS
, but for the plugin system.