Add static checker
authorOlivier Dion <odion@efficios.com>
Tue, 3 Sep 2024 18:27:58 +0000 (14:27 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 24 Oct 2024 20:44:54 +0000 (16:44 -0400)
commit7fd7204f2f3f73453e46352b9800e21264a4519a
treeb549eea7ac9060090978c66608e392764aecda1c
parent33da65f2a2d7e428b35db66507615d33543b5439
Add static checker

For supporting the static checker, all macros part of the Domain
Specific Language (DSL) of libside must be defined with a level of
indirection.

`<side/static-check.h>', is included by `<side/api.h>' when
`SIDE_STATIC_CHECK_ENABLE' is defined.  The whole DSL is undefined and
redefined with a dispatching technique.  See the comments in the file
for details on how this works.

The static checker works by defining dummy C type and letting the
compiler found incompatible types at event definitions and call sites.

Change-Id: I7535a4829a6381039e66850ad825b9918626755d
Signed-off-by: Olivier Dion <odion@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/Makefile.am
include/side/api.h
include/side/static-check.h [new file with mode: 0644]
This page took 0.023442 seconds and 4 git commands to generate.