I say this from the point of view of someone having to debug your code: "OK so step, step, step, run to this line... wait, what? How did this function return when there is no return statement? Let me run that again from the beginning... ... ... What? This ASSERT macro doesn't actually assert it just returns?"
Keyboard out window etc.
Please stick to language conventions. Macros are bad because they hide what the code is actually doing.