[project @ 2002-07-15 14:49:17 by simonmar]
authorsimonmar <unknown>
Mon, 15 Jul 2002 14:49:17 +0000 (14:49 +0000)
committersimonmar <unknown>
Mon, 15 Jul 2002 14:49:17 +0000 (14:49 +0000)
Unbreak the registering of foreign exports as stable pointers, which
was brokwn in rev. 1.64.  This will eventually cause any program that
uses the same foreign export repeatedly to seg fault.  Dunno why we
don't have a test for this.

*sigh* the first bad bug in 5.04

MERGE TO STABLE

ghc/compiler/deSugar/DsForeign.lhs

index 84f5529..dd118ad 100644 (file)
@@ -90,7 +90,7 @@ dsForeigns mod_name fos
     = dsFExport mod_name id (idType id) 
                ext_nm cconv False                 `thenDs` \(h, c) ->
       warnDepr depr loc                                   `thenDs` \_              ->
-      returnDs (acc_feb, acc_f, h $$ acc_h, c $$ acc_c, acc_header)
+      returnDs (id:acc_feb, acc_f, h $$ acc_h, c $$ acc_c, acc_header)
 
   warnDepr False _   = returnDs ()
   warnDepr True  loc = dsWarn (addShortWarnLocLine loc msg)