Skip to content

Silence warning in default compiler bootstrap settings #140934

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged

Conversation

yotamofek
Copy link
Contributor

Fixes #140928

@rustbot
Copy link
Collaborator

rustbot commented May 12, 2025

r? @onur-ozkan

rustbot has assigned @onur-ozkan.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels May 12, 2025
@rustbot
Copy link
Collaborator

rustbot commented May 12, 2025

This PR modifies src/bootstrap/defaults.

If appropriate, please update CONFIG_CHANGE_HISTORY in src/bootstrap/src/utils/change_tracker.rs.

@onur-ozkan
Copy link
Member

Thank you!

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented May 12, 2025

📌 Commit 551a49d has been approved by onur-ozkan

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 12, 2025
@bors
Copy link
Collaborator

bors commented May 12, 2025

⌛ Testing commit 551a49d with merge bc7512e...

@Zalathar
Copy link
Contributor

Zalathar commented May 12, 2025

Is it intended for this to silently hide LLVM build warnings for people using the compiler profile who do build LLVM?

I don't see that outcome mentioned in this PR or the linked issue.

@bors
Copy link
Collaborator

bors commented May 12, 2025

☀️ Test successful - checks-actions
Approved by: onur-ozkan
Pushing bc7512e to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 12, 2025
@bors bors merged commit bc7512e into rust-lang:master May 12, 2025
7 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 12, 2025
Copy link

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing ac9ac0e (parent) -> bc7512e (this PR)

Test differences

Show 33150 test diffs

Stage 1

  • char::methods::bench_to_digit_radix_2: [missing] -> pass (J0)
  • iter::bench_cycle_skip_take_ref_sum: [missing] -> pass (J0)
  • iter::bench_next_chunk_filter_predictably_true: [missing] -> pass (J0)
  • num::bench_u32_from_str_radix_2: [missing] -> pass (J0)
  • num::dec2flt::bench_1e150: [missing] -> pass (J0)
  • sort::tests::stable::correct_u128_random: [missing] -> pass (J0)
  • stats::tests::sum_three_items: [missing] -> pass (J0)
  • stats::tests::test_norm25verynarrow: [missing] -> pass (J0)
  • str::split_extern_fn: [missing] -> pass (J0)
  • bit_set::tests::sparse_matrix_iter: [missing] -> pass (J1)
  • errors::verify_builtin_macros_asm_unsupported_clobber_abi_83: [missing] -> pass (J1)
  • errors::verify_const_eval_interior_mutable_ref_escaping_23: [missing] -> pass (J1)
  • errors::verify_incremental_delete_workproduct_39: [missing] -> pass (J1)
  • errors::verify_interface_out_dir_error_10: [missing] -> pass (J1)
  • errors::verify_parse_missing_for_in_trait_impl_79: [missing] -> pass (J1)
  • errors::verify_session_invalid_float_literal_width_36: [missing] -> pass (J1)
  • theme::tests::test_with_minification: [missing] -> pass (J1)
  • array::cell_allows_array_cycle: [missing] -> pass (J2)
  • collections::btree::borrow::tests::test_borrow: [missing] -> pass (J2)
  • f128::test_num_f128: [missing] -> pass (J2)
  • f128::test_to_degrees: [missing] -> pass (J2)
  • f32::test_total_cmp: [missing] -> pass (J2)
  • ffi::os_str::tests::slice_invalid_data: [missing] -> pass (J2)
  • fmt::builders::debug_list::test_nested_non_exhaustive: [missing] -> pass (J2)
  • io::tests::test_writer_read_from_one_buf: [missing] -> pass (J2)
  • iter::adapters::zip::test_zip_map_sideffectful: [missing] -> pass (J2)
  • iter::traits::double_ended::test_iterator_rev_nth_back: [missing] -> pass (J2)
  • lazy_lock::sync_lazy_default: [missing] -> pass (J2)
  • mem::align_of_val_basic: [missing] -> pass (J2)
  • mpmc::issue_39364: [missing] -> pass (J2)
  • mpmc::stream_send_recv_stress: [missing] -> pass (J2)
  • mpsc_sync::smoke: [missing] -> pass (J2)
  • num::dec2flt::massive_exponent: [missing] -> pass (J2)
  • num::int_log::ilog10_u8: [missing] -> pass (J2)
  • num::test_try_usizeu32: [missing] -> pass (J2)
  • num::u64::test_count_ones: [missing] -> pass (J2)
  • str::pattern::char_searcher_short_haystack::bwd: [missing] -> pass (J2)
  • test_saturating_sub_int: [missing] -> pass (J2)
  • time::sub: [missing] -> pass (J2)
  • slice::brute_force_rotate_test_0: [missing] -> ignore (J3)

