Fixes: #define S "//foo" #define S "/*foo" bug where comments are interpreted inside strings. The fix assumes strings and char literals are essentially the same. Screwups will be caught by the compiler on macro expansion. This decision was made to simplify the implementation and to avoid duplication of code.