On Wed, May 16, 2012 at 3:38 PM, Basile Starynkevitch
<bas...@starynkevitch.net> wrote:
> On Wed, May 16, 2012 at 03:29:12PM +0200, Richard Guenther wrote:
>> On Wed, May 16, 2012 at 3:18 PM, Basile Starynkevitch
>> <bas...@starynkevitch.net> wrote:
>> > On Wed, May 16, 2012 at 03:02:39PM +0200, Richard Guenther wrote:
>> >> On Wed, May 16, 2012 at 2:46 PM, Basile Starynkevitch
>> >> <bas...@starynkevitch.net> wrote:
>> >> > Hello All,
>> >> >
>> >> > I am pinging the patch 
>> >> > http://gcc.gnu.org/ml/gcc-patches/2012-02/msg00474.html
>> >> > below for trunk svn 187587
>> >
>> > --- gcc/toplev.c        (revision 187587)
>> > +++ gcc/toplev.c        (working copy)
>> > @@ -229,6 +229,11 @@ announce_function (tree decl)
>> >  {
>> >   if (!quiet_flag)
>> >     {
>> > +      static long count;
>> > +      count++;
>> > +      if (count % 8 == 0)
>> > +        putc('\n', stderr);
>> > +
>> >       if (rtl_dump_and_exit)
>> >        fprintf (stderr, "%s ",
>> >                 identifier_to_locale (IDENTIFIER_POINTER (DECL_NAME 
>> > (decl))));
>> >
>> >
>> >> So - why?  I like it the way it is.
>> >
>> > Because, as I explained in  
>> > http://gcc.gnu.org/ml/gcc-patches/2012-02/msg00474.html without that patch
>> > you have arbitrarily long output lines, and that is unpleasant, in 
>> > particular when running under gdb
>> > or under emacs (also, there may be buffering issues: if GCC misbehave, 
>> > stderr might not be flushed
>> > often enough...)
>>
>> stderr is unbuffered
>>
>> > The announce_function is quite rarely really used (because quiet_flag is 
>> > almost always true),
>> > and it is used mostly to debug GCC (or plugins), and in that case having 
>> > not too large output
>> > is quite useful in practice. The patch above is quick & dirty but seems 
>> > enough.
>> > Do you want me to add a comment like /* Hack to avoid very large output 
>> > lines.  */ before?
>>
>> No, I want the large line to stay as-is.  It's pleasant for me.
>
>
> Do you have any hints or tricks to have this work well when running cc1 under 
> emacs
> (eg in a *shell* or *gud-cc1* Emacs buffer)?
>
> Without that patch displaying happen too late (and eats a lot of Emacs CPU)!!

1) Fix emacs (do not buffer stderr)
2) do not omit -quiet when running from inside emacs

Richard.

Reply via email to