add semi-colons after every macro for sanity and to make editors happy

technically, this is not needed by C since the preprocessor will generate
the correct code, but it makes editors freak out and just looks stupid.