On Jun 17, 2005, at 5:27 PM, [EMAIL PROTECTED] wrote:
On Jun 17, 2005, at 17:05:37, [EMAIL PROTECTED] wrote:
void *z = y; // -> z = 0xBAD0DAD5
z++; // adding +0? adding +1? adding +4? abort this error?
Since this is a GNU extension, GCC defines as adding 1. See the
documentation
where this is documented.
http://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Pointer-Arith.html#Pointer-
Arith
In GNU C, addition and subtraction operations are supported on
pointers to void and on pointers to functions. This is done by treating
the size of a void or of a function as 1.
A consequence of this is that sizeof is also allowed on void and on
function types, and returns 1.
The option -Wpointer-arith requests a warning if these extensions are
used.
-- Pinski