It is a typical construct to have macros that require an ending `;` when included in code. It also avoids hard to catch bugs if you use the macro in an `if` statement without braces, see e.g. [this](http://stackoverflow.com/questions/154136/do-while-and-if-else-statements-in-c-c-macros).