Alexander Grund wrote:
Obviously Werror should be the users choice, not be forced upon them. However I build the libraries I develop with Werror on CI and in the tests to enforce they are warning free. 1) Even if most warnings are false positives, those that are not help catch issues early. The rest is easy to suppress which is best done by the person how developed the code, not some user. 2) A user building my library won't be greeted with dozens or hundreds of warnings making them question if something is off. This has been recently observed to be an annoyance in the current release. 3) A user using my library and enabling Werror will likely not have any issues, as at least my headers are warning free. Mostly not an issue though as when installed to a "system" location no warnings will be generated by most compilers.
I fully disagree with that they "are often bogus and/or subjective", or compiler implementers wouldn't have implemented them.
That's true in principle, but -Werror with -Wconversion -Wsign-conversion is far from uncontroversial, especially on old compilers that insist that if( x > 0 ) is a horrible violation of propriety when x is unsigned. Newer compilers are much better, but if you implement the "equivalent" in a library, you'll be back to the stone age with the above being rejected.