fix macro expansion sequence