On 09/08/11 11:07, Phil Holmes wrote:
----- Original Message ----- From: "Reinhold Kainhofer"
[snip very well argued case]
I know you have many 10s of times more experience with lilypond than I
do, and I agree with 99% of what you say... But...
The truth is, no-one pays any attention to warnings during the build
process. If I grep the output of make for the word "warning" I get 380
lines in the middle of 37,000 other lines of output. Most of these
warnings come from other parts of the build system, but no-one's looking
at them. There are nine warnings from the code compiler:
/flower/file-name.cc:100: warning: ignoring return value of 'char*
getcwd(char*, size_t)', declared with attribute warn_unused_result
/lily/glissando-engraver.cc:124: warning: comparison between signed and
unsigned integer expressions
/lily/lily-parser-scheme.cc:85: warning: ignoring return value of 'int
chdir(const char*)', declared with attribute warn_unused_result
/lily/lyric-combine-music-iterator.cc:224: warning: unused parameter
/lily/skyline.cc:395: warning: unused parameter 'a'
/lily/lexer.ll:634: warning, rule cannot be matched
/lily/lexer.ll:637: warning, rule cannot be matched
/lily/lexer.ll:706: warning, -s option given but default rule can be
out/parser.cc:2392: warning: conversion to 'short int' from 'int' may
alter its value
If warnings are there to prevent code errors, why have these not been
Because they're known about and discounted as not very important? Nine
warnings, imho, is not very many for a code base the size of lilypond.
In practice, displaying warnings on the console is a waste. It's really
far, far better to put them in a file, where concerned individuals can
grep the file, open it in an editor and view it, etc. I would have got
nowhere understanding the build system unless I routinely redirected the
build output to file.
I'm afraid I'm with Reinhold. As a *programmer*, I consider it very bad
practice to ignore warnings. For the system to hide them from me, well !!!