From: Richard Kenner Date: Wed, 4 Aug 1993 22:05:15 +0000 (-0400) Subject: (ASM_FILE_START): Write out two backslashes for each backslash in the X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=065e678f6ecb3688e60ffa02b10c703efc694103;p=gcc.git (ASM_FILE_START): Write out two backslashes for each backslash in the filename. From-SVN: r5068 --- diff --git a/gcc/config/i386/gas.h b/gcc/config/i386/gas.h index 4821a895c5d..cad9f51e4b5 100644 --- a/gcc/config/i386/gas.h +++ b/gcc/config/i386/gas.h @@ -1,5 +1,5 @@ /* Definitions for Intel 386 running system V with gnu tools - Copyright (C) 1988 Free Software Foundation, Inc. + Copyright (C) 1988, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -93,8 +93,19 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ fprintf ((FILE), "\t.align 2,0x90\n"); /* Use log of 4 as arg. */ #undef ASM_FILE_START +/* ASM_FILE_START(FILE) used to be defined as: + fprintf (FILE, "\t.file\t\"%s\"\n", dump_base_name); + However, the string dump_base_name may contain backslashes. (This may often + be the case when gcc is run under operating systems such as DOS and OS/2.) + Each backslash in dump_base_name must be converted to two consecutive + backslashes on output. */ #define ASM_FILE_START(FILE) \ - fprintf (FILE, "\t.file\t\"%s\"\n", dump_base_name); + { char *p; \ + fprintf (FILE, "\t.file\t\""); \ + for (p = dump_base_name; *p != '\0'; p++) \ + if (*p == '\\') fprintf (FILE, "\\\\"); \ + else fprintf (FILE, "%c", *p); \ + fprintf (FILE, "\"\n"); } /* A C statement or statements which output an assembler instruction opcode to the stdio stream STREAM. The macro-operand PTR is a