@@ -135,6 +135,7 @@ fn main() {
135
135
let mut rustc_args = vec ! [ ] ;
136
136
let mut miri_args = vec ! [ ] ;
137
137
let mut after_dashdash = false ;
138
+ let mut excluded_env_vars = vec ! [ ] ;
138
139
for arg in std:: env:: args ( ) {
139
140
if rustc_args. is_empty ( ) {
140
141
// Very first arg: for `rustc`.
@@ -175,6 +176,9 @@ fn main() {
175
176
seed = Some ( u64:: from_be_bytes ( bytes) ) ;
176
177
177
178
} ,
179
+ arg if arg. starts_with ( "-Zmiri-env-exclude=" ) => {
180
+ excluded_env_vars. push ( arg. trim_start_matches ( "-Zmiri-env-exclude=" ) . to_owned ( ) ) ;
181
+ } ,
178
182
_ => {
179
183
rustc_args. push ( arg) ;
180
184
}
@@ -200,7 +204,13 @@ fn main() {
200
204
201
205
debug ! ( "rustc arguments: {:?}" , rustc_args) ;
202
206
debug ! ( "miri arguments: {:?}" , miri_args) ;
203
- let miri_config = miri:: MiriConfig { validate, communicate, args : miri_args, seed } ;
207
+ let miri_config = miri:: MiriConfig {
208
+ validate,
209
+ communicate,
210
+ excluded_env_vars,
211
+ seed,
212
+ args : miri_args,
213
+ } ;
204
214
let result = rustc_driver:: report_ices_to_stderr_if_any ( move || {
205
215
rustc_driver:: run_compiler ( & rustc_args, & mut MiriCompilerCalls { miri_config } , None , None )
206
216
} ) . and_then ( |result| result) ;
0 commit comments