]>
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; |
1a4d82fc | 33 | mod cabi_mips; |
85aaf69f | 34 | mod cabi_powerpc; |
9cc50fc6 | 35 | mod cabi_powerpc64; |
9346a6ac AL |
36 | mod cabi_x86; |
37 | mod cabi_x86_64; | |
38 | mod cabi_x86_win64; | |
39 | mod callee; | |
40 | mod cleanup; | |
41 | mod closure; | |
42 | mod common; | |
43 | mod consts; | |
44 | mod context; | |
45 | mod controlflow; | |
46 | mod datum; | |
47 | mod debuginfo; | |
48 | mod declare; | |
9cc50fc6 | 49 | mod disr; |
9346a6ac | 50 | mod expr; |
1a4d82fc | 51 | mod foreign; |
9346a6ac AL |
52 | mod glue; |
53 | mod inline; | |
1a4d82fc | 54 | mod intrinsic; |
9346a6ac | 55 | mod llrepr; |
1a4d82fc | 56 | mod machine; |
9346a6ac AL |
57 | mod _match; |
58 | mod meth; | |
92a42be0 | 59 | mod mir; |
9346a6ac AL |
60 | mod monomorphize; |
61 | mod tvec; | |
1a4d82fc | 62 | mod type_; |
9346a6ac | 63 | mod type_of; |
1a4d82fc | 64 | mod value; |
1a4d82fc | 65 | |
c34b1796 | 66 | #[derive(Copy, Clone)] |
1a4d82fc JJ |
67 | pub struct ModuleTranslation { |
68 | pub llcx: ContextRef, | |
69 | pub llmod: ModuleRef, | |
70 | } | |
71 | ||
72 | unsafe impl Send for ModuleTranslation { } | |
73 | unsafe impl Sync for ModuleTranslation { } | |
74 | ||
75 | pub struct CrateTranslation { | |
76 | pub modules: Vec<ModuleTranslation>, | |
77 | pub metadata_module: ModuleTranslation, | |
78 | pub link: LinkMeta, | |
79 | pub metadata: Vec<u8>, | |
80 | pub reachable: Vec<String>, | |
1a4d82fc JJ |
81 | pub no_builtins: bool, |
82 | } |