NULL used in arithmetic

Ian Lance Taylor iant@google.com
Wed Jul 1 19:53:00 GMT 2009


Michael Morrell <morrell@alumni.ucsd.edu> writes:

> The following code compiles without warning using g++ version 4.2.1, but I
> get a warning "NULL used in arithmetic" with version 4.3.3.  Is the code
> wrong or is the compiler wrong?
>
> ================================
> #include <stddef.h>
>
> class FooClass
> {
> };
>
> typedef void (FooClass::*foo_type)(void);
>
> int foo(foo_type x)
> {
>     return x != NULL;
> }
> ================================


I believe the compiler is wrong.

However, I can't recreate the problem using gcc 4.3.2, nor with
mainline.  I'm not sure why you are seeing that.

Ian



More information about the Gcc-help mailing list