about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-04-05 16:15:25 +0000
committerbors <bors@rust-lang.org>2023-04-05 16:15:25 +0000
commitb2b676d886ded452125712a304c524c08360f916 (patch)
treef5d8387c269019e423621c1b16b03b1c16e956d4 /compiler/rustc_codegen_gcc
parent4cb92cc83ac6b24d83f8a30763b276cadb8dc41d (diff)
parentbbcbb6fccee0bc9edd7f4da96426d33a1742687d (diff)
downloadrust-b2b676d886ded452125712a304c524c08360f916.tar.gz
rust-b2b676d886ded452125712a304c524c08360f916.zip
Auto merge of #108905 - ferrocene:pa-compiletest-ignore, r=ehuss
Validate `ignore` and `only` compiletest directive, and add human-readable ignore reasons

This PR adds strict validation for the `ignore` and `only` compiletest directives, failing if an unknown value is provided to them. Doing so uncovered 79 tests in `tests/ui` that had invalid directives, so this PR also fixes them.

Finally, this PR adds human-readable ignore reasons when tests are ignored due to `ignore` or `only` directives, like *"only executed when the architecture is aarch64"* or *"ignored when the operative system is windows"*. This was the original reason why I started working on this PR and #108659, as we need both of them for Ferrocene.

The PR is a draft because the code is extremely inefficient: it calls `rustc --print=cfg --target $target` for every rustc target (to gather the list of allowed ignore values), which on my system takes between 4s and 5s, and performs a lot of allocations of constant values. I'll fix both of them in the coming days.

r? `@ehuss`
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions