This patch augments Lit with the ability to parse regular expressions
in boolean expressions. This includes REQUIRES:, XFAIL:, UNSUPPORTED:,
and all other special Lit markup that evaluates to a boolean expression.
Regular expressions can be specified by enclosing them in {{...}},
similarly to how FileCheck handles such regular expressions. The regular
expression can either be on its own, or it can be part of an identifier.
For example, a match expression like {{.+}}-apple-darwin{{.+}} would match
the following variables:
x86_64-apple-darwin20.0
arm64-apple-darwin20.0
arm64-apple-darwin22.0
etc...
In the long term, this could be used to remove the need to handle the
target triple specially when parsing boolean expressions.
Differential Revision: https://reviews.llvm.org/D104572
10 lines
512 B
Python
10 lines
512 B
Python
# Check that --show-used-features works correctly.
|
|
#
|
|
# RUN: %{lit} %{inputs}/show-used-features --show-used-features | FileCheck %s
|
|
# CHECK: my-require-feature-1 my-require-feature-2 my-require-feature-3
|
|
# CHECK: my-unsupported-feature-1 my-unsupported-feature-2 my-unsupported-feature-3
|
|
# CHECK: my-xfail-feature-1 my-xfail-feature-2 my-xfail-feature-3
|
|
# CHECK: {{my-[{][{]\[require\]\*[}][}]-feature-4}}
|
|
# CHECK: {{my-[{][{]\[unsupported\]\*[}][}]-feature-4}}
|
|
# CHECK: {{my-[{][{]\[xfail\]\*[}][}]-feature-4}}
|