If ‘#’ is followed by the word ‘warning’, any amount of whitespace and a string in double quotes, the compiler will use that string to generate a warning message at that point. As usual, whitespace characters are allowed between ‘#’ and ‘warning’:
# warning "The code below is suspicious"
Similarly, ‘#’ followed by the word ‘error’, whitespace and a doubly-quoted string causes the compiler to generate a compilation error at that point.
To use backslash or double quote in the message text, precede them with a single slash, e.g.:
#error "the \"quoted\" text"
A backslash in front of any other character is retained.