summaryrefslogtreecommitdiffstats
path: root/tests/codegen/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/README.md')
-rw-r--r--tests/codegen/README.md24
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
+```