As the last line of a macro, I use struct HereToEnforceSemiColon, i.e.
struct HereToEnforceSemiColon
#define MYMACRO(param) \ DoSomething(param); \ struct HereToEnforceSemiColon