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/ml-nlffigen/ast-to-spec.sml
ViewVC logotype

Diff of /sml/trunk/src/ml-nlffigen/ast-to-spec.sml

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

revision 873, Mon Jul 9 15:26:20 2001 UTC revision 874, Mon Jul 9 20:01:40 2001 UTC
# Line 19  Line 19 
19    
20      fun build (bundle, sizes: Sizes.sizes, idlfile, allSU, eshift) = let      fun build (bundle, sizes: Sizes.sizes, idlfile, allSU, eshift) = let
21    
22            val curLoc = ref "?"
23    
24          val errorState = Error.mkErrState TextIO.stdErr          val errorState = Error.mkErrState TextIO.stdErr
25    
26          fun warnLoc (l, m) = Error.warning (errorState, l, m)          fun warnLoc m = warn (concat [!curLoc, ": ", m])
27    
28          val { ast, tidtab, errorCount, warningCount,          val { ast, tidtab, errorCount, warningCount,
29                auxiliaryInfo = { aidtab, implicits, env } } = bundle                auxiliaryInfo = { aidtab, implicits, env } } = bundle
# Line 289  Line 291 
291                           [arg] => (case getCoreType arg of                           [arg] => (case getCoreType arg of
292                                         A.Void => []                                         A.Void => []
293                                       | _ => [valty_nonvoid arg])                                       | _ => [valty_nonvoid arg])
294                         | _ => map valty_nonvoid args }                         | _ => let fun build [] = []
295                                        | build [x] =
296                                          ([valty_nonvoid x]
297                                           handle Ellipsis =>
298                                                  (warnLoc
299                                                       ("varargs not supported; \
300                                                        \ignoring the ellipsis\n");
301                                                       []))
302                                        | build (x :: xs) =
303                                          valty_nonvoid x :: build xs
304                                  in
305                                      build args
306                                  end }
307    
308          fun functionName (f: A.id) = let          fun functionName (f: A.id) = let
309              val n = Symbol.name (#name f)              val n = Symbol.name (#name f)
# Line 333  Line 347 
347            | coreExternalDecl (A.ExternalDeclExt _) = ()            | coreExternalDecl (A.ExternalDeclExt _) = ()
348    
349          fun externalDecl (A.DECL (d, _, l)) =          fun externalDecl (A.DECL (d, _, l)) =
350              if isThisFile l then              if isThisFile l then (curLoc := SourceMap.locToString l;
351                  coreExternalDecl d                                    coreExternalDecl d)
                 handle Ellipsis =>  
                        warnLoc (l, "varargs not supported; \  
                                    \skipping this function or function type")  
352              else ()              else ()
353    
354          fun doast l = app externalDecl l          fun doast l = app externalDecl l

Legend:
Removed from v.873  
changed lines
  Added in v.874

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