Technically the macro is correct as is, translation phase 2 (removal of backslash newline pairs) and translation phase 3 (replacement of comments with a single space) are run before translation phase 3 (the preprocessor) which therefore will see the `#define` on one line as is required.
So its a ctags error, and if somebody could be bothered they could open a ctags issue.