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

From: Dan Nelson <dnelson_at_allantgroup.com>
Date: Thu, 4 Sep 2003 11:28:58 -0500
In the last episode (Sep 04), Alexander Leidinger said:
> At the moment I discussing an issue with Intel regarding 0-sized
> arrays. gcc seems to be violating the standard and produces code with
> an array size of "0", whereas icc produces code where an 0-sized
> array has the size "1". This results in different nm output of
> genassym.o:
[snip] 
>  - If we depend on it: how hard would it be to rewrite it to not depend
>    on 0-sized arrays (and does someone volunteer to rewrite it)? It
>    would be nice if someone could point me to the source if it isn't
>    an easy task, my contact _at_Intel is willing to convince the
>    developers to change icc, but he has to "present a persuasive
>    argument to development to pursue a solution".

If you're talking FreeBSD 5, you should be able to simply subsitute a
C99 "flexible array member" (basically replace "[0]" with "[]") and get
the same effect.  0-length arrays are a gcc extension:

http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html

Under FreeBSD 4.x, you can't use them because gcc 2.95 only supports
the gcc extension.  Intel has added support for a lot of gcc extensions
recently; they may be willing to add this to the list.

-- 
	Dan Nelson
	dnelson_at_allantgroup.com
Received on Thu Sep 04 2003 - 07:29:00 UTC

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