cpp: fix handling comments and strings inside macros