This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc rejects enum/int compatibility
- From: Andrew Makhorin <mao at gnu dot org>
- To: Edwin Pujols <edwinpm5 at gmail dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Mon, 29 Dec 2014 23:45:50 +0300
- Subject: Re: gcc rejects enum/int compatibility
- Authentication-results: sourceware.org; auth=none
- References: <1419878756 dot 7716 dot 1 dot camel at corvax> <CACvT2bbCdtauBgseTgixq=1x+DbQ+TTf9d0LSEOMqYFqvbrR-g at mail dot gmail dot com>
Thank you for your response.
On Mon, 2014-12-29 at 16:05 -0400, Edwin Pujols wrote:
> > extern enum { red, green, blue } foo;
> > int foo = green;
> > ...
> > ...
> > Please explain me what is wrong.
>
> You are declaring `foo' twice,
This is correct, because 'foo' has external linkage.
> this works:
>
> extern enum { red, green, blue } foo;
>
> int bar = green;
>
> int main(void)
> {
> printf("bar = %d\n", bar);
> return 0;
> }
>