Skip to content

compiletest: when there are revisions, | (bar, pipe, vertical line) error annotation logic seems to ignore other revisions #141434

Open
@RalfJung

Description

@RalfJung

For a test with many revisions...

//@ revisions: x64 x64_win i686 aarch64 arm riscv32 riscv64

... one currently has to write annotations like this:

extern "aapcs" fn aapcs() {}
//[x64]~^ ERROR is not a supported ABI
//[i686]~^^ ERROR is not a supported ABI
//[aarch64]~^^^ ERROR is not a supported ABI
//[riscv32]~^^^^ ERROR is not a supported ABI
//[riscv64]~^^^^^ ERROR is not a supported ABI
//[x64_win]~^^^^^^ ERROR is not a supported ABI

That is quite painful to write and maintain. It would be much nicer if I could write this:

extern "aapcs" fn aapcs() {}
//[x64]~^ ERROR is not a supported ABI
//[i686]~| ERROR is not a supported ABI
//[aarch64]~| ERROR is not a supported ABI
//[riscv32]~| ERROR is not a supported ABI
//[riscv64]~| ERROR is not a supported ABI
//[x64_win]~| ERROR is not a supported ABI

However, that does not work: the filtering of revisions seems to happen before the | logic for "same line as previous annotation" is applied. Would be nice if that could be changed. :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-compiletestArea: The compiletest test runnerC-bugCategory: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions