]> git.proxmox.com Git - rustc.git/blame - src/librustc_trans/trans/mod.rs
Imported Upstream version 1.0.0~beta.3
[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};
12use metadata::common::LinkMeta;
13use middle::dependency_format;
14
15pub use self::base::trans_crate;
16pub use self::context::CrateContext;
17pub use self::common::gensym_name;
18
19#[macro_use]
20mod macros;
21
9346a6ac
AL
22mod adt;
23mod asm;
24mod attributes;
25mod base;
26mod basic_block;
1a4d82fc
JJ
27mod build;
28mod builder;
1a4d82fc 29mod cabi;
1a4d82fc 30mod cabi_aarch64;
9346a6ac 31mod cabi_arm;
1a4d82fc 32mod cabi_mips;
85aaf69f 33mod cabi_powerpc;
9346a6ac
AL
34mod cabi_x86;
35mod cabi_x86_64;
36mod cabi_x86_win64;
37mod callee;
38mod cleanup;
39mod closure;
40mod common;
41mod consts;
42mod context;
43mod controlflow;
44mod datum;
45mod debuginfo;
46mod declare;
47mod expr;
1a4d82fc 48mod foreign;
9346a6ac
AL
49mod glue;
50mod inline;
1a4d82fc 51mod intrinsic;
9346a6ac 52mod llrepr;
1a4d82fc 53mod machine;
9346a6ac
AL
54mod _match;
55mod meth;
56mod monomorphize;
57mod tvec;
1a4d82fc 58mod type_;
9346a6ac 59mod type_of;
1a4d82fc 60mod value;
1a4d82fc 61
c34b1796 62#[derive(Copy, Clone)]
1a4d82fc
JJ
63pub struct ModuleTranslation {
64 pub llcx: ContextRef,
65 pub llmod: ModuleRef,
66}
67
68unsafe impl Send for ModuleTranslation { }
69unsafe impl Sync for ModuleTranslation { }
70
71pub struct CrateTranslation {
72 pub modules: Vec<ModuleTranslation>,
73 pub metadata_module: ModuleTranslation,
74 pub link: LinkMeta,
75 pub metadata: Vec<u8>,
76 pub reachable: Vec<String>,
77 pub crate_formats: dependency_format::Dependencies,
78 pub no_builtins: bool,
79}