Fixes for IBM xlc: ensure that functions that are also macros are correctly protected against macro expansion.