Maki incorrectly identifies some properties as false for macros that expand to parenthesized expressions.
For example, for the following code:
#define WRAP(x) (x)
#define ID(x) x
int main(void) {
int x;
&WRAP(x);
&ID(x);
return 0;
}
Mak reports the IsInvokedWhereAddressableValueRequired property for the invocation of WRAP() as false, when it should be set to true.
Maki correctly reports the property for invocation of ID(), however.
Maki should correctly report properties for aligned, non-nested macro expansions, regardless of whether or not they are wrapped in a parenthesized expression.
Maki incorrectly identifies some properties as false for macros that expand to parenthesized expressions. For example, for the following code:
Mak reports the
IsInvokedWhereAddressableValueRequired
property for the invocation ofWRAP()
asfalse
, when it should be set totrue
. Maki correctly reports the property for invocation ofID()
, however. Maki should correctly report properties for aligned, non-nested macro expansions, regardless of whether or not they are wrapped in a parenthesized expression.