`//@ needs-llvm-components` accepts invalid LLVM components
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
For example, a codegen test:
//@ needs-llvm-components: riscv64
//@ compile-flags: --target riscv64gc-unknown-linux-gnu
#![crate_type = "lib"]
#![no_std]
#![no_core]
#![feature(no_core, lang_items)]
extern crate minicore;
// CHECK: fail!
riscv64 isn't a real LLVM component (only riscv). However, the test never errors; instead it always gets ignored. It seems pretty likely that there are at least a few in-tree tests that never get run because of a typo here.
It should be reasonably easy to keep a list of valid LLVM components and validate against that in compiletest.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the compiletest handling for the //@ needs-llvm-components directive and reproduce the shown codegen test with riscv64. Identify how valid LLVM components are represented, then ensure an invalid component such as riscv64 is reported instead of silently causing the test to be ignored; run the relevant compiletest tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100