Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/typechecker/typechecker.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/typechecker/typechecker.sml

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

revision 4623, Sat Sep 24 13:42:51 2016 UTC revision 4624, Sat Sep 24 19:24:23 2016 UTC
# Line 53  Line 53 
53            in            in
54            (* check for unused/uninitialized variables *)            (* check for unused/uninitialized variables *)
55              CheckVarUses.check (cxt, prog);              CheckVarUses.check (cxt, prog);
56            (* check for die in a program that produces an array result *)            (* check for new/die in a program that produces an array result *)
57              if Properties.hasProp Properties.StrandsMayDie props              if Properties.hasProp Properties.StrandGrid props
             andalso Properties.hasProp Properties.StrandGrid props  
58                then let                then let
59                    fun err kind = let
60                  val cxt = (case create                  val cxt = (case create
61                         of PT.CR_Mark{span, ...} => (#1 cxt, span)                         of PT.CR_Mark{span, ...} => (#1 cxt, span)
62                          | _ => cxt                          | _ => cxt
63                        (* end case *))                        (* end case *))
64                  in                  in
65                    TypeError.error(cxt, [                    TypeError.error(cxt, [
66                        TypeError.S "'create_array' conflicts with use of 'die';\                              TypeError.S "'create_array' conflicts with previous use of '",
67                          \ use 'create_collection' instead."                              TypeError.S kind,
68                                TypeError.S "'; use 'create_collection' instead."
69                      ])                      ])
70                  end                  end
71                    in
72                      if Properties.hasProp Properties.StrandsMayDie props
73                        then err "die"
74                        else ();
75                      if Properties.hasProp Properties.NewStrands props
76                        then err "new"
77                        else ()
78                    end
79                else ();                else ();
80              (prog, E.globalEnv env)              (prog, E.globalEnv env)
81            end            end

Legend:
Removed from v.4623  
changed lines
  Added in v.4624

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