From mboxrd@z Thu Jan 1 00:00:00 1970 From: peterson@austin.ibm.com To: gcc-gnats@gcc.gnu.org Subject: c++/3032: Suggestion on Error and Warning Messages Date: Fri, 01 Jun 2001 13:46:00 -0000 Message-id: <20010601204244.24326.qmail@sourceware.cygnus.com> X-SW-Source: 2001-06/msg00025.html List-Id: >Number: 3032 >Category: c++ >Synopsis: Suggestion on Error and Warning Messages >Confidential: no >Severity: non-critical >Priority: low >Responsible: unassigned >State: open >Class: change-request >Submitter-Id: net >Arrival-Date: Fri Jun 01 13:46:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: James Peterson >Release: version 3.1 >Organization: >Environment: Running gcc from x86-64.org on Linux >Description: In porting a large amount of C++ code, I am generating hundreds of error and warning messages. Because of the way that these messages are formatted, it is not possible to easily grep them out of the build log, and sort/uniq them to get the most common errors/warnings. There are two problems: 1. Someone has added code to do line wrapping of the error messages. While this might be necessary for non-emacs users, those of us with wide terminal lines and using emacs on the errors have no need for line wrap. At the least can this be a compiler output option, or an option for the preferred line length (so we can set the preferred line length to 1000000 and get the effect of no-line-wrap). The code for line wrap is in gcc/diagnostic.c I believe. 2. While warning lines are tagged as such, error lines are not tagged. Given that gcc can put out many, many lines of output for each error or warning (the trace of header files that resulted in an error/warning, comments that it will only list each undefined variable once, and so on) it is often difficult to find an actual error message in the output. It would be much easier if each error message was tagged with "Error", just as warnings are tagged with "warning". (Actually it would be best if both Errors and Warnings were not just lower case, since the purely lower case versions end up being parts of file names and variable names -- mixed case is less likely to be part of a file or variable name. I have hacked my version of 3.0 gcc to say "*** Error" and "*** Warning", so that I can grep for both make and gcc errors with the same string "***". Warning messages are tagged in several files: gcc/errors.c, gcc/tradcpp.c, gcc/cpperror.c, and gcc/diagnostic.c >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: