aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-08-04 18:05:15 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-08-04 18:05:15 -0400
commit065e678f6ecb3688e60ffa02b10c703efc694103 (patch)
tree7209435896e77068f908ff5677e5b721be6f9c46
parent742f7041389dd34d8ec20a9e1573799e3899eea9 (diff)
downloadgcc-065e678f6ecb3688e60ffa02b10c703efc694103.zip
gcc-065e678f6ecb3688e60ffa02b10c703efc694103.tar.gz
gcc-065e678f6ecb3688e60ffa02b10c703efc694103.tar.bz2
(ASM_FILE_START): Write out two backslashes for each backslash in the
filename. From-SVN: r5068
-rw-r--r--gcc/config/i386/gas.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/config/i386/gas.h b/gcc/config/i386/gas.h
index 4821a89..cad9f51 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