about summary refs log tree commit diff
path: root/src/rustc/rustc.rc
blob: 67f36e3f24916369d42075d20fafc3ba2412a531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
// -*- rust -*-

#[link(name = "rustc",
       vers = "0.4",
       uuid = "0ce89b41-2f92-459e-bbc1-8f5fe32f16cf",
       url = "https://github.com/mozilla/rust/tree/master/src/rustc")];

#[comment = "The Rust compiler"];
#[license = "MIT"];
#[crate_type = "lib"];

#[no_core];

#[legacy_modes];

#[allow(vecs_implicitly_copyable)];
#[allow(non_camel_case_types)];
// #[warn(deprecated_pattern)];

extern mod core(vers = "0.4");
extern mod std(vers = "0.4");
extern mod syntax(vers = "0.4");

use core::*;

/*
Alternate names for some modules.

I am using this to help extract metadata into its own crate. In metadata.rs
it redefines all these modules in order to gate access from metadata to the
rest of the compiler, then uses these to access the original implementation.
*/
use util_ = util;
use lib_ = lib;
use driver_ = driver;
use middle_ = middle;
use back_ = back;

mod middle {
    mod trans {
        mod inline;
        mod monomorphize;
        mod controlflow;
        mod glue;
        mod datum;
        mod callee;
        mod expr;
        mod common;
        mod consts;
        mod type_of;
        mod build;
        mod base;
        mod alt;
        mod uniq;
        mod closure;
        mod tvec;
        mod meth;
        mod foreign;
        mod reflect;
        mod shape;
        mod debuginfo;
        mod type_use;
        mod reachable;
    }
    mod ty;
    mod resolve;
    mod typeck {
        mod check {
            mod alt;
            mod vtable;
            mod writeback;
            mod regionmanip;
            mod regionck;
            mod demand;
            mod method;
        }
        mod rscope;
        mod astconv;
        mod infer {
            mod assignment;
            mod combine;
            mod glb;
            mod integral;
            mod lattice;
            mod lub;
            mod region_var_bindings;
            mod resolve;
            mod sub;
            mod to_str;
            mod unify;
        }
        mod collect;
        mod coherence;
    }
    mod check_loop;
    mod check_alt;
    mod check_const;
    mod lint;
    mod borrowck {
        mod check_loans;
        mod gather_loans;
        mod loan;
        mod preserve;
    }
    mod mem_categorization;
    mod liveness;
    mod kind;
    mod freevars;
    mod capture;
    mod pat_util;
    mod region;
    mod const_eval;
    mod astencode;
    mod lang_items;
    mod privacy;
}

mod front {
    mod config;
    mod test;
    mod core_inject;
    mod intrinsic_inject;
}

mod back {
    mod link;
    mod abi;
    mod upcall;
    mod x86;
    mod x86_64;
    mod rpath;
    mod target_strs;
}

mod metadata {
    export encoder;
    export creader;
    export cstore;
    export csearch;
    export common;
    export decoder;
    export tyencode;
    export tydecode;
    export loader;
    export filesearch;

    mod common;
    mod tyencode;
    mod tydecode;
    mod encoder;
    mod decoder;
    mod creader;
    mod cstore;
    mod csearch;
    mod loader;
    mod filesearch;
}

mod driver {
    mod driver;
    mod session;
}

mod util {
    mod common;
    mod ppaux;
}

mod lib {
    mod llvm;
}

// Local Variables:
// fill-column: 78;
// indent-tabs-mode: nil
// c-basic-offset: 4
// buffer-file-coding-system: utf-8-unix
// End: