2020-10-02 09:48:00

by Alejandro Colomar

[permalink] [raw]
Subject: [PATCH 2/2] system_data_types.7: void *: Add info about pointer artihmetic

Reported-by: Paul Eggert <[email protected]>
Reported-by: David Laight <[email protected]>
Signed-off-by: Alejandro Colomar <[email protected]>
---

Paul and David,
Thanks for your input!

Alex


man7/system_data_types.7 | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/man7/system_data_types.7 b/man7/system_data_types.7
index 6451782db..bc7d5a8a0 100644
--- a/man7/system_data_types.7
+++ b/man7/system_data_types.7
@@ -1918,6 +1918,17 @@ A value of this type can't be dereferenced,
as it would give a value of type
.I void
which is not possible.
+Likewise, pointer arithmetic is not possible with this type.
+However, in GNU C, poitner arithmetic is allowed
+as an extension to the standard;
+this is done by treating the size of a
+.I void
+or of a function as 1.
+A consequence of this is that
+.I sizeof
+is also allowed on
+.I void
+and on function types, and returns 1.
.PP
The conversion specifier for
.I void *
--
2.28.0


2020-10-02 09:48:02

by Alejandro Colomar

[permalink] [raw]
Subject: Re: [PATCH 2/2] system_data_types.7: void *: Add info about pointer artihmetic

Hi Michael,

The 2/2 is a typo. This is a standalone patch.

Cheers,

Alex

On 2020-10-02 11:44, Alejandro Colomar wrote:
> Reported-by: Paul Eggert <[email protected]>
> Reported-by: David Laight <[email protected]>
> Signed-off-by: Alejandro Colomar <[email protected]>
> ---
>
> Paul and David,
> Thanks for your input!
>
> Alex
>
>
> man7/system_data_types.7 | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/man7/system_data_types.7 b/man7/system_data_types.7
> index 6451782db..bc7d5a8a0 100644
> --- a/man7/system_data_types.7
> +++ b/man7/system_data_types.7
> @@ -1918,6 +1918,17 @@ A value of this type can't be dereferenced,
> as it would give a value of type
> .I void
> which is not possible.
> +Likewise, pointer arithmetic is not possible with this type.
> +However, in GNU C, poitner arithmetic is allowed
> +as an extension to the standard;
> +this is done by treating the size of a
> +.I void
> +or of a function as 1.
> +A consequence of this is that
> +.I sizeof
> +is also allowed on
> +.I void
> +and on function types, and returns 1.
> .PP
> The conversion specifier for
> .I void *
>