From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id CEB29385840E for ; Fri, 12 May 2023 21:49:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CEB29385840E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org References: <87y1lx1avj.fsf@oldenburg.str.redhat.com> <83ednoapb6.fsf@gnu.org> <831qjoa0g0.fsf@gnu.org> <83o7ms8is7.fsf@gnu.org> <2ffbf210-1b58-737b-888c-4f84c5cc5e0f@gmail.com> <837ctg8e98.fsf@gnu.org> <83wn1g6w67.fsf@gnu.org> <83mt2c6tch.fsf@gnu.org> <871qjlh9t3.fsf@mid.deneb.enyo.de> <87ttwh44t6.fsf@gentoo.org> <87r0rldyf0.fsf@mid.deneb.enyo.de> User-agent: mu4e 1.10.3; emacs 29.0.90 From: Sam James To: Florian Weimer Cc: Joseph Myers , Eli Zaretskii , Jakub Jelinek , gabravier@gmail.com, jwakely.gcc@gmail.com, fweimer@redhat.com, arsen@aarsen.me, gcc@gcc.gnu.org Subject: Re: More C type errors by default for GCC 14 Date: Fri, 12 May 2023 22:47:53 +0100 In-reply-to: <87r0rldyf0.fsf@mid.deneb.enyo.de> Message-ID: <87mt2943um.fsf@gentoo.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,KAM_NUMSUBJECT,KAM_SHORT,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Florian Weimer writes: > * Sam James: > >> Florian Weimer writes: >> >>> [...] >>> In summary, all these seems to be good candidates for errors by default: >>> >>> * int-conversion as errors (already raised separately >>> * -Wint-conversion for ?: >>> * parameter names in non-prototype function declarations >>> * the union wait function pointer compatibility kludge >>> * return-with-out-value for non-void functions >>> * -Wincomatible-pointer-types warning for ?: (but no error yet, see bel= ow) >>> >>> This are more =E2=80=9Cmaybe=E2=80=9C: >>> >>> * incompatible-pointer-types as errors (already raised separately) >>> * int-conversion and incompatible-pointer-types in comparisons >>> * return with value in a function returning void >> >> -Wreturn-type tends to bite people with C++. > > Sorry, what do you mean? Falling off the end of a function in C++ is UB and people fall victim to it often, but in C, it's only UB if you try to use its return value. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D109364 is one example of many. What I meant was: I see this a lot in C++ and sometimes in C but it's usually trivial to fix, even if it's less harmful for some of the instances.