| The files here use the LLVM FileCheck framework, documented at | |
| <https://llvm.org/docs/CommandGuide/FileCheck.html>. | |
| 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 | |
| ``` |