Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Sep 2003 11:40:53 +0200
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        current@freebsd.org
Subject:   Re: Question about genassym, locore.s and 0-sizedarrays(showstopper for   an icc compiled kernel)
Message-ID:  <20030905114053.7bb91783.Alexander@Leidinger.net>
In-Reply-To: <3F585230.6868CB64@mindspring.com>
References:  <20030904180448.021a1b6b.Alexander@Leidinger.net> <20030904162858.GI98381@dan.emsphone.com> <20030905001411.3a9030b3.Alexander@Leidinger.net> <20030904225123.GB39916@dan.emsphone.com> <3F584B85.AAC3A11D@mindspring.com> <20030905105507.51ba3183.Alexander@Leidinger.net> <3F585230.6868CB64@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 05 Sep 2003 02:06:56 -0700
Terry Lambert <tlambert2@mindspring.com> wrote:

> Now try:
> 
> 	struct foo {
> 		char c;
> 		int i;
> 		long array[];
> 	};
> 
> 	struct foo foo;m
> 	struct foo fee[1];
> 	struct foo fie[3];
> 	struct foo foe[0];
> 	struct foo fum[1];
> 
> on both compilers.  If they end up the same, then Intel needs to
> change to using the 0.  If they end up different, then they are
> broken relative to the C99 standard and zero length arrays a final
> elements in structures.

% icc -c terry.c
terry.c(8): warning #1229: type containing an unknown-size array may alias another element
        struct foo fee[1];
                   ^

terry.c(9): warning #1229: type containing an unknown-size array may alias another element
        struct foo fie[3];
                   ^

terry.c(10): warning #1229: type containing an unknown-size array may alias another element
        struct foo foe[0];
                   ^

terry.c(11): warning #1229: type containing an unknown-size array may alias another element
        struct foo fum[1];
                   ^

icc:
00000008 C fee
00000018 C fie
00000008 C foe
00000008 C foo
00000008 C fum

gcc:
00000008 C fee
00000018 C fie
00000000 C foe
00000008 C foo
00000008 C fum

Bye,
Alexander.

-- 
                Where do you think you're going today?

http://www.Leidinger.net                       Alexander @ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030905114053.7bb91783.Alexander>