Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/compile/link.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/compile/link.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 572, Thu Mar 9 02:43:06 2000 UTC revision 573, Thu Mar 9 15:23:52 2000 UTC
# Line 47  Line 47 
47          where type bfc = BFC.bfc =          where type bfc = BFC.bfc =
48      struct      struct
49    
50            exception Link of exn
51    
52          structure BF = MachDepVC.Binfile          structure BF = MachDepVC.Binfile
53    
54          type bfc = BF.bfContent          type bfc = BF.bfContent
# Line 116  Line 118 
118                       PP.add_newline pps)                       PP.add_newline pps)
119              in              in
120                  error (concat [msg, " ", descr]) ppb;                  error (concat [msg, " ", descr]) ppb;
121                  raise exn                  raise Link exn
122              end              end
123    
124              (* We invoke mk_de here and only if we don't have the value              (* We invoke mk_de here and only if we don't have the value
# Line 164  Line 166 
166                                           SmlInfo.error gp i EM.COMPLAIN,                                           SmlInfo.error gp i EM.COMPLAIN,
167                                           SmlInfo.descr i,                                           SmlInfo.descr i,
168                                           exn))                                           exn))
169                  end handle _ => NONE                  end handle exn as Link _ => raise exn
170                             | _ => NONE
171              in              in
172                  case SmlInfo.sh_mode i of                  case SmlInfo.sh_mode i of
173                      Sharing.SHARE _ =>                      Sharing.SHARE _ =>
# Line 295  Line 298 
298    
299              fun sbn (DG.SB_BNODE (DG.BNODE { bininfo, ... }, _)) = let              fun sbn (DG.SB_BNODE (DG.BNODE { bininfo, ... }, _)) = let
300                      val b = valOf (StableMap.find (!stablemap, bininfo))                      val b = valOf (StableMap.find (!stablemap, bininfo))
301                      fun th gp =                      fun th gp = SOME (bnode b gp)
302                          SOME (bnode b gp)                          handle exn as Link _ => raise exn
303                          handle exn => NONE                               | _ => NONE
304                  in                  in
305                      (th, [])                      (th, [])
306                  end                  end
# Line 327  Line 330 
330    
331              and fsbn (_, n) = sbn n              and fsbn (_, n) = sbn n
332    
333              fun impexp (n, _) = #1 (fsbn n)              fun impexp (n, _) gp = #1 (fsbn n) gp
334                    handle Link exn => raise exn
335    
336              val exports' = SymbolMap.map impexp exports              val exports' = SymbolMap.map impexp exports
337    

Legend:
Removed from v.572  
changed lines
  Added in v.573

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0