Reported-by: Paul Eggert <eggert@xxxxxxxxxxx> Reported-by: David Laight <David.Laight@xxxxxxxxxx> Signed-off-by: Alejandro Colomar <colomar.6.4.3@xxxxxxxxx> --- Paul and David, Thanks for your input! Alex man7/system_data_types.7 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index aab64e002..6451782db 100644 --- a/man7/system_data_types.7 +++ b/man7/system_data_types.7 @@ -1903,6 +1903,16 @@ and back. .PP Conversions from and to any other pointer type are done implicitly, not requiring casts at all. +Note that this feature prevents any kind of type checking: +the programmer should be careful not to cast a +.I void * +value to a type incompatible to that of the underlying data, +because that would result in undefined behavior. +.PP +This type is useful in function parameters and return value +to allow passing values of any type. +The function will usually use some mechanism to know +of which type the underlying data passed to the function really is. .PP A value of this type can't be dereferenced, as it would give a value of type @@ -1926,6 +1936,12 @@ values. Conforming to: C99 and later; POSIX.1-2001 and later. .PP +See also: +.BR malloc (3), +.BR memcmp (3), +.BR memcpy (3), +.BR memset (3) +.PP See also the .I intptr_t and -- 2.28.0