about summary refs log tree commit diff
path: root/src/boot/driver
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2010-10-08 14:54:51 -0700
committerGraydon Hoare <graydon@mozilla.com>2010-10-08 14:54:51 -0700
commit5f2459145cb90d7d52cfde1d4ed7719dde1dfdc0 (patch)
tree7f2305524744f4b7fb02469f3c9ab0e64b4c9577 /src/boot/driver
parente3758fe321725bec4707e1b7d4fff333ba915905 (diff)
downloadrust-5f2459145cb90d7d52cfde1d4ed7719dde1dfdc0.tar.gz
rust-5f2459145cb90d7d52cfde1d4ed7719dde1dfdc0.zip
Add -lpath mechanism for logging only a subset of a pass (by module-path prefix)
Diffstat (limited to 'src/boot/driver')
-rw-r--r--src/boot/driver/main.ml5
-rw-r--r--src/boot/driver/session.ml1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/boot/driver/main.ml b/src/boot/driver/main.ml
index eacecc2d4f2..0024f2fd75e 100644
--- a/src/boot/driver/main.ml
+++ b/src/boot/driver/main.ml
@@ -51,6 +51,7 @@ let (sess:Session.sess) =
     Session.sess_log_asm = false;
     Session.sess_log_obj = false;
     Session.sess_log_lib = false;
+    Session.sess_log_path = None;
     Session.sess_log_out = stdout;
     Session.sess_log_err = stderr;
     Session.sess_trace_block = false;
@@ -199,6 +200,10 @@ let argspecs =
     (flag (fun _ -> sess.Session.sess_log_lib <- true)
        "-llib"        "log library search");
 
+    ("-lpath", Arg.String
+       (fun s -> sess.Session.sess_log_path <- Some (split_string '.' s)),
+     "module path to restrict logging to");
+
     (flag (fun _ -> sess.Session.sess_trace_block <- true)
        "-tblock"      "emit block-boundary tracing code");
     (flag (fun _ -> sess.Session.sess_trace_drop <- true)
diff --git a/src/boot/driver/session.ml b/src/boot/driver/session.ml
index 8d7c331965c..d9317a6c267 100644
--- a/src/boot/driver/session.ml
+++ b/src/boot/driver/session.ml
@@ -37,6 +37,7 @@ type sess =
   mutable sess_log_asm: bool;
   mutable sess_log_obj: bool;
   mutable sess_log_lib: bool;
+  mutable sess_log_path: (string list) option;
   mutable sess_log_out: out_channel;
   mutable sess_log_err: out_channel;
   mutable sess_trace_block: bool;