about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2016-01-20 22:07:33 +1300
committerNick Cameron <ncameron@mozilla.com>2016-01-22 08:19:27 +1300
commit0ac8915875596db90167701c447d9c76396358bb (patch)
tree3f002348f372314c17bfcd2e1195ac1bfd3a0494 /src/libsyntax/ext
parentb1b6b33c6dbae1c72eebc50ba86a267704c2fade (diff)
downloadrust-0ac8915875596db90167701c447d9c76396358bb.tar.gz
rust-0ac8915875596db90167701c447d9c76396358bb.zip
The war on abort_if_errors
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/expand.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 5f27bdfc98a..72537f6c7b2 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -1304,9 +1304,14 @@ pub fn expand_crate(mut cx: ExtCtxt,
             expander.cx.syntax_env.insert(name, extension);
         }
 
+        let err_count = cx.parse_sess.span_diagnostic.err_count();
         let mut ret = expander.fold_crate(c);
         ret.exported_macros = expander.cx.exported_macros.clone();
-        cx.parse_sess.span_diagnostic.abort_if_errors();
+
+        if cx.parse_sess.span_diagnostic.err_count() > err_count {
+            cx.parse_sess.span_diagnostic.abort_if_errors();
+        }
+
         ret
     };
     return (ret, cx.syntax_env.names);