]>
Commit | Line | Data |
---|---|---|
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 | ||
11 | use llvm::{ContextRef, ModuleRef}; | |
92a42be0 | 12 | use middle::cstore::LinkMeta; |
1a4d82fc JJ |
13 | |
14 | pub use self::base::trans_crate; | |
15 | pub use self::context::CrateContext; | |
16 | pub use self::common::gensym_name; | |
9cc50fc6 | 17 | pub use self::disr::Disr; |
1a4d82fc JJ |
18 | |
19 | #[macro_use] | |
20 | mod macros; | |
21 | ||
9346a6ac AL |
22 | mod adt; |
23 | mod asm; | |
9cc50fc6 | 24 | mod assert_dep_graph; |
9346a6ac AL |
25 | mod attributes; |
26 | mod base; | |
27 | mod basic_block; | |
1a4d82fc JJ |
28 | mod build; |
29 | mod builder; | |
1a4d82fc | 30 | mod cabi; |
1a4d82fc | 31 | mod cabi_aarch64; |
9346a6ac | 32 | mod cabi_arm; |
7453a54e | 33 | mod cabi_asmjs; |
1a4d82fc | 34 | mod cabi_mips; |
85aaf69f | 35 | mod cabi_powerpc; |
9cc50fc6 | 36 | mod cabi_powerpc64; |
9346a6ac AL |
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; | |
9cc50fc6 | 50 | mod disr; |
9346a6ac | 51 | mod expr; |
1a4d82fc | 52 | mod foreign; |
9346a6ac AL |
53 | mod glue; |
54 | mod inline; | |
1a4d82fc | 55 | mod intrinsic; |
9346a6ac | 56 | mod llrepr; |
1a4d82fc | 57 | mod machine; |
9346a6ac AL |
58 | mod _match; |
59 | mod meth; | |
92a42be0 | 60 | mod mir; |
9346a6ac | 61 | mod monomorphize; |
7453a54e | 62 | mod collector; |
9346a6ac | 63 | mod tvec; |
1a4d82fc | 64 | mod type_; |
9346a6ac | 65 | mod type_of; |
1a4d82fc | 66 | mod value; |
1a4d82fc | 67 | |
c34b1796 | 68 | #[derive(Copy, Clone)] |
1a4d82fc JJ |
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>, | |
1a4d82fc JJ |
83 | pub no_builtins: bool, |
84 | } |