Patch: Add __restrict to string.h
Craig Howland
howland@LGSInnovations.com
Mon Jul 22 15:21:00 GMT 2013
On 07/19/2013 05:55 AM, Corinna Vinschen wrote:
> On Jul 18 17:42, Joel Sherrill wrote:
>> I was leaning that way but waffled. Anyone else want restrict in the docs?
> Yes, that makes sense, following SUS docs.
>
>
> Corinna
>
We should be using "restrict" everywhere, not only in the docs. The C standard
defines restrict as a keyword, just as it does const, volatile, etc. And it has
been standard for more than 13 years. We do not use __const in headers, even
though before C89 it was not standard but available as a GCC extension. So
while 15 years ago using __restrict would have made sense, it is not appropriate
now.
$ cd libc/include
$ grep __const *.h | wc -l
1
$ grep const *.h | grep -v __const | wc -l
402
I do realize that this does not fit exactly with the sys/cdefs.h which has
recently been brought into sync with FreeBSD, but this would be a trivial
difference. This type of thing--having gratuitous differences from the
standard--will only lead to confusion and questions among the majority of
maintainers. Why is it this way? Etc. Then we'll need someone in the know to
explain. You get the point. While I do see the advantages of trying to be the
same, we should not be blindly using someone else's excess baggage (or
13.5-year-old extension diction).
We're making a new start on restrict in newlib. (Thank you, Joel, for starting
the ball rolling.) We should make it clean.
Craig
(Sorry for the lag on this, but I was away. Joel, if you'd like, I'd even edit
your patch to make the change.)
More information about the Newlib
mailing list