>> Index: gcc/fortran/error.c >> =================================================================== >> --- gcc/fortran/error.c (revision 199530) >> +++ gcc/fortran/error.c (working copy) >> @@ -30,6 +30,13 @@ along with GCC; see the file COPYING3. If not see >> #include "flags.h" >> #include "gfortran.h" >> >> +#if !(defined (_WIN32) || defined (VMS) || defined (__vxworks) || \ >> + defined (__Lynx__) || defined (__ANDROID__)) > We should better use autoconf rather than hard-coding platforms here.
Ok. Unfortunately I'm not much of a autoconf hero (better to say: not
at all). Is the new patch in the attachment sufficient (probably not
...)? I can not test it on my system with --enable-maintainer-mode
because I get:
configure.ac:2: error: Please use exactly Autoconf 2.64 instead of 2.69.
Why on earth does GCC require an old autoconf version?
>> +/* Determine terminal width (for trimming source lines in output). */
>> +
>> static int
>> get_terminal_width (void)
>> {
>> + /* Only limit the width if we're outputting to a terminal. */
>> + if (!isatty (STDERR_FILENO))
>> + return INT_MAX;
> Guard it with HAVE_UNISTD_H or HAVE_ISATTY ?
Done.
>> + /* Method #1: Use ioctl (not available on all systems). */
>> +#ifdef TIOCGWINSZ
>> + struct winsize w;
>> + ioctl (0, TIOCGWINSZ, &w);
> You should check the ioctl result. I bet it returns non-zero in
> Manfred's (pathological) case...
Also done.
> The rest looks good.
Thanks for the feedback, Mikael. New patch attached ...
Cheers,
Janus
terminal_width_v3.diff
Description: Binary data
