Вот такой простой код: int main( ) { char *a = "Hello"; char *b; b = (a += 4); b = ((char*)a += 4); return 0; } gcc-3.4 компилит без проблем, а gcc-4.0 говорит test.c: In function ‘main’: test.c:7: error: invalid lvalue in assignment Это поведение по стандарту или ошибка в компиляторе?