This patch enables --function-signature by default under --version 2 and makes --version 2 the default. This means that all newly created tests will check the function signature, while leaving old tests alone. There's two motivations for this change: * Without --function-signature, the generated check lines may fail in a very hard to understand way if the test both includes a function definition and a call to that function. (Though we could address this by making the CHECK-LABEL stricter, without checking the full signature.) * This actually checks that uses of the arguments in the function body use the correct argument, instead of matching against any variable. This is a replacement for D139006 and D140212 based on the --version mechanism. I did not include an opt-out flag --no-function-signature because I'm not sure we need it. Would be happy to include it though, if desired. Differential Revision: https://reviews.llvm.org/D145149
22 lines
1.1 KiB
Plaintext
22 lines
1.1 KiB
Plaintext
# REQUIRES: x86-registered-target
|
|
## Basic test checking that update_test_checks.py works correctly
|
|
# RUN: cp -f %S/Inputs/basic.ll %t.ll && %update_test_checks %t.ll
|
|
# RUN: diff -u %t.ll %S/Inputs/basic.ll.expected
|
|
## Check that running the script again does not change the result:
|
|
# RUN: %update_test_checks %t.ll
|
|
# RUN: diff -u %t.ll %S/Inputs/basic.ll.expected
|
|
## Also try the --function-signature flag
|
|
# RUN: %update_test_checks %t.ll --function-signature
|
|
# RUN: diff -u %t.ll %S/Inputs/basic.ll.funcsig.expected
|
|
## Verify that running without the --function-signature flag does not removes
|
|
## the -SAME: lines since the generated file will have --function-signature in
|
|
## an UTC_ARGS: comment in the first line (from the invocation above) which is
|
|
## added to the update invocation below.
|
|
# RUN: %update_test_checks %t.ll
|
|
# RUN: diff -u %t.ll %S/Inputs/basic.ll.funcsig.expected
|
|
## Restore the original file without --function-signature and check that
|
|
## --version 2 will implicitly enable it and also check the return type.
|
|
# RUN: cp -f %S/Inputs/basic.ll %t.ll
|
|
# RUN: %update_test_checks %t.ll --version 2
|
|
# RUN: diff -u %t.ll %S/Inputs/basic.ll.v2.expected
|