From: David Malcolm <dmalcolm@redhat.com>
To: Alejandro Colomar <alx@kernel.org>
Cc: Paul Eggert <eggert@cs.ucla.edu>,
gcc@gcc.gnu.org, linux-man@vger.kernel.org, xry111@xry111.site,
jakub@redhat.com, uecker@tugraz.at, lh_mouse@126.com,
jwakely.gcc@gmail.com, Richard.Earnshaw@arm.com, sam@gentoo.org,
ben.boeckel@kitware.com, heiko.eissfeldt@siemens.com,
libc-alpha@sourceware.org
Subject: Re: WG14 paper for removing restrict from nptr in strtol(3)
Date: Mon, 08 Jul 2024 18:48:51 -0400 [thread overview]
Message-ID: <bf77f96425a17ee62f31ca760fb6487e3ede3685.camel@redhat.com> (raw)
In-Reply-To: <flrf5shec7kc466bze35ohi5u2r7svf3nky5dvpnih2djcybo3@f5yvxiwfivos>
On Mon, 2024-07-08 at 17:01 +0200, Alejandro Colomar wrote:
> On Mon, Jul 08, 2024 at 10:30:48AM GMT, David Malcolm wrote:
> > > > Why is this change worth
> > > > making? Real-world programs do not make calls like that.
> > >
> > > Because it makes analysis of 'restrict' more consistent. The
> > > obvious
> > > improvement of GCC's analyzer to catch restrict violations will
> > > trigger
> > > false positives in normal uses of strtol(3).
> >
> > Hi Alejandro
>
> Hi Dave,
>
> > I'm author/maintainer of GCC's -fanalyzer option, which is
> > presumably
> > why you CCed me on this.
>
> Yup.
>
> > One of my GSoC 2022 students (Tim Lange)
> > looked at making use of 'restrict' in -fanalyzer, see e.g.
> > https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00062.html
> >
> > Based on Paul's comment here:
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99860#c2 (and its
> > references) I came to the conclusion at the time that we should
> > work on
> > something else, as the meaning of 'restrict' is too ambiguous.
>
> restrict, as of the formal definition of ISO C is useless crap. The
> more I read it, the more I agree.
Please note that "useless crap" was your wording, not mine.
>
> restrict, as of what -Wrestrict warns about, seems a reasonable
> thing.
>
> How about a [[gnu::restrict()]] attribute, similar to
> [[gnu::access()]],
> which is simpler than the qualifier? Since restrict is only
> meaningful
> in function boundaries, it would make sense to have a function
> attribute. We don't want a qualifier that must follow discarding
> rules.
If it doesn't have the same meaning as "restrict" then perhaps call the
proposed attribute something other than "restrict"?
That said, I don't have strong opinions on any of this, except to note
that I have more than enough *other* work on improvements to GCC's
static analyzer and usability to keep me busy, so getting sucked into
discussion/implementation on 'restrict' is something I want to avoid,
and -Wanalyzer-overlapping-buffers is getting the job done for me at
the moment.
[...snip...]
Hope this is constructive; sorry again if I missed anything due to only
skimming the thread
Dave
next prev parent reply other threads:[~2024-07-08 22:48 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20240705130249.14116-2-alx@kernel.org>
[not found] ` <38982a470643f766747b0ca06b27ca859a87b101.camel@xry111.site>
2024-07-05 14:37 ` [PATCH v1] Remove 'restrict' from 'nptr' in strtol(3)-like functions Alejandro Colomar
2024-07-05 15:02 ` Martin Uecker
2024-07-05 15:23 ` Alejandro Colomar
2024-07-05 15:34 ` Martin Uecker
2024-07-05 15:53 ` Alejandro Colomar
2024-07-05 16:01 ` Xi Ruoyao
2024-07-05 16:17 ` Xi Ruoyao
2024-07-05 16:24 ` Jonathan Wakely
2024-07-05 16:30 ` Martin Uecker
2024-07-05 19:28 ` Alejandro Colomar
2024-07-05 19:38 ` Jonathan Wakely
2024-07-05 19:47 ` Alejandro Colomar
2024-07-05 19:52 ` Jonathan Wakely
2024-07-05 20:11 ` Alejandro Colomar
2024-07-05 20:15 ` Emanuele Torre
2024-07-05 20:31 ` Ben Boeckel
2024-07-05 20:25 ` Martin Uecker
2024-07-05 20:28 ` Jonathan Wakely
2024-07-05 20:41 ` Alejandro Colomar
2024-07-05 20:55 ` Alejandro Colomar
2024-07-05 21:39 ` Jonathan Wakely
2024-07-05 22:02 ` Alejandro Colomar
2024-07-05 22:04 ` Alejandro Colomar
2024-07-06 2:24 ` Xi Ruoyao
2024-07-06 2:39 ` Xi Ruoyao
2024-07-06 5:51 ` [[gnu::null_terminated_string_arg(1)]] on strtol(1) (was: [PATCH v1] Remove 'restrict' from 'nptr' in strtol(3)-like) functions Alejandro Colomar
2024-07-06 6:10 ` [PATCH v1] Remove 'restrict' from 'nptr' in strtol(3)-like functions Alejandro Colomar
2024-07-06 6:11 ` Alejandro Colomar
2024-07-05 16:32 ` Sam James
2024-07-05 16:02 ` Martin Uecker
2024-07-05 16:11 ` Jonathan Wakely
2024-07-05 16:21 ` Richard Earnshaw (lists)
2024-07-05 15:54 ` LIU Hao
2024-07-05 15:55 ` Xi Ruoyao
2024-07-05 16:32 ` Alejandro Colomar
2024-07-05 17:32 ` Alejandro Colomar
2024-07-05 19:41 ` [WG14] Request for document number; strtol restrictness Alejandro Colomar
2024-07-07 15:46 ` Daniel Plakosh
2024-07-09 19:00 ` Alejandro Colomar
2024-07-09 20:04 ` Daniel Plakosh
2024-07-07 1:58 ` WG14 paper for removing restrict from nptr in strtol(3) Alejandro Colomar
2024-07-07 7:15 ` Martin Uecker
2024-07-07 11:07 ` Alejandro Colomar
2024-07-07 12:21 ` Martin Uecker
2024-07-07 13:10 ` Alejandro Colomar
2024-07-07 10:42 ` Paul Eggert
2024-07-07 12:42 ` Alejandro Colomar
2024-07-07 17:30 ` Paul Eggert
2024-07-07 22:52 ` Alejandro Colomar
2024-07-09 12:09 ` Paul Eggert
2024-07-09 17:36 ` Alejandro Colomar
2024-07-08 14:30 ` David Malcolm
2024-07-08 15:01 ` Alejandro Colomar
2024-07-08 16:05 ` Martin Uecker
2024-07-08 20:17 ` Alejandro Colomar
2024-07-09 5:58 ` Martin Uecker
2024-07-09 9:26 ` Alejandro Colomar
2024-07-08 22:48 ` David Malcolm [this message]
2024-07-09 9:07 ` Alejandro Colomar
2024-07-09 9:18 ` Jakub Jelinek
2024-07-09 10:28 ` Alejandro Colomar
2024-07-09 11:28 ` Alejandro Colomar
2024-07-09 22:42 ` n3294 - The restrict function attribute as a replacement of the restrict qualifier Alejandro Colomar
2024-07-26 16:24 ` Joseph Myers
2024-07-26 16:35 ` G. Branden Robinson
2024-07-26 19:53 ` Alejandro Colomar
2024-07-26 18:50 ` Paul Eggert
2024-07-26 20:11 ` Alejandro Colomar
2024-07-26 20:30 ` Joseph Myers
2024-07-26 21:14 ` Alejandro Colomar
2024-07-26 21:22 ` Joseph Myers
2024-07-26 21:49 ` Alejandro Colomar
2024-07-26 22:03 ` Martin Uecker
2024-07-26 22:26 ` Alejandro Colomar
2024-07-26 22:59 ` Martin Uecker
2024-07-27 8:44 ` Alejandro Colomar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bf77f96425a17ee62f31ca760fb6487e3ede3685.camel@redhat.com \
--to=dmalcolm@redhat.com \
--cc=Richard.Earnshaw@arm.com \
--cc=alx@kernel.org \
--cc=ben.boeckel@kitware.com \
--cc=eggert@cs.ucla.edu \
--cc=gcc@gcc.gnu.org \
--cc=heiko.eissfeldt@siemens.com \
--cc=jakub@redhat.com \
--cc=jwakely.gcc@gmail.com \
--cc=lh_mouse@126.com \
--cc=libc-alpha@sourceware.org \
--cc=linux-man@vger.kernel.org \
--cc=sam@gentoo.org \
--cc=uecker@tugraz.at \
--cc=xry111@xry111.site \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.