2019-08-26 13:40:30 -05:00
|
|
|
The files here use the LLVM FileCheck framework, documented at
|
|
|
|
<https://llvm.org/docs/CommandGuide/FileCheck.html>.
|
2022-08-19 15:40:26 -05:00
|
|
|
|
|
|
|
One extension worth noting is the use of revisions as custom prefixes for
|
|
|
|
FileCheck. If your codegen test has different behavior based on the chosen
|
|
|
|
target or different compiler flags that you want to exercise, you can use a
|
|
|
|
revisions annotation, like so:
|
|
|
|
|
|
|
|
```rust
|
|
|
|
// revisions: aaa bbb
|
|
|
|
// [bbb] compile-flags: --flags-for-bbb
|
|
|
|
```
|
|
|
|
|
|
|
|
After specifying those variations, you can write different expected, or
|
|
|
|
explicitly *unexpected* output by using `<prefix>-SAME:` and `<prefix>-NOT:`,
|
|
|
|
like so:
|
|
|
|
|
|
|
|
```rust
|
|
|
|
// CHECK: expected code
|
|
|
|
// aaa-SAME: emitted-only-for-aaa
|
|
|
|
// aaa-NOT: emitted-only-for-bbb
|
|
|
|
// bbb-NOT: emitted-only-for-aaa
|
|
|
|
// bbb-SAME: emitted-only-for-bbb
|
|
|
|
```
|