add function-like macro expands support