Hi, I tried the following simple code segment in gcc and it gave the incompatible type error as mentioned below.
int main() { int arr[10]; arr = arr; // error: incompatible types when assigning to type ‘int[10]’ from type ‘int *’ } Here it seems GCC is retaining the left hand side type of arr to be array of 10 ints whereas on the right hand side it has changed its type from array to pointer to integer. I tried searching the relevant sections in the standard ISO C document number WG14/N1124 justifying the above behaviour of GCC but failed to conclude it from the specifications. It would be of great help if someone can point me out the relevant sections from the specs. Thanks Dharmendra