diff options
Diffstat (limited to 'tests/codegen/README.md')
-rw-r--r-- | tests/codegen/README.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/codegen/README.md b/tests/codegen/README.md new file mode 100644 index 000000000..8f2daaafc --- /dev/null +++ b/tests/codegen/README.md @@ -0,0 +1,24 @@ +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 +``` |