Closed Bug 195608 Opened 23 years ago Closed 7 years ago

tinderbox warnings parser doesn't handle multiline warnings

Categories

(Webtools Graveyard :: Tinderbox, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bbaetz, Assigned: bbaetz)

References

()

Details

Attachments

(1 file)

Err, with a comment this time. gcc >=3 prints warnings on multiple lines. The tbox warnings parser can't handle that, and so only prints the first part of the line. I've made a patch to fix this, but its a bit hacky - see comments in the patch. Except for the possible mingw issue, which may not be an issue if hat uses cygwin paths, its no more hacky than the rest of that file. This produces the same results on myotonic (not running gcc-3), and the same number of warnings on brad if I disable the stripping of 'hidden' warnings and some of the @ignore stuff. (I had to do that because they didn't match in the original code, because the string was stripped). I had to munge some stuff to get this testing since I don't actually have atbox server (eg hard coding gcc_parser), but thats not in the patch.
Status: NEW → ASSIGNED
Attached patch fixSplinter Review
I keep $line arround as a possibly-read previous line. This is needed because I have to pull out the next line before I know if its a multiline warning, and just ignoring it misses the second warning in an immediately adjacent pair.
Wouldn't it be better to use the -fmessage-length=0 compiler option where appropriate rather than depending on gcc's message structure which could change at any time?
Yes, but that requires the tinderbox owner to set that option. (It can't be forced in the tinderbox scripts because older gcc's won't understand that option and will presumably error out) I don't know if thats considered an issue, though. I also read the text 'Right now, only the C++ front end can honor these options.' as meaning that only c++ will honour a request not to wrap, not that only c++ does any wrapping. Quick testing shows that I was wrong, so this would work. If someone wants to WONTFIX this, then I'll change the CFLAGS/CXXFLAGS on the Brad tinderbox
Yes, gcc 2.95.x gives up on options it doesn't know about so you have to be a little careful. I've been using -fmessage-length=0 on my own builds for quite a while and it works so the gcc and g++ front ends can handle it.
bbaetz: My gcc info page says: `-fmessage-length=N' Try to format error messages so that they fit on lines of about N characters. The default is 72 characters for `g++' and 0 for the rest of the front ends supported by GCC. If N is zero, then no line-wrapping will be done; each error message will appear on a single line. In other words: By default, only g++ does wrapping, gcc doesn't.
Yeah, as I said, I misread the docs the first time.
If someone wants to try the patch out on tinderbox, I can help do that today, lemmeknow aim:sleestack8.
timezones mean that thats not likely to happen, but if you install it, then the warnings for brad should change, but nothing else. That assumes that this patch is wanted, mind you...
QA Contact: timeless → tinderbox
Product: Webtools → Webtools Graveyard
Tinderbox isn't maintained anymore. Closing.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: