Re: [PATCH 00/10] Kernel memory leak detector 0.8

From: Catalin Marinas
Date: Wed Jul 12 2006 - 06:37:01 EST


On 12/07/06, Joseph Fannin <jfannin@xxxxxxxxx> wrote:
On Tue, Jul 11, 2006 at 02:00:05PM +0100, Catalin Marinas wrote:
> That's a bug in gcc-4. The __builtin_constant_p() function always
> returns true even when the argument is not a constant. You could try a
> gcc-3.4 or a patched gcc.

Which gcc versions are affected by this?

From gcc-4.0 I think but I don't know when/if it was fixed in the
latest. I use CodeSourcery's toolchain and they fixed in in gcc-4.1
but that's with their own patches. Try to compile the code below. It
should work if the toolchain is OK:

#include <stdlib.h>

#define EXPR atoi(argv[1])

int main(int argc, char *argv[])
{
static int a[] = {
__builtin_constant_p(EXPR) ? EXPR : 0
};

return a[0];
}

--
Catalin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/