From ca147a029e2052f03029a78602c292e4ec267ed6 Mon Sep 17 00:00:00 2001 From: John Clements Date: Tue, 26 Feb 2013 10:10:21 -0800 Subject: [PATCH] Change imported macros to use leaky modules rather than leaky functions. --- src/librustc/middle/trans/_match.rs | 5 ----- src/librustc/middle/trans/controlflow.rs | 5 ----- src/librustc/middle/trans/expr.rs | 2 -- src/librustc/middle/trans/macros.rs | 11 +++++------ src/librustc/middle/trans/meth.rs | 5 ----- src/librustc/middle/typeck/infer/combine.rs | 5 ----- src/librustc/middle/typeck/infer/lub.rs | 5 ----- src/librustc/middle/typeck/infer/macros.rs | 5 ++--- src/librustc/middle/typeck/infer/mod.rs | 1 + src/librustc/middle/typeck/infer/sub.rs | 4 ---- src/librustc/rustc.rc | 1 + 11 files changed, 9 insertions(+), 40 deletions(-) diff --git a/src/librustc/middle/trans/_match.rs b/src/librustc/middle/trans/_match.rs index df6073f9339..3686c31ea6e 100644 --- a/src/librustc/middle/trans/_match.rs +++ b/src/librustc/middle/trans/_match.rs @@ -172,11 +172,6 @@ use syntax::ast_util; use syntax::codemap::span; use syntax::print::pprust::pat_to_str; -pub fn macros() { - // FIXME(#3114): Macro import/export. - include!("macros.rs"); -} - // An option identifying a literal: either a unit-like struct or an // expression. pub enum Lit { diff --git a/src/librustc/middle/trans/controlflow.rs b/src/librustc/middle/trans/controlflow.rs index 4cf12576a78..57cb1a93776 100644 --- a/src/librustc/middle/trans/controlflow.rs +++ b/src/librustc/middle/trans/controlflow.rs @@ -18,11 +18,6 @@ use middle::trans::datum::*; use core::str; -pub fn macros() { - // FIXME(#3114): Macro import/export. - include!("macros.rs"); -} - pub fn trans_block(bcx: block, b: &ast::blk, dest: expr::Dest) -> block { let _icx = bcx.insn_ctxt("trans_block"); let mut bcx = bcx; diff --git a/src/librustc/middle/trans/expr.rs b/src/librustc/middle/trans/expr.rs index a7b12d13d4e..6226e83d046 100644 --- a/src/librustc/middle/trans/expr.rs +++ b/src/librustc/middle/trans/expr.rs @@ -149,8 +149,6 @@ use syntax::codemap::spanned; // These are passed around by the code generating functions to track the // destination of a computation's value. -fn macros() { include!("macros.rs"); } // FIXME(#3114): Macro import/export. - pub enum Dest { SaveIn(ValueRef), Ignore, diff --git a/src/librustc/middle/trans/macros.rs b/src/librustc/middle/trans/macros.rs index dad4a8bd2bf..14ed7692661 100644 --- a/src/librustc/middle/trans/macros.rs +++ b/src/librustc/middle/trans/macros.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -{ +#[macro_escape]; macro_rules! unpack_datum( ($bcx: ident, $inp: expr) => ( @@ -18,7 +18,7 @@ macro_rules! unpack_datum( db.datum } ) -); +) macro_rules! unpack_result( ($bcx: ident, $inp: expr) => ( @@ -28,7 +28,7 @@ macro_rules! unpack_result( db.val } ) -); +) macro_rules! trace_span( ($bcx: ident, $sp: expr, $str: expr) => ( @@ -39,7 +39,7 @@ macro_rules! trace_span( } } ) -); +) macro_rules! trace( ($bcx: ident, $str: expr) => ( @@ -50,6 +50,5 @@ macro_rules! trace( } } ) -); +) -} diff --git a/src/librustc/middle/trans/meth.rs b/src/librustc/middle/trans/meth.rs index 02ea29f915d..07b6556df6a 100644 --- a/src/librustc/middle/trans/meth.rs +++ b/src/librustc/middle/trans/meth.rs @@ -39,11 +39,6 @@ use syntax::ast_util::local_def; use syntax::print::pprust::expr_to_str; use syntax::{ast, ast_map}; -pub fn macros() { - // FIXME(#3114): Macro import/export. - include!("macros.rs"); -} - /** The main "translation" pass for methods. Generates code for non-monomorphized methods only. Other methods will diff --git a/src/librustc/middle/typeck/infer/combine.rs b/src/librustc/middle/typeck/infer/combine.rs index 1c6b1507629..f63dac4c5ae 100644 --- a/src/librustc/middle/typeck/infer/combine.rs +++ b/src/librustc/middle/typeck/infer/combine.rs @@ -72,11 +72,6 @@ use syntax::ast::{Onceness, purity, ret_style}; use syntax::ast; use syntax::codemap::span; -pub fn macros() { - // FIXME(#3114): Macro import/export. - include!("macros.rs"); -} - pub trait Combine { fn infcx(&self) -> @mut InferCtxt; fn tag(&self) -> ~str; diff --git a/src/librustc/middle/typeck/infer/lub.rs b/src/librustc/middle/typeck/infer/lub.rs index df4b8c0be09..4fee6f061b1 100644 --- a/src/librustc/middle/typeck/infer/lub.rs +++ b/src/librustc/middle/typeck/infer/lub.rs @@ -24,11 +24,6 @@ use std::list; use syntax::ast::{Many, Once, extern_fn, m_const, impure_fn, noreturn}; use syntax::ast::{pure_fn, ret_style, return_val, unsafe_fn}; -pub fn macros() { - // FIXME(#3114): Macro import/export. - include!("macros.rs"); -} - pub enum Lub = CombineFields; // least-upper-bound: common supertype pub impl Lub { diff --git a/src/librustc/middle/typeck/infer/macros.rs b/src/librustc/middle/typeck/infer/macros.rs index 01174d1620a..e02772d951c 100644 --- a/src/librustc/middle/typeck/infer/macros.rs +++ b/src/librustc/middle/typeck/infer/macros.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -{ +#[macro_escape]; macro_rules! if_ok( ($inp: expr) => ( @@ -17,6 +17,5 @@ macro_rules! if_ok( Err(e) => { return Err(e); } } ) -); +) -} diff --git a/src/librustc/middle/typeck/infer/mod.rs b/src/librustc/middle/typeck/infer/mod.rs index b55b45a3183..8bb1f2f47e5 100644 --- a/src/librustc/middle/typeck/infer/mod.rs +++ b/src/librustc/middle/typeck/infer/mod.rs @@ -287,6 +287,7 @@ use syntax::codemap; use syntax::ast_util; use syntax::codemap::span; +pub mod macros; pub mod combine; pub mod glb; pub mod lattice; diff --git a/src/librustc/middle/typeck/infer/sub.rs b/src/librustc/middle/typeck/infer/sub.rs index 661c67dbefc..12a9a6c4076 100644 --- a/src/librustc/middle/typeck/infer/sub.rs +++ b/src/librustc/middle/typeck/infer/sub.rs @@ -25,10 +25,6 @@ use std::list::Nil; use std::list; use syntax::ast::{m_const, purity, ret_style}; -pub fn macros() { - // FIXME(#3114): Macro import/export. - include!("macros.rs"); -} pub enum Sub = CombineFields; // "subtype", "subregion" etc diff --git a/src/librustc/rustc.rc b/src/librustc/rustc.rc index 01758a1845d..617a64f32d3 100644 --- a/src/librustc/rustc.rc +++ b/src/librustc/rustc.rc @@ -49,6 +49,7 @@ use back_ = back; pub mod middle { pub mod trans { + pub mod macros; pub mod inline; pub mod monomorphize; pub mod controlflow;