Stage 2

  • ascii::short::case09_mask_mult_bool_branchy_lookup_table: pass -> [missing] (J0)
  • btree::set::intersection_staggered_10k_vs_10k: pass -> [missing] (J0)
  • f16::test_trunc: pass -> [missing] (J0)
  • iter::bench_lt: pass -> [missing] (J0)
  • net::tcp::tests::bind_error: pass -> [missing] (J0)
  • net::udp::tests::test_read_with_timeout: pass -> [missing] (J0)
  • sort::tests::stable::correct_string_random: pass -> [missing] (J0)
  • sort::tests::unstable::panic_retain_orig_set_string_random_d2: pass -> [missing] (J0)
  • sort::tests::unstable::violate_ord_retain_orig_set_i32_saw_mixed: pass -> [missing] (J0)
  • str::char_indicesator_rev: pass -> [missing] (J0)
  • str::char_iterator: pass -> [missing] (J0)
  • str::rfind_underscore_char::long_lorem_ipsum: pass -> [missing] (J0)
  • str::rfind_underscore_char::short_ascii: pass -> [missing] (J0)
  • str::split_space_str::short_ascii: pass -> [missing] (J0)
  • vec::bench_dedup_random_10000: pass -> [missing] (J0)
  • vec::bench_flat_map_collect: pass -> [missing] (J0)
  • vec::bench_from_slice_0000: pass -> [missing] (J0)
  • errors::verify_ast_passes_fn_param_forbidden_attr_6: pass -> [missing] (J1)
  • errors::verify_codegen_ssa_expected_name_value_pair_24: pass -> [missing] (J1)
  • errors::verify_codegen_ssa_failed_to_get_layout_130: pass -> [missing] (J1)
  • errors::verify_codegen_ssa_read_file_76: pass -> [missing] (J1)
  • errors::verify_const_eval_long_running_24: pass -> [missing] (J1)
  • errors::verify_expand_trace_macro_33: pass -> [missing] (J1)
  • errors::verify_interface_ignoring_out_dir_15: pass -> [missing] (J1)
  • errors::verify_metadata_no_crate_with_triple_66: pass -> [missing] (J1)
  • errors::verify_monomorphize_start_not_found_6: pass -> [missing] (J1)
  • errors::verify_parse_dyn_after_mut_134: pass -> [missing] (J1)
  • errors::verify_parse_incorrect_use_of_await_1: pass -> [missing] (J1)
  • errors::verify_resolve_cannot_determine_import_resolution_28: pass -> [missing] (J1)
  • lints::verify_lint_builtin_unsafe_block_7: pass -> [missing] (J1)
  • lints::verify_lint_macro_use_deprecated_105: pass -> [missing] (J1)
  • markdown::parse::tests::test_parse_simple: pass -> [missing] (J1)
  • session_diagnostics::verify_driver_impl_rlink_rustc_version_mismatch_5: pass -> [missing] (J1)
  • spec::tests::armv7r_none_eabihf: pass -> [missing] (J1)
  • spec::tests::x86_64_pc_nto_qnx800: pass -> [missing] (J1)
  • collections::vec_deque::tests::test_binary_search: pass -> [missing] (J2)
  • fmt::builders::debug_map::test_invalid_key_when_entry_is_incomplete: pass -> [missing] (J2)
  • fmt::test_estimated_capacity: pass -> [missing] (J2)
  • iter::adapters::chain::test_iterator_chain_nth: pass -> [missing] (J2)
  • iter::adapters::map_windows::test_laziness: pass -> [missing] (J2)
  • iter::adapters::skip_while::test_iterator_skip_while_fold: pass -> [missing] (J2)
  • iter::adapters::take::test_exact_size_take_repeat: pass -> [missing] (J2)
  • misc_tests::i64_slice: pass -> [missing] (J2)
  • mpsc::drop_full_shared: pass -> [missing] (J2)
  • net::ip_addr::ipv4_from_constructors: pass -> [missing] (J2)
  • net::ip_addr::ipv6_from_segments: pass -> [missing] (J2)
  • net::ip_addr::ipv6_to_ipv4: pass -> [missing] (J2)
  • num::i32::test_isolate_most_significant_one: pass -> [missing] (J2)
  • num::i8::test_div_floor: pass -> [missing] (J2)
  • num::test_try_usizeu64: pass -> [missing] (J2)
  • option::test_get_resource: pass -> [missing] (J2)
  • result::test_unwrap_or_default: pass -> [missing] (J2)
  • slice::swap_panics::index_a_equals_len: pass -> [missing] (J2)
  • slice::test_chunks_zip: pass -> [missing] (J2)
  • str::test_is_char_boundary: pass -> [missing] (J2)
  • test_clone_into: pass -> [missing] (J2)
  • sort::tests::stable::correct_u64_random_s95: ignore -> [missing] (J3)
  • sort::tests::stable::stability_cell_i32_random: ignore -> [missing] (J3)
  • sort::tests::unstable::correct_f128_random_d2: ignore -> [missing] (J3)
  • sort::tests::unstable::violate_ord_retain_orig_set_cell_i32_random_d20: ignore -> [missing] (J3)

