Yes! There are compilers that will not compile code that writes into const locations. This is what Sun's compiler (sunpro version 4.0) has to say: void xxx (char *foo) { *(const char *)foo = 1; } cc -o foo foo.c "foo.c", line 2: left operand must be modifiable lvalue: op "=" cc: acomp failed for foo.c *** Error code 2 gcc 2.7 issues a warning.