This one is fairly straightforward, but I'll sent it to the list
The issue here is that when not compiling a C++, MSVC compilers do not
accept variables to be defined after code, and the MMC_CMD_SETUP() macro
does define a cdb variable.
Moving the macro to only occur after the variable definition block
should be risk free, as the macros moved do not reuse any variable that
may be uninitialized (besides, it's really a variable init macro, so it
should probably intervene at the top always).