Change Pointer to void *

The comment for the Pointer type said 'XXX Pointer arithmetic is done
with this, so it can't be void * under "true" ANSI compilers.'.  This
has been fixed in the previous commit 756a436893.  This now changes
the definition of the type from char * to void *, as envisaged by that
comment.

Extension code that relies on using Pointer for pointer arithmetic
will need to make changes similar to commit 756a436893, but those
changes would be backward compatible.

Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: https://www.postgresql.org/message-id/4154950a-47ae-4223-bd01-1235cc50e933%40eisentraut.org
pull/256/head
Peter Eisentraut 2 weeks ago
parent 756a436893
commit 1b2bb5077e
  1. 6
      src/include/c.h

@ -527,11 +527,9 @@ typedef void (*pg_funcptr_t) (void);
/*
* Pointer
* Variable holding address of any memory resident object.
*
* XXX Pointer arithmetic is done with this, so it can't be void *
* under "true" ANSI compilers.
* (obsolescent; use void * or char *)
*/
typedef char *Pointer;
typedef void *Pointer;
/* Historical names for types in <stdint.h>. */
typedef int8_t int8;

Loading…
Cancel
Save