Question about genassym, locore.s and 0-sizedarrays(showstopper
 for   an icc compiled kernel)
    Alexander Leidinger 
    Alexander at Leidinger.net
       
    Fri Sep  5 02:39:28 PDT 2003
    
    
  
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 @ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7
    
    
More information about the freebsd-current
mailing list