Bug on sizeof(void) == 1, must be undefined or negative, == -100000.

jc-nospam@jr-pizarro.jazztel.es jc-nospam@jr-pizarro.jazztel.es
Fri Jun 17 21:51:00 GMT 2005


On Jun 17, 2005, at 17:31:34, pinskia@physics.uc.edu wrote:

> 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

Conclusion: the GNU's law is:

             "void IS A byte"
            (1 void == 1 byte)

-- J.C. --



More information about the Gcc-bugs mailing list