This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]