@@ -630,6 +630,46 @@ fn any_debug() {
630
630
assert_eq ! ( x. downcast_ref:: <MyStruct >( ) , Some ( & MyStruct { x: 7 } ) ) ;
631
631
}
632
632
633
+ #[ test]
634
+ fn test_check_compiler_doesnt_build_llvm ( ) {
635
+ // Checking the stage 1 compiler uses the bootstrap compiler, and therefore
636
+ // should not need to build LLVM.
637
+ {
638
+ let config = configure_with_args (
639
+ & [ "check" , "compiler" , "--stage=1" ] ,
640
+ & [ TEST_TRIPLE_1 ] ,
641
+ & [ TEST_TRIPLE_1 ] ,
642
+ ) ;
643
+ let mut cache = run_build ( & config. paths . clone ( ) , config) ;
644
+
645
+ assert ! ( !cache. contains:: <llvm:: Llvm >( ) ) ;
646
+ }
647
+
648
+ // Checking the stage 1 library uses the stage 1 compiler, so it will need LLVM.
649
+ {
650
+ let config = configure_with_args (
651
+ & [ "check" , "library" , "--stage=1" ] ,
652
+ & [ TEST_TRIPLE_1 ] ,
653
+ & [ TEST_TRIPLE_1 ] ,
654
+ ) ;
655
+ let mut cache = run_build ( & config. paths . clone ( ) , config) ;
656
+
657
+ assert ! ( cache. contains:: <llvm:: Llvm >( ) ) ;
658
+ }
659
+
660
+ // Checking the stage 2 compiler uses the stage 1 compiler, so it will need LLVM.
661
+ {
662
+ let config = configure_with_args (
663
+ & [ "check" , "compiler" , "--stage=2" ] ,
664
+ & [ TEST_TRIPLE_1 ] ,
665
+ & [ TEST_TRIPLE_1 ] ,
666
+ ) ;
667
+ let mut cache = run_build ( & config. paths . clone ( ) , config) ;
668
+
669
+ assert ! ( cache. contains:: <llvm:: Llvm >( ) ) ;
670
+ }
671
+ }
672
+
633
673
/// These tests use insta for snapshot testing.
634
674
/// See bootstrap's README on how to bless the snapshots.
635
675
mod snapshot {
@@ -1294,7 +1334,6 @@ mod snapshot {
1294
1334
ctx. config( "check" )
1295
1335
. path( "compiler" )
1296
1336
. render_steps( ) , @r"
1297
- [build] llvm <host>
1298
1337
[check] rustc 0 <host> -> rustc 1 <host>
1299
1338
[check] rustc 0 <host> -> cranelift 1 <host>
1300
1339
[check] rustc 0 <host> -> gcc 1 <host>
@@ -1324,7 +1363,6 @@ mod snapshot {
1324
1363
. path( "compiler" )
1325
1364
. stage( 1 )
1326
1365
. render_steps( ) , @r"
1327
- [build] llvm <host>
1328
1366
[check] rustc 0 <host> -> rustc 1 <host>
1329
1367
[check] rustc 0 <host> -> cranelift 1 <host>
1330
1368
[check] rustc 0 <host> -> gcc 1 <host>
@@ -1360,6 +1398,7 @@ mod snapshot {
1360
1398
[build] rustc 0 <host> -> rustc 1 <host>
1361
1399
[build] rustc 1 <host> -> std 1 <host>
1362
1400
[build] rustc 1 <host> -> std 1 <target1>
1401
+ [build] llvm <target1>
1363
1402
[check] rustc 1 <host> -> rustc 2 <target1>
1364
1403
[check] rustc 1 <host> -> Rustdoc 2 <target1>
1365
1404
[check] rustc 1 <host> -> cranelift 2 <target1>
@@ -1456,7 +1495,6 @@ mod snapshot {
1456
1495
. paths( & [ "library" , "compiler" ] )
1457
1496
. args( & args)
1458
1497
. render_steps( ) , @r"
1459
- [build] llvm <host>
1460
1498
[check] rustc 0 <host> -> rustc 1 <host>
1461
1499
[check] rustc 0 <host> -> cranelift 1 <host>
1462
1500
[check] rustc 0 <host> -> gcc 1 <host>
@@ -1470,7 +1508,6 @@ mod snapshot {
1470
1508
ctx. config( "check" )
1471
1509
. path( "miri" )
1472
1510
. render_steps( ) , @r"
1473
- [build] llvm <host>
1474
1511
[check] rustc 0 <host> -> rustc 1 <host>
1475
1512
[check] rustc 0 <host> -> Miri 1 <host>
1476
1513
" ) ;
@@ -1491,7 +1528,6 @@ mod snapshot {
1491
1528
. path( "miri" )
1492
1529
. stage( 1 )
1493
1530
. render_steps( ) , @r"
1494
- [build] llvm <host>
1495
1531
[check] rustc 0 <host> -> rustc 1 <host>
1496
1532
[check] rustc 0 <host> -> Miri 1 <host>
1497
1533
" ) ;
@@ -1544,7 +1580,6 @@ mod snapshot {
1544
1580
ctx. config( "check" )
1545
1581
. path( "rustc_codegen_cranelift" )
1546
1582
. render_steps( ) , @r"
1547
- [build] llvm <host>
1548
1583
[check] rustc 0 <host> -> rustc 1 <host>
1549
1584
[check] rustc 0 <host> -> cranelift 1 <host>
1550
1585
[check] rustc 0 <host> -> gcc 1 <host>
@@ -1558,7 +1593,6 @@ mod snapshot {
1558
1593
ctx. config( "check" )
1559
1594
. path( "rust-analyzer" )
1560
1595
. render_steps( ) , @r"
1561
- [build] llvm <host>
1562
1596
[check] rustc 0 <host> -> rustc 1 <host>
1563
1597
[check] rustc 0 <host> -> rust-analyzer 1 <host>
1564
1598
" ) ;
0 commit comments