summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-01-13 22:54:35 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-01-13 22:54:35 +0000
commit059fab1f1336b8e62975681ebc0bba21b0f411a9 (patch)
tree51c790cb6dbfafecd7bde1a1e999d55a104afc28 /gcc
parent910f3844de8dd80c7fabafb4b84eee01f21ccf9b (diff)
downloadgcc-059fab1f1336b8e62975681ebc0bba21b0f411a9.tar.gz
(ASM_FILE_START): New macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8740 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/isc.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/config/i386/isc.h b/gcc/config/i386/isc.h
index 16f7142bbfd..72a07fe49a9 100644
--- a/gcc/config/i386/isc.h
+++ b/gcc/config/i386/isc.h
@@ -60,3 +60,25 @@
80-bit XFmode insns, so don't generate them. */
#undef LONG_DOUBLE_TYPE_SIZE
#define LONG_DOUBLE_TYPE_SIZE 64
+
+/* The ISC assembler does not like a .file directive with a name
+ longer than 14 characters. Truncating it will not permit
+ debugging to work properly, but at least we won't get an error
+ message. */
+
+#undef ASM_FILE_START
+#define ASM_FILE_START(FILE) \
+ do { \
+ char c; \
+ int max = 0; \
+ char *string = dump_base_name; \
+ \
+ fputs ("\t.file\t\"", FILE); \
+ \
+ while ((c = *string++) != 0 && max++ < 14) { \
+ if (c == '\"' || c == '\\') \
+ putc ('\\', FILE); \
+ putc (c, FILE); \
+ } \
+ fputs ("\"\n", FILE); \
+ } while (0)