Re: Question about genassym, locore.s and 0-sizedarrays(showstopper for an icc compiled kernel)

From: Alexander Leidinger <Alexander_at_Leidinger.net>
Date: Fri, 5 Sep 2003 11:40:53 +0200
On Fri, 05 Sep 2003 02:06:56 -0700
Terry Lambert <tlambert2_at_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 _at_ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7
Received on Fri Sep 05 2003 - 00:39:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:21 UTC