]> git.proxmox.com Git - rustc.git/blame - src/librustc_trans/trans/mod.rs
Imported Upstream version 1.8.0+dfsg1
[rustc.git] / src / librustc_trans / trans / mod.rs
CommitLineData
1a4d82fc
JJ
1// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11use llvm::{ContextRef, ModuleRef};
92a42be0 12use middle::cstore::LinkMeta;
1a4d82fc
JJ
13
14pub use self::base::trans_crate;
15pub use self::context::CrateContext;
16pub use self::common::gensym_name;
9cc50fc6 17pub use self::disr::Disr;
1a4d82fc
JJ
18
19#[macro_use]
20mod macros;
21
9346a6ac
AL
22mod adt;
23mod asm;
9cc50fc6 24mod assert_dep_graph;
9346a6ac
AL
25mod attributes;
26mod base;
27mod basic_block;
1a4d82fc
JJ
28mod build;
29mod builder;
1a4d82fc 30mod cabi;
1a4d82fc 31mod cabi_aarch64;
9346a6ac 32mod cabi_arm;
7453a54e 33mod cabi_asmjs;
1a4d82fc 34mod cabi_mips;
85aaf69f 35mod cabi_powerpc;
9cc50fc6 36mod cabi_powerpc64;
9346a6ac
AL
37mod cabi_x86;
38mod cabi_x86_64;
39mod cabi_x86_win64;
40mod callee;
41mod cleanup;
42mod closure;
43mod common;
44mod consts;
45mod context;
46mod controlflow;
47mod datum;
48mod debuginfo;
49mod declare;
9cc50fc6 50mod disr;
9346a6ac 51mod expr;
1a4d82fc 52mod foreign;
9346a6ac
AL
53mod glue;
54mod inline;
1a4d82fc 55mod intrinsic;
9346a6ac 56mod llrepr;
1a4d82fc 57mod machine;
9346a6ac
AL
58mod _match;
59mod meth;
92a42be0 60mod mir;
9346a6ac 61mod monomorphize;
7453a54e 62mod collector;
9346a6ac 63mod tvec;
1a4d82fc 64mod type_;
9346a6ac 65mod type_of;
1a4d82fc 66mod value;
1a4d82fc 67
c34b1796 68#[derive(Copy, Clone)]
1a4d82fc
JJ
69pub struct ModuleTranslation {
70 pub llcx: ContextRef,
71 pub llmod: ModuleRef,
72}
73
74unsafe impl Send for ModuleTranslation { }
75unsafe impl Sync for ModuleTranslation { }
76
77pub struct CrateTranslation {
78 pub modules: Vec<ModuleTranslation>,
79 pub metadata_module: ModuleTranslation,
80 pub link: LinkMeta,
81 pub metadata: Vec<u8>,
82 pub reachable: Vec<String>,
1a4d82fc
JJ
83 pub no_builtins: bool,
84}