(and 16504 additional test diffs)

Additionally, 16546 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard bc7512ee6309ee7e8cacf87b94aa6d1f550c9d99 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-apple-2: 1415.1s -> 5201.0s (267.5%)
  2. test-various: 2313.9s -> 4216.3s (82.2%)
  3. x86_64-gnu-aux: 4081.7s -> 6071.1s (48.7%)
  4. aarch64-apple: 3088.2s -> 4552.3s (47.4%)
  5. dist-x86_64-illumos: 5650.0s -> 6115.9s (8.2%)
  6. dist-various-1: 4289.0s -> 4539.0s (5.8%)
  7. arm-android: 5737.4s -> 5406.5s (-5.8%)
  8. x86_64-gnu-llvm-20-1: 5060.0s -> 5326.6s (5.3%)
  9. dist-arm-linux: 4947.8s -> 4688.0s (-5.3%)
  10. dist-loongarch64-linux: 6659.7s -> 6313.6s (-5.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (bc7512e): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.0% [0.6%, 1.4%] 5
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.0% [0.6%, 1.4%] 5

Cycles

Results (primary 0.8%, secondary 1.5%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.2% [1.0%, 1.5%] 3
Regressions ❌
(secondary)
1.5% [1.4%, 1.6%] 2
Improvements ✅
(primary)
-0.4% [-0.4%, -0.4%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [-0.4%, 1.5%] 4

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 772.356s -> 773.173s (0.11%)
Artifact size: 365.43 MiB -> 365.41 MiB (-0.00%)

@yotamofek
Copy link
Contributor Author

Is it intended for this to silently hide LLVM build warnings for people using the compiler profile who do build LLVM?

I don't see that outcome mentioned in this PR or the linked issue.

Honestly no idea, I was just annoyed by the warnings and followed @onur-ozkan 's solution, can't say I really understand why these two settings contradict each other. :)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Default compiler bootstrap config causes a warning to be shown
6 participants