This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++filt lossage to gcj 4.0.x


Hi Andrew,

This patch:

removed a critical fflush() from c++filt.  As a result gcj 4.0.x no
longer works on any system with current binutils.

Fascinating.


This patch restores the previous binutils behaviour.

2005-11-17 Andrew Haley <aph@redhat.com>

* cxxfilt.c (main): Flush ouput at newline.


Index: cxxfilt.c
===================================================================
RCS file: /cvs/src/src/binutils/cxxfilt.c,v
retrieving revision 1.10
diff -u -r1.10 cxxfilt.c
--- cxxfilt.c 11 Oct 2005 16:33:16 -0000 1.10
+++ cxxfilt.c 17 Nov 2005 12:29:26 -0000
@@ -278,8 +278,9 @@
/* Echo the whitespace characters so that the output looks
like the input, only with the mangled names demangled. */
putchar (c);
+ if (c == '\n')
+ fflush (stdout);
}
- fflush (stdout);
return 0;
}

Restoring the removed fflush is OK, but I think that you should leave in the final fflush(). You cannot guarantee that input will terminate with a line feed character, so a final flush is a good idea.


Approved with this modification.

Cheers
  Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]