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:
1 parent
c3df69d011
commit
95b104ee48
17 files changed
+42
-29
No files matched your search
+2
-2
@@ -149,7 +149,7 @@ static inline int m_shar3d_integer_cref(int *p) { return *p; }
|
||||
} while (0)
|
||||
|
||||
// deferred evaluation
|
||||
#define M_SHAR3D_PTR_DEF_P1(arg) M_SHAR3D_PTR_DEF_P2 arg
|
||||
#define M_SHAR3D_PTR_DEF_P1(arg) M_ID( M_SHAR3D_PTR_DEF_P2 arg )
|
||||
|
||||
/* Validate the oplist before going further */
|
||||
#define M_SHAR3D_PTR_DEF_P2(name, type, oplist, cpt_oplist, shared_t) \
|
||||
@@ -360,7 +360,7 @@ static inline int m_shar3d_integer_cref(int *p) { return *p; }
|
||||
} while (0)
|
||||
|
||||
// deferred
|
||||
#define M_SHAR3D_RESOURCE_DEF_P1(arg) M_SHAR3D_RESOURCE_DEF_P2 arg
|
||||
#define M_SHAR3D_RESOURCE_DEF_P1(arg) M_ID( M_SHAR3D_RESOURCE_DEF_P2 arg )
|
||||
|
||||
/* Validate the oplist before going further */
|
||||
#define M_SHAR3D_RESOURCE_DEF_P2(name, type, oplist, shared_t, it_t) \
|
||||
|
||||
Reference in new issue
Block a user