Sujet : Re: Casting the return value of ...
De : david.brown (at) *nospam* hesbynett.no (David Brown)
Groupes : comp.lang.cDate : 09. Apr 2024, 09:03:40
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <uv2sos$3o6o$1@dont-email.me>
References : 1 2 3 4 5 6
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0
On 09/04/2024 08:01, Tim Rentsch wrote:
scott@slp53.sl.home (Scott Lurndal) writes:
Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>
scott@slp53.sl.home (Scott Lurndal) writes:
We compile with -Wall -Werror and have never seen any warnings related
to casting the result of dlsym(), and we build with GCC[4..13].
>
Do you use -pedantic? Compiling with -pedantic using gcc 8.4.0
gives a warning diagnostic (and a fatal error if -pedantic-errors
is specified in place of -pedantic).
>
Of course not. We write production code not standard C (or in this
case, C++) code. Portability to compilers other than gcc is
not a requirement for the several million line codebase.
It's quite amusing to hear of a team that insists on -Wall but
avoids -pedantic, saving a tiny drizzle of cases (all of which
are easy to remedy) while enduring the ever-changing force 5
blizzard of conditions tested by -Wall.
I guess that's because his team writes real-world code using real-world tools, rather than living in some sort of fantasy realm or ivory tower.
gcc's -Wall does not change much from version to version, and not without a lot of debate and consideration. A new warning does not get added to -Wall unless there is strong confidence and agreement that it will have a very low rate of false positives, and the things it catches have a high rate of being real problems (not just stylistic choices). And part of the beta test procedure involves complete rebuilds of the entire Debian and Red Hat source bases - many packages would fail to build if changes to -Wall triggered new warnings.
And most real-world C programs are not strictly limited to fully portable standard C. If portability is not an issue, then compiler extensions give you a better language - better error checking, more efficient results, easier coding, clearer coding, and of course features that are tied to the target platform. "-pedantic" is not helpful for such code.
Of course there are also people whose C coding must be strictly according to the standards, and there are endless other variants in how people use the language, tools and flags. But I expect the use of "-Wall" without "-Wpedantic" to be very much more common than the opposite.