]>
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}; | |
12 | use metadata::common::LinkMeta; | |
13 | use middle::dependency_format; | |
14 | ||
15 | pub use self::base::trans_crate; | |
16 | pub use self::context::CrateContext; | |
17 | pub use self::common::gensym_name; | |
18 | ||
19 | #[macro_use] | |
20 | mod macros; | |
21 | ||
9346a6ac AL |
22 | mod adt; |
23 | mod asm; | |
24 | mod attributes; | |
25 | mod base; | |
26 | mod basic_block; | |
1a4d82fc JJ |
27 | mod build; |
28 | mod builder; | |
1a4d82fc | 29 | mod cabi; |
1a4d82fc | 30 | mod cabi_aarch64; |
9346a6ac | 31 | mod cabi_arm; |
1a4d82fc | 32 | mod cabi_mips; |
85aaf69f | 33 | mod cabi_powerpc; |
9346a6ac AL |
34 | mod cabi_x86; |
35 | mod cabi_x86_64; | |
36 | mod cabi_x86_win64; | |
37 | mod callee; | |
38 | mod cleanup; | |
39 | mod closure; | |
40 | mod common; | |
41 | mod consts; | |
42 | mod context; | |
43 | mod controlflow; | |
44 | mod datum; | |
45 | mod debuginfo; | |
46 | mod declare; | |
47 | mod expr; | |
1a4d82fc | 48 | mod foreign; |
9346a6ac AL |
49 | mod glue; |
50 | mod inline; | |
1a4d82fc | 51 | mod intrinsic; |
9346a6ac | 52 | mod llrepr; |
1a4d82fc | 53 | mod machine; |
9346a6ac AL |
54 | mod _match; |
55 | mod meth; | |
56 | mod monomorphize; | |
57 | mod tvec; | |
1a4d82fc | 58 | mod type_; |
9346a6ac | 59 | mod type_of; |
1a4d82fc | 60 | mod value; |
1a4d82fc | 61 | |
c34b1796 | 62 | #[derive(Copy, Clone)] |
1a4d82fc JJ |
63 | pub struct ModuleTranslation { |
64 | pub llcx: ContextRef, | |
65 | pub llmod: ModuleRef, | |
66 | } | |
67 | ||
68 | unsafe impl Send for ModuleTranslation { } | |
69 | unsafe impl Sync for ModuleTranslation { } | |
70 | ||
71 | pub 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 | } |