Question about genassym, locore.s and 0-sized arrays
(showstopper for an icc compiled kernel)
Dan Nelson
dnelson at allantgroup.com
Thu Sep 4 09:29:00 PDT 2003
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 @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
More information about the freebsd-current
mailing list