From b653fa0c4a990a7af7413f21a79568a30b597667 Mon Sep 17 00:00:00 2001 From: Seo Sanghyeon Date: Thu, 6 Feb 2014 02:16:44 +0900 Subject: Avoid cloning ast::CrateConfig --- src/libsyntax/ext/expand.rs | 3 +-- src/libsyntax/parse/mod.rs | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index ae93c235ad2..9037446a9c3 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -800,9 +800,8 @@ impl<'a> Folder for MacroExpander<'a> { pub fn expand_crate(parse_sess: @parse::ParseSess, loader: &mut CrateLoader, - cfg: ast::CrateConfig, c: Crate) -> Crate { - let mut cx = ExtCtxt::new(parse_sess, cfg.clone(), loader); + let mut cx = ExtCtxt::new(parse_sess, c.config.clone(), loader); let mut expander = MacroExpander { extsbox: syntax_expander_table(), cx: &mut cx, diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index 328f0e7f221..abadcee26a7 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -74,7 +74,7 @@ pub fn parse_crate_from_file( cfg: ast::CrateConfig, sess: @ParseSess ) -> ast::Crate { - new_parser_from_file(sess, /*bad*/ cfg.clone(), input).parse_crate_mod() + new_parser_from_file(sess, cfg, input).parse_crate_mod() // why is there no p.abort_if_errors here? } @@ -94,7 +94,7 @@ pub fn parse_crate_from_source_str(name: ~str, sess: @ParseSess) -> ast::Crate { let mut p = new_parser_from_source_str(sess, - /*bad*/ cfg.clone(), + cfg, name, source); maybe_aborted(p.parse_crate_mod(),p) @@ -106,7 +106,7 @@ pub fn parse_crate_attrs_from_source_str(name: ~str, sess: @ParseSess) -> ~[ast::Attribute] { let mut p = new_parser_from_source_str(sess, - /*bad*/ cfg.clone(), + cfg, name, source); let (inner, _) = maybe_aborted(p.parse_inner_attrs_and_next(),p); -- cgit 1.4.1-3-g733a5 From 5719ff73bfe2f9ed769ad3f454407aac6a727444 Mon Sep 17 00:00:00 2001 From: Seo Sanghyeon Date: Fri, 7 Feb 2014 00:28:50 +0900 Subject: Fix expansion tests --- src/libsyntax/ext/expand.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 9037446a9c3..76aa0e981bd 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -1032,7 +1032,7 @@ mod test { ~[],sess); // should fail: let mut loader = ErrLoader; - expand_crate(sess,&mut loader,~[],crate_ast); + expand_crate(sess,&mut loader,crate_ast); } // make sure that macros can leave scope for modules @@ -1047,7 +1047,7 @@ mod test { ~[],sess); // should fail: let mut loader = ErrLoader; - expand_crate(sess,&mut loader,~[],crate_ast); + expand_crate(sess,&mut loader,crate_ast); } // macro_escape modules shouldn't cause macros to leave scope @@ -1061,7 +1061,7 @@ mod test { ~[], sess); // should fail: let mut loader = ErrLoader; - expand_crate(sess, &mut loader, ~[], crate_ast); + expand_crate(sess, &mut loader, crate_ast); } #[test] fn test_contains_flatten (){ @@ -1134,7 +1134,7 @@ mod test { let (crate_ast,ps) = string_to_crate_and_sess(crate_str); // the cfg argument actually does matter, here... let mut loader = ErrLoader; - expand_crate(ps,&mut loader,~[],crate_ast) + expand_crate(ps,&mut loader,crate_ast) } //fn expand_and_resolve(crate_str: @str) -> ast::crate { -- cgit 1.4.1-3-g733a5