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.