[Gc] Win64 GCC supprt

NightStrike nightstrike at gmail.com
Thu Jun 18 13:02:33 PDT 2009


Hello,

I am an admin of the mingw-w64.sf.net project.  We have ported GCC to
Win64 along with all of the required parts.  We are now on to get all
the languages worked.  So far, the only remaining two are ada and
java.  Java for GCC requires, among other things, boehm-gc.  That is
now next in the list of things to get working.  Is there anyone here
that can help out with this?

Working off of HEAD, I can see two initial problems.  First, this from gc.h:

/* Define word and signed_word to be unsigned and signed types of the   */
/* size as char * or void *.  There seems to be no way to do this       */
/* even semi-portably.  The following is probably no better/worse       */
/* than almost anything else.                                           */
/* The ANSI standard suggests that size_t and ptrdiff_t might be        */
/* better choices.  But those had incorrect definitions on some older   */
/* systems.  Notably "typedef int size_t" is WRONG.                     */


The type you want is intptr_t from inttypes.h


Second, compiling yields this failure:

../mallocx.c:32:1: error: initializer element is not constant
../mallocx.c:33:1: error: initializer element is not constant
../mallocx.c:34:1: error: initializer element is not constant
../mallocx.c:36:5: error: initializer element is not constant


It appears that certain things are being initialized by variables, and
this is not AFAIK supported.  Any ideas on a fix for that?


More information about the Gc mailing list