about summary refs log tree commit diff
path: root/src/comp/rustc.rc
blob: e34d1faec4092d0f657f4786089171b50c5b97d0 (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

// -*- rust -*-

use std;

mod front {
    mod ast;
    mod creader;
    mod extfmt;
    mod lexer;
    mod parser;
    mod token;
    mod eval;
}

mod middle {
    mod fold;
    mod metadata;
    mod resolve;
    mod trans;
    mod ty;
    mod typeck;
    mod typestate_check;
}

mod back {
    mod abi;
    mod x86;
}

mod driver {
    mod rustc;
    mod session;
}

mod pretty {
    mod pp;
    mod pprust;
}

mod util {
    mod common;
    mod typestate_ann;
}

auth driver.rustc.main = impure;
auth front.creader.load_crate = unsafe;
auth front.creader.lookup_def = impure;
auth front.creader.get_type = impure;
auth front.creader.get_symbol = impure;
auth front.creader.get_tag_variants = impure;
auth front.creader.impure_no_op = impure;
auth middle.metadata = unsafe;
auth middle.metadata.encode_index = impure;
auth middle.metadata.encode_metadata = impure;
auth middle.trans = unsafe;
auth middle.trans.copy_any_self_to_alloca = impure;
auth middle.trans.copy_args_to_allocas = impure;
auth middle.trans.trans_block = impure;
auth middle.trans.alloc_ty = impure;
auth middle.typestate_check.log_expr = impure;
auth lib.llvm = unsafe;
auth pretty.pprust = impure;
auth middle.typestate_check.find_pre_post_block = impure;
auth middle.typestate_check.find_pre_post_state_block = impure;
auth middle.typestate_check.find_pre_post_expr  = impure;
auth middle.typestate_check.find_pre_post_stmt  = impure;
auth middle.typestate_check.check_states_against_conditions = impure;
auth middle.typestate_check.check_states_stmt   = impure;
auth util.typestate_ann.implies = impure;

mod lib {
    alt (target_os) {
        case ("win32") {
            let (llvm_lib = "rustllvm.dll") {
                mod llvm;
            }
        }
        case ("macos") {
            let (llvm_lib = "librustllvm.dylib") {
                mod llvm;
            }
        }
        else {
            let (llvm_lib = "librustllvm.so") {
                mod llvm;
            }
        }
    }
}

// Local Variables:
// fill-column: 78;
// indent-tabs-mode: nil
// c-basic-offset: 4
// buffer-file-coding-system: utf-8-unix
// compile-command: "make -k -C $RBUILD 2>&1 | sed -e 's/\\/x\\//x:\\//g'";
// End: