[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aecf70d7-964d-b7ea-712a-3d9108c4e9b4@cs.ucla.edu>
Date: Fri, 2 Oct 2020 10:00:21 -0700
From: Paul Eggert <eggert@...ucla.edu>
To: David Laight <David.Laight@...LAB.COM>,
'Alejandro Colomar' <colomar.6.4.3@...il.com>
Cc: "mtk.manpages@...il.com" <mtk.manpages@...il.com>,
"linux-man@...r.kernel.org" <linux-man@...r.kernel.org>,
"libc-alpha@...rceware.org" <libc-alpha@...rceware.org>,
"gcc@....gnu.org" <gcc@....gnu.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 1/2] system_data_types.7: Add 'void *'
On 10/2/20 2:10 AM, David Laight wrote:
>> > Also, you should
>> > warn that because one can convert from any pointer type to void * and
>> > then to any other pointer type, it's a deliberate hole in C's
>> > type-checking.
>>
> That isn't what the C standard says at all.
> What is says is that you can cast any data pointer to 'void *'
> and then cast it back to the same type.
I was talking about compile-time checking; you're talking about run-time
behavior. We're both right in our own domains. It is a tricky area, and this
suggests that perhaps we shouldn't be trying to document this stuff in a
libc/kernel manual.
Powered by blists - more mailing lists