[2/2] system_data_types.7: void *: Add info about pointer artihmetic

Message ID 20201002094451.17997-1-colomar.6.4.3@gmail.com
State Not applicable
Headers
Series None |

Commit Message

Alejandro Colomar Oct. 2, 2020, 9:44 a.m. UTC
  Reported-by: Paul Eggert <eggert@cs.ucla.edu>
Reported-by: David Laight <David.Laight@ACULAB.COM>
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
---

Paul and David,
Thanks for your input!

Alex


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

Comments

Alejandro Colomar Oct. 2, 2020, 9:46 a.m. UTC | #1
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 <eggert@cs.ucla.edu>
> Reported-by: David Laight <David.Laight@ACULAB.COM>
> Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
> ---
> 
> 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 *
>
  

Patch

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 *