diff options
| author | Graydon Hoare <[email protected]> | 2010-11-02 15:24:46 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-11-02 15:24:46 -0700 |
| commit | 7db115834f24eb9d9ccbd2468c9145fdf86be514 (patch) | |
| tree | 5e5e1463ba1201524c6d10690c0982f4b168ba9f /src/boot/driver | |
| parent | First pass on splitting stratum and opacity off of effects. WIP. (diff) | |
| download | rust-7db115834f24eb9d9ccbd2468c9145fdf86be514.tar.xz rust-7db115834f24eb9d9ccbd2468c9145fdf86be514.zip | |
Split out stratum-checking pass, implement more-strict (overly aggressive) impure-effect checking.
Diffstat (limited to 'src/boot/driver')
| -rw-r--r-- | src/boot/driver/llvm/glue.ml | 1 | ||||
| -rw-r--r-- | src/boot/driver/main.ml | 4 | ||||
| -rw-r--r-- | src/boot/driver/session.ml | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/src/boot/driver/llvm/glue.ml b/src/boot/driver/llvm/glue.ml index 03baf04d..da5e5b9d 100644 --- a/src/boot/driver/llvm/glue.ml +++ b/src/boot/driver/llvm/glue.ml @@ -18,6 +18,7 @@ let alt_pipeline sess sem_cx crate = Simplify.process_crate; Type.process_crate; Typestate.process_crate; + Stratum.process_crate; Effect.process_crate; Loop.process_crate; Alias.process_crate; diff --git a/src/boot/driver/main.ml b/src/boot/driver/main.ml index b37f5d93..30310b10 100644 --- a/src/boot/driver/main.ml +++ b/src/boot/driver/main.ml @@ -37,6 +37,7 @@ let (sess:Session.sess) = Session.sess_log_resolve = false; Session.sess_log_type = false; Session.sess_log_simplify = false; + Session.sess_log_stratum = false; Session.sess_log_effect = false; Session.sess_log_typestate = false; Session.sess_log_loop = false; @@ -175,6 +176,8 @@ let argspecs = "-ltype" "log type checking"); (flag (fun _ -> sess.Session.sess_log_simplify <- true) "-lsimplify" "log simplification"); + (flag (fun _ -> sess.Session.sess_log_stratum <- true) + "-lstratum" "log stratum checking"); (flag (fun _ -> sess.Session.sess_log_effect <- true) "-leffect" "log effect checking"); (flag (fun _ -> sess.Session.sess_log_typestate <- true) @@ -378,6 +381,7 @@ let main_pipeline _ = Simplify.process_crate; Type.process_crate; Typestate.process_crate; + Stratum.process_crate; Effect.process_crate; Loop.process_crate; Alias.process_crate; diff --git a/src/boot/driver/session.ml b/src/boot/driver/session.ml index 39848982..49242ac6 100644 --- a/src/boot/driver/session.ml +++ b/src/boot/driver/session.ml @@ -23,6 +23,7 @@ type sess = mutable sess_log_resolve: bool; mutable sess_log_type: bool; mutable sess_log_simplify: bool; + mutable sess_log_stratum: bool; mutable sess_log_effect: bool; mutable sess_log_typestate: bool; mutable sess_log_dead: bool; |