@@ -104,12 +104,14 @@ pub struct Config {
104104 pub rustc_parallel_queries : bool ,
105105 pub rustc_default_linker : Option < String > ,
106106 pub rust_optimize_tests : bool ,
107+ pub rust_polly_tests : bool ,
107108 pub rust_debuginfo_tests : bool ,
108109 pub rust_dist_src : bool ,
109110 pub rust_codegen_backends : Vec < Interned < String > > ,
110111 pub rust_codegen_backends_dir : String ,
111112 pub rust_verify_llvm_ir : bool ,
112113 pub rust_remap_debuginfo : bool ,
114+ pub rust_polly_self : bool ,
113115
114116 pub build : Interned < String > ,
115117 pub hosts : Vec < Interned < String > > ,
@@ -309,6 +311,7 @@ struct Rust {
309311 rpath : Option < bool > ,
310312 optimize_tests : Option < bool > ,
311313 debuginfo_tests : Option < bool > ,
314+ polly_tests : Option < bool > ,
312315 codegen_tests : Option < bool > ,
313316 ignore_git : Option < bool > ,
314317 debug : Option < bool > ,
@@ -327,6 +330,7 @@ struct Rust {
327330 backtrace_on_ice : Option < bool > ,
328331 verify_llvm_ir : Option < bool > ,
329332 remap_debuginfo : Option < bool > ,
333+ polly_self : Option < bool > ,
330334}
331335
332336/// TOML representation of how each build target is configured.
@@ -541,6 +545,10 @@ impl Config {
541545 ignore_git = rust. ignore_git ;
542546 debug_jemalloc = rust. debug_jemalloc ;
543547 set ( & mut config. rust_optimize_tests , rust. optimize_tests ) ;
548+ set ( & mut config. rust_polly_tests , rust. polly_tests ) ;
549+ if !config. rust_optimize_tests {
550+ config. rust_polly_tests = false ;
551+ }
544552 set ( & mut config. rust_debuginfo_tests , rust. debuginfo_tests ) ;
545553 set ( & mut config. codegen_tests , rust. codegen_tests ) ;
546554 set ( & mut config. rust_rpath , rust. rpath ) ;
@@ -580,6 +588,10 @@ impl Config {
580588 Some ( n) => config. rust_codegen_units = Some ( n) ,
581589 None => { }
582590 }
591+
592+ config. rust_polly_self = rust
593+ . polly_self
594+ . unwrap_or ( false ) ;
583595 }
584596
585597 if let Some ( ref t) = toml. target {
@@ -644,6 +656,10 @@ impl Config {
644656 config. rust_debuginfo = debuginfo. unwrap_or ( default) ;
645657 config. rust_debug_assertions = debug_assertions. unwrap_or ( default) ;
646658
659+ if !config. rust_optimize {
660+ config. rust_polly_self = false ;
661+ }
662+
647663 let default = config. channel == "dev" ;
648664 config. ignore_git = ignore_git. unwrap_or ( default) ;
649665
0 commit comments