Hi, Christoph Lameter <[EMAIL PROTECTED]> writes:
> On Wed, 16 Jan 2008, Johannes Weiner wrote: > >> So if I got it right and you actually modify the memory you only got a >> const pointer to, you reach a level where you _have to_ break this >> policy and cast to a non-const pointer, as it is currently done in >> kfree(). No? > > Correct and we have gcc 4.2 currently spitting out warnings because of > casting to non const. Any idea how to convince gcc that this is okay? Just for the record, this really seems to be a gcc bug, I can not explain this otherwise: $ cat test.c #include <stdio.h> static void test(void *p) { char *v = p; puts(v); } int main(void) { const char foo[] = "foo"; test((void *)foo); return 0; } $ gcc -Wall test.c -o test $ gcc -Wall -O test.c -o test test.c: In function 'main': test.c:12: warning: passing argument 1 of 'test' discards qualifiers from pointer target type $ gcc -Wall -O -fno-inline test.c -o test $ gcc is version 4.2.2. Hannes -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/