$ zig version
0.13.0

$ python interval_filters.py whitelist.json generated
OK 2 merged ranges -> 5/14 banks

$ python test_filters.py
standard exhaustive configurations: 120/120; 2048 IDs, both RTR, frame isolation
extended configurations: 287/300; 300 random IDs plus boundaries, both RTR, frame isolation
test_documented_vector (__main__.TestFilters.test_documented_vector) ... ok
test_empty_full_overlap_and_capacity (__main__.TestFilters.test_empty_full_overlap_and_capacity) ... ok
test_exhaust_standard_and_frame_isolation (__main__.TestFilters.test_exhaust_standard_and_frame_isolation) ... ok
test_extended_random_and_edges (__main__.TestFilters.test_extended_random_and_edges) ... ok
test_invalid_inputs (__main__.TestFilters.test_invalid_inputs) ... ok

----------------------------------------------------------------------
Ran 5 tests in 1.698s

OK

$ zig cc -std=c11 -O2 -DAT32F425F8P7 -I. -Igenerated -Ivendor/drivers/inc -Ivendor/cmsis/cm4/device_support -Ivendor/cmsis/cm4/core_support -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast register_test.c can_static_filters.c vendor_filter_exact.c -o build/register_test.exe

$ build/register_test.exe
vendor register test PASS: 5 banks, 32-bit/mask/FIFO0; stale banks off

$ zig cc -std=c11 -O2 -DAT32F425F8P7 -I. -Igenerated -Ivendor/drivers/inc -Ivendor/cmsis/cm4/device_support -Ivendor/cmsis/cm4/core_support -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast register_test.c can_static_filters.c vendor_filter_exact.c -o build/register_test.exe

$ build/register_test.exe
vendor register test PASS: 0 banks, 32-bit/mask/FIFO0; stale banks off

$ zig cc -std=c11 -O2 -DAT32F425F8P7 -I. -Igenerated -Ivendor/drivers/inc -Ivendor/cmsis/cm4/device_support -Ivendor/cmsis/cm4/core_support -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast register_test.c can_static_filters.c vendor_filter_exact.c -o build/register_test.exe

$ build/register_test.exe
vendor register test PASS: 14 banks, 32-bit/mask/FIFO0; stale banks off

$ zig cc -target thumb-freestanding-eabi -mcpu=cortex_m4 -std=c11 -O2 -DAT32F425F8P7 -I. -Igenerated -Ivendor/drivers/inc -Ivendor/cmsis/cm4/device_support -Ivendor/cmsis/cm4/core_support -ffreestanding -c can_static_filters.c -o build/can_static_filters.o

$ zig cc -target thumb-freestanding-eabi -mcpu=cortex_m4 -std=c11 -O2 -DAT32F425F8P7 -I. -Igenerated -Ivendor/drivers/inc -Ivendor/cmsis/cm4/device_support -Ivendor/cmsis/cm4/core_support -ffreestanding -c vendor_filter_exact.c -o build/vendor_filter_exact.o

$ zig cc -target thumb-freestanding-eabi -mcpu=cortex_m4 -std=c11 -O2 -DAT32F425F8P7 -I. -Igenerated -Ivendor/drivers/inc -Ivendor/cmsis/cm4/device_support -Ivendor/cmsis/cm4/core_support -Iintegration -Iintegration/CherryRB -ffreestanding -c integration/drv_can.c -o build/drv_can.o
