From: panne Date: Sun, 21 Jul 2002 11:46:34 +0000 (+0000) Subject: [project @ 2002-07-21 11:46:34 by panne] X-Git-Tag: Approx_11550_changesets_converted~1824 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=026fa45f1852a836a3bb182a76065da899c163cc;p=ghc-hetmet.git [project @ 2002-07-21 11:46:34 by panne] Long explanation for small commit: With the recent reorganization of #includes, things get a little bit fragile: When gcc with -O is used, glibc's defines a few inline functions (see ), and "Stg.h" defines some global variables which reside in registers. But the latter must happen *before* any function definition has been seen, otherwise the generated code could be invalid. Consequently gcc complains like: In file included from Stg.h:182, from mkNativeHdr.c:12: Regs.h:293: global register variable follows a function definition Regs.h:302: global register variable follows a function definition The solution is quite simple: Always #include "Stg.h" *before* any system headers. --- diff --git a/ghc/includes/mkNativeHdr.c b/ghc/includes/mkNativeHdr.c index c04d158..8bf707b 100644 --- a/ghc/includes/mkNativeHdr.c +++ b/ghc/includes/mkNativeHdr.c @@ -1,5 +1,5 @@ /* -------------------------------------------------------------------------- - * $Id: mkNativeHdr.c,v 1.9 2002/07/17 09:21:49 simonmar Exp $ + * $Id: mkNativeHdr.c,v 1.10 2002/07/21 11:46:34 panne Exp $ * * (c) The GHC Team, 1992-1998 * @@ -7,10 +7,10 @@ * * ------------------------------------------------------------------------*/ -#include - #include "Stg.h" +#include + #define OFFSET(table, x) ((StgUnion *) &(x) - (StgUnion *) (&table)) #define OFFSET_R1 OFFSET(RegTable, RegTable.rR1)