diff options
| -rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/fortran/error.c | 15 |
2 files changed, 19 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d90e50e..01687ef 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> + PR fortran/19182 + * error.c (error_char): Line-buffer errors / warnings. + +2005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> + * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed / unsigned issue. Use build_int_cst instead of converting integer_zero_node. Remove unnecessary conversion. diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c index 7f0b57c..a8eae56 100644 --- a/gcc/fortran/error.c +++ b/gcc/fortran/error.c @@ -86,7 +86,20 @@ error_char (char c) else { if (c != 0) - fputc (c, stderr); + { + /* We build up complete lines before handing things + over to the library in order to speed up error printing. */ + static char line[MAX_ERROR_MESSAGE + 1]; + static int index = 0; + + line[index++] = c; + if (c == '\n' || index == MAX_ERROR_MESSAGE) + { + line[index] = '\0'; + fputs (line, stderr); + index = 0; + } + } } } |
