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

Reply via email to