www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2016/04/19/00:21:31

X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f
X-Recipient: djgpp-workers AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to;
bh=IAv3joNZalIuB2M5aqFycqokutoaQC2dc+2oD84UCBU=;
b=IOvo9NmCEBx2zVUjPQAdI/npnKNIpHdX1wmJqoj1De6Ek+/0YuH1A6jqlVfMbFA1SM
vwd0j7otq0Ib84xVp4LRtLzDBVSW8fUIPGooS+tvbxUKJK9QLcVrtez2eKHBRn72il2X
Fg6/BsxGkN6RSQFahE2RTCV3jctzGXa68qXwJS8+u5KDsxzOIQY7xAqGXuH5xNjprGz9
wP9UEDq+b2FZamkyhkl/QX+L1opRiXNAKu6VAIRVTP9vPBMnNWnkQ3QlREgP9WZPeOgA
1m3Ot44zDvIwJyM9weWNWbLK8wf8EhAyQUcUx8+4e41hIpivnEfDx6VALJuLVV2+S3ZK
o2OQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20130820;
h=x-gm-message-state:mime-version:in-reply-to:references:date
:message-id:subject:from:to;
bh=IAv3joNZalIuB2M5aqFycqokutoaQC2dc+2oD84UCBU=;
b=TjSnQJ1GLw+65tBtDfo0ET9I8yDhClV9+ZedRKF01tU9xXKsTVGkOzdnAQDgBVHg/7
f2uCPUTeXmRDEVqx/gcpWJchvjV0eKLfR5QmsYN1ErSaZtUWumqb7x8pMm1kmHA5U3rr
Ss11HKjqr3I4UwemDWAevwfxGuRyo8MRSKTsh4vdzDszivGmjrHvOQNkDZs6OSBltI1U
30JQb4kswgqunu0f6ryIfReSqaczWbOYuYrn/RAxUQTX0gkq6oRHjH7cs+jg3YrCmJKI
TJn7WUu91ziTFWGRuW05AuChSwS2NbFK7hQ23XeZS88kZjqoJZ5CEOclT9LItW0wAZTG
bgMw==
X-Gm-Message-State: AOPr4FX8vjm+y6qZau9GEtby3rKAlPB/ElMuwVYkq2FzLLUCqqkYBZFBXt4kh5f+7LTVZEAGiJECCcZ2JmvTjA==
MIME-Version: 1.0
X-Received: by 10.25.34.202 with SMTP id i193mr305169lfi.117.1461037994791;
Mon, 18 Apr 2016 20:53:14 -0700 (PDT)
In-Reply-To: <57152494.6040808@gmx.de>
References: <5713789D DOT 8070708 AT iki DOT fi>
<57152494 DOT 6040808 AT gmx DOT de>
Date: Mon, 18 Apr 2016 22:53:14 -0500
Message-ID: <CAA-ihx-FZgmD1-mB5q-P8C9SBUhjS2UUOibYqGoFvuTxNMc3Cw@mail.gmail.com>
Subject: Re: Test build of gcc-6.0.1-20160415
From: "Rugxulo (rugxulo AT gmail DOT com) [via djgpp-workers AT delorie DOT com]" <djgpp-workers AT delorie DOT com>
To: djgpp-workers AT delorie DOT com
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

--001a113aaf06aed8e90530ce6a43
Content-Type: text/plain; charset=UTF-8

Hi,

