appleseedlab / maki

A tool for analyzing syntactic and semantic properties of C Preprocessor macros in C programs
8 stars 3 forks source link

Some checks for `IsAnyArgumentExpandedWhereModifiableValueRequired` are not working #33

Closed PappasBrent closed 2 months ago

PappasBrent commented 2 months ago

Consider this macro:

BC_NUM_NEG_TGL_NP(struct BcNum n) { return ( ( n ) . rdx ^= ( ( BcBigDig ) 1 ) ); }

For invocations of this macro Maki repots IsAnyArgumentExpandedWhereModifiableValueRequired as false, when it should be true since the rdx field of n is modified.