]> git.proxmox.com Git - rustc.git/blob - src/librustc_trans/trans/mod.rs
Imported Upstream version 1.8.0+dfsg1
[rustc.git] / src / librustc_trans / trans / mod.rs
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
11 use llvm::{ContextRef, ModuleRef};
12 use middle::cstore::LinkMeta;
13
14 pub use self::base::trans_crate;
15 pub use self::context::CrateContext;
16 pub use self::common::gensym_name;
17 pub use self::disr::Disr;
18
19 #[macro_use]
20 mod macros;
21
22 mod adt;
23 mod asm;
24 mod assert_dep_graph;
25 mod attributes;
26 mod base;
27 mod basic_block;
28 mod build;
29 mod builder;
30 mod cabi;
31 mod cabi_aarch64;
32 mod cabi_arm;
33 mod cabi_asmjs;
34 mod cabi_mips;
35 mod cabi_powerpc;
36 mod cabi_powerpc64;
37 mod cabi_x86;
38 mod cabi_x86_64;
39 mod cabi_x86_win64;
40 mod callee;
41 mod cleanup;
42 mod closure;
43 mod common;
44 mod consts;
45 mod context;
46 mod controlflow;
47 mod datum;
48 mod debuginfo;
49 mod declare;
50 mod disr;
51 mod expr;
52 mod foreign;
53 mod glue;
54 mod inline;
55 mod intrinsic;
56 mod llrepr;
57 mod machine;
58 mod _match;
59 mod meth;
60 mod mir;
61 mod monomorphize;
62 mod collector;
63 mod tvec;
64 mod type_;
65 mod type_of;
66 mod value;
67
68 #[derive(Copy, Clone)]
69 pub struct ModuleTranslation {
70 pub llcx: ContextRef,
71 pub llmod: ModuleRef,
72 }
73
74 unsafe impl Send for ModuleTranslation { }
75 unsafe impl Sync for ModuleTranslation { }
76
77 pub 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>,
83 pub no_builtins: bool,
84 }