Issue in generation of functions:

if the method in the oplist uses API_* transformation,
if this method is a macro itself,
it may delay the expansion too much and
the macro may not be expanded at all in the final code generation.

Fix issue by adding a supplementary evaluation in the macro expansion.
Add test cases
This commit is contained in:
Patrick Pelissier committed 2022-05-06 01:10:31 +02:00
1 parent c3df69d011
commit 95b104ee48
17 files changed
+42 -29

No files matched your search

+5
View File
@@ -53,6 +53,11 @@ QUEUE_SPSC_DEF_AS(BufferDouble3, BufferDouble3, double, BUFFER_QUEUE)
#define M_OPL_BufferDouble2() BUFFER_OPLIST(BufferDouble2, M_BASIC_OPLIST)
#define M_OPL_BufferDouble3() BUFFER_OPLIST(BufferDouble3, M_BASIC_OPLIST)
// Define buffer with ENUM oplist (with API_1 usage)
typedef enum { OK, KO } state_t;
#define M_OPL_state_t() M_ENUM_OPLIST(state_t, OK)
BUFFER_DEF(array_state, state_t, M_BUFFER_QUEUE, 0)
buffer_uint_t g_buff;
buffer_uint_t g_buffB;