backslash-newline can split text anywhere
https://gcc.gnu.org/onlinedocs/cpp/Initial-processing.html
This is a valid C program on which cake fails:
i\
n\
t\
\
m\
a\
i\
n\
(\
)\
{\
r\
e\
t\
u\
r\
n\
\
0\
;\
}
It may be a regression after implementation some warnings. On online http://thradams.com/cake/playground.html select [Extensions] and [line slicing checks]
But all all these are suppose to be just warnings and not error so it is a bug.
Because cake must "rebuild" source code line slicing are preserved (instead of discarded) inside tokens. When required, for instance to add into a symbol table or compare tokens these line slicing needs to be ignored. (See remove_line_continuation) The implementation of is_keyword is wrong because it using strcmp. We need something line token compare that ignores line slicing. See also https://github.com/thradams/cake/blob/main/docs/remove_phase_2.md