This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: array semantic query
- From: Andrew Haley <aph at redhat dot com>
- To: dharmendra pandit <pandit dot dharmendra at gmail dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Sat, 18 Jul 2009 11:21:36 +0100
- Subject: Re: array semantic query
- References: <6215dcff0907180232l1c7291eclbc006cabd02224a4@mail.gmail.com> <6215dcff0907180235g7b4e6b7bl18f151db959a989d@mail.gmail.com>
On 07/18/2009 10:35 AM, dharmendra pandit wrote:
> 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.
6.3.2.1 Para 3.
I'm surprised you ask, since this convention has been used since early
K&R C.
Andrew.