On Apr 18, 2016 1:26 PM, "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via
djgpp-workers AT delorie DOT com]" <djgpp-workers AT delorie DOT com> wrote:
>
> Am 17.04.2016 13:50, schrieb Andris Pavenis (andris DOT pavenis AT iki DOT fi) [via
djgpp-workers AT delorie DOT com]:
>>
>> gcc-6.1.0 should not be very far any more:
>
> I have tried to build libc from repository using
g[cc|pp]601_20160415b.zip.
> It fails with the following error message:
>
> gcc ... -c strlen.c
> strlen.c: In function 'strlen':
> strlen.c:10:6: error: nonnull argument 'str' compared to NULL
[-Werror=nonnull-compare]
>    if (str == NULL)
>       ^
> cc1.exe: all warnings being treated as errors
>
> Inspecting the strlen code, it is clear that the offending code segment
is:
>
>   if (str == NULL)
>     return 0;
>
> It seems to be that for some reason, the compiler does assume that the
passed
> argument to the function can never be NULL.  If I understood correctly,
this
> should only be the case if the function is specified like this:
>
> size_t  strlen(const char *_s) __attribute__ ((__nonnull__ (1)));
>
> specifying that _s is never NULL, but this is certainly not the case in
the
> current versions of string.h.
>
> So the question arises if we have to remove all NULL pointer check from
our
> code and if this measure is really wise?  IMHO, we should adjust the
compiler
> checks in such a way that NULL pointer checks are still possible.

Am I naive or can't you use -fno-delete-null-pointer-checks ??

--001a113aaf06aed8e90530ce6a43
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p>Hi,</p>
<p>On Apr 18, 2016 1:26 PM, &quot;Juan Manuel Guerrero (<a href=3D"mailto:j=
uan DOT guerrero AT gmx DOT de">juan DOT guerrero AT gmx DOT de</a>) [via <a href=3D"mailto:djgpp=
-workers AT delorie DOT com">djgpp-workers AT delorie DOT com</a>]&quot; &lt;<a href=3D"m=
ailto:djgpp-workers AT delorie DOT com">djgpp-workers AT delorie DOT com</a>&gt; wrote:<b=
r>
&gt;<br>
&gt; Am 17.04.2016 13:50, schrieb Andris Pavenis (<a href=3D"mailto:andris.=
pavenis AT iki DOT fi">andris DOT pavenis AT iki DOT fi</a>) [via <a href=3D"mailto:djgpp-wor=
kers AT delorie DOT com">djgpp-workers AT delorie DOT com</a>]:<br>
&gt;&gt;<br>
&gt;&gt; gcc-6.1.0 should not be very far any more:<br>
&gt;<br>
&gt; I have tried to build libc from repository using g[cc|pp]601_20160415b=
.zip.<br>
&gt; It fails with the following error message:<br>
&gt;<br>
&gt; gcc ... -c strlen.c<br>
&gt; strlen.c: In function &#39;strlen&#39;:<br>
&gt; strlen.c:10:6: error: nonnull argument &#39;str&#39; compared to NULL =
[-Werror=3Dnonnull-compare]<br>
&gt; =C2=A0 =C2=A0if (str =3D=3D NULL)<br>
&gt; =C2=A0 =C2=A0 =C2=A0 ^<br>
&gt; cc1.exe: all warnings being treated as errors<br>
&gt;<br>
&gt; Inspecting the strlen code, it is clear that the offending code segmen=
t is:<br>
&gt;<br>
&gt; =C2=A0 if (str =3D=3D NULL)<br>
&gt; =C2=A0 =C2=A0 return 0;<br>
&gt;<br>
&gt; It seems to be that for some reason, the compiler does assume that the=
 passed<br>
&gt; argument to the function can never be NULL.=C2=A0 If I understood corr=
ectly, this<br>
&gt; should only be the case if the function is specified like this:<br>
&gt;<br>
&gt; size_t=C2=A0 strlen(const char *_s) __attribute__ ((__nonnull__ (1)));=
<br>
&gt;<br>
&gt; specifying that _s is never NULL, but this is certainly not the case i=
n the<br>
&gt; current versions of string.h.<br>
&gt;<br>
&gt; So the question arises if we have to remove all NULL pointer check fro=
m our<br>
&gt; code and if this measure is really wise?=C2=A0 IMHO, we should adjust =
the compiler<br>
&gt; checks in such a way that NULL pointer checks are still possible.</p>
<p>Am I naive or can&#39;t you use -fno-delete-null-pointer-checks ??<br>
</p>

--001a113aaf06aed8e90530ce6a43--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019