Re: git: 05c9a0158f68 - main - libc: Add strverscmp(3) and versionsort(3)

From: Brooks Davis <brooks_at_freebsd.org>
Date: Thu, 25 Aug 2022 21:33:47 UTC
On Thu, Aug 25, 2022 at 04:22:56AM +0300, Konstantin Belousov wrote:
> On Thu, Aug 25, 2022 at 02:07:12AM +0100, Jessica Clarke wrote:
> > On 25 Aug 2022, at 01:29, Konstantin Belousov <kib@FreeBSD.org> wrote:
> > > +	const unsigned char *u1 = __DECONST(const unsigned char *, s1);
> > > +	const unsigned char *u2 = __DECONST(const unsigned char *, s2);
> > 
> > Why is __DECONST needed? Casting from const char * to const unsigned
> > char * should never warn, surely?
> 
> I requested the use of __DECONST there. Nobody knows what would be next
> trend in the C language breaking among compiler writers. We guarantee
> that __DECONST() is adopted to whatever warnings are added.

We're not going to add an obfuscated cast through uintptr_t for every
change of signedness.  That would be absurd and there is no reason to
belive a future C would ever require it.

-- Brooks