From 84db136d7c157f2268499ade5ae9cedf54d1fa5d Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 10 Jul 2001 11:39:29 -0400 Subject: [PATCH] collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses. * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses. (dump_file): Only pad the demangled name with spaces if the mangled name was padded with spaces. From-SVN: r43903 --- gcc/ChangeLog | 6 ++++++ gcc/collect2.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 02a6f61c185..e408ec4e914 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-07-10 Jason Merrill + + * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses. + (dump_file): Only pad the demangled name with spaces if the + mangled name was padded with spaces. + 2001-07-10 Bernd Schmidt * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru diff --git a/gcc/collect2.c b/gcc/collect2.c index 83ed200da4f..1239b983756 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -163,6 +163,10 @@ int do_collecting = 1; #else int do_collecting = 0; #endif + +/* Nonzero if we should suppress the automatic demangling of identifiers + in linker error messages. Set from COLLECT_NO_DEMANGLE. */ +int no_demangle; /* Linked lists of constructor and destructor names. */ @@ -522,7 +526,6 @@ dump_file (name) const char *name; { FILE *stream = fopen (name, "r"); - int no_demangle = !! getenv ("COLLECT_NO_DEMANGLE"); if (stream == 0) return; @@ -556,7 +559,7 @@ dump_file (name) fputs (result, stderr); diff = strlen (word) - strlen (result); - while (diff > 0) + while (diff > 0 && c == ' ') --diff, putc (' ', stderr); while (diff < 0 && c == ' ') ++diff, c = getc (stream); @@ -858,6 +861,11 @@ main (argc, argv) int first_file; int num_c_args = argc+9; + no_demangle = !! getenv ("COLLECT_NO_DEMANGLE"); + + /* Suppress demangling by the real linker, which may be broken. */ + putenv (xstrdup ("COLLECT_NO_DEMANGLE=")); + #if defined (COLLECT2_HOST_INITIALIZATION) /* Perform system dependent initialization, if neccessary. */ COLLECT2_HOST_INITIALIZATION; -- 2.30.2