Rémi Bernon (@rbernon) commented about tools/widl/parser.y:
;
version:
aNUM { $$ = MAKEVERSION($1.value, 0); }
- | aNUM '.' aNUM { $$ = MAKEVERSION($1.value, $3.value); }
aNUM { $$ = winrt_mode ? MAKEVERSION(0, $1.value) : MAKEVERSION($1.value, 0); }
- | aNUM '.' aNUM { $$ = winrt_mode ? MAKEVERSION($3.value, $1.value) : MAKEVERSION($1.value, $3.value); }
I feel that this isn't the right place for this, MAKEVERSION comment and the two related macros expect a specific major/minor ordering. Maybe it would be cleaner to use an explicit version struct and decide on the typelib/winmd serialization side how to mangle major/minor into the output.