From: giusti AT agranat DOT com ("Kenneth A.Giusti") Subject: #line pre-processor bug in B17.0 on NT4.0 9 Jan 1997 12:05:42 -0800 Sender: daemon AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <199701091754.MAA03614.cygnus.gnu-win32@colossus.agranat.com> Original-To: gnu-win32 AT cygnus DOT com Original-Sender: owner-gnu-win32 AT cygnus DOT com When using MSDOS-style pathnames with a #line directive, the path separator \ is being treated as the escape character. This is different from the way MSDOS pathnames used by the #include directive are preprocessed. Example: The following simple C code: #include "C:\home\Administrator\temp.h" #include "\home\Administrator\temp2.h" int main() { #line 255 "C:\home\Administrator\temp.h" printf( STRING ); #line 255 "\home\Administrator\temp.h" return( 0 ); } Preprocesses (using gcc -E) to: # 1 "C:\\home\\Administrator\\temp.h" 1 # 2 "temp.c" 2 # 1 "\\home\\Administrator\\temp2.h" 1 # 3 "temp.c" 2 int main() { # 254 "C:homeAdministrator\011emp.h" <<<<