我使用LLVM's FileCheck来验证我写过的某些LLVM通行证的结果。
我知道我可以通过执行以下操作来检查两个字符串是否相同:
CHECK: first string = [[ID:[0-9]+]]
CHECK: second string = [[ID]]
但有没有办法检查他们不相等?例如:
CHECK: first string = [[ID:[0-9]+]]
CHECK: second string = [[!ID]]
当然CHECK-NOT
是明显的答案,但我实际上使用的是 CHECK-DAG
,而CHECK-NOT
并不能很好地发挥作用:
CHECK-DAG: this can appear anywhere
CHECK-DAG: first string = [[ID:[0-9]+]]
CHECK-DAG: second string = [[!ID]]
我在这里专门处理数字,所以我对只能解决这个问题的解决方案感到满意。如果所有其他方法都失败了,即使只解决[0-9]
(不重复)的解决方案也可以。