This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C99 status.html query
Zack Weinberg wrote:-
> cpplib's string-literal processing doesn't interpret escape sequences.
> Therefore, the only way this difference is visible to the user, that I
> can think of, is that
>
> #include "\""
> #include <\>>
>
> will include files whose names are '\"' and '\>' respectively (shell
> syntax). Both should diagnose "junk at end of #include" and look for
> a file whose name is '\'. This violates both C89 and C99, but no
> one's ever going to notice. It will become a visible problem on
> DOS-based hosts if escape sequence processing gets moved into cpplib
> (think about #include "sys\types.h"...)
OK, I'll check we get it right, and fix it if not and mark this thing
done. I'll turn off multiline strings when doing the #include family,
so the former will complain about an unterminated string literal (and
terminate it itself) and both complain about extra tokens.
It won't become a problem when escape processing moves to cpplib,
because we'll only do that when not in directives (maybe being careful
with _Pragma, the only other place where CPP interprets strings).
Neil.