Move diagnostic kind name to the end of the diagnostic. (#4437)

Also surround it in square brackets rather than parentheses. This
matches the format used by Clang and GCC, and means diagnostics will
still match the `file:line:col: error: ` pattern used by some IDE tools.

Before:
```console
fail_builtins.carbon:11:11: error(AliasRequiresNameRef): alias initializer must be a name reference
```

After:
```console
fail_builtins.carbon:11:11: error: alias initializer must be a name reference [AliasRequiresNameRef]
```

Also tighten up test regex to only match on `STDERR` lines that list a
file name.
This commit is contained in:
Richard Smith
2024-10-23 16:56:23 +00:00
committed by GitHub
parent f206072216
commit 2e63da1a40
528 changed files with 1929 additions and 1928 deletions
@@ -8,18 +8,18 @@
// TIP: To dump output, run:
// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/parse/testdata/function/definition/fail_builtin.carbon
// CHECK:STDERR: fail_builtin.carbon:[[@LINE+4]]:18: error(ExpectedBuiltinName): expected builtin function name after `=`
// CHECK:STDERR: fail_builtin.carbon:[[@LINE+4]]:18: error: expected builtin function name after `=` [ExpectedBuiltinName]
// CHECK:STDERR: fn NotString() = banana;
// CHECK:STDERR: ^~~~~~
// CHECK:STDERR:
fn NotString() = banana;
// CHECK:STDERR: fail_builtin.carbon:[[@LINE+4]]:32: error(ExpectedDeclSemi): `fn` declarations must end with a `;`
// CHECK:STDERR: fail_builtin.carbon:[[@LINE+4]]:32: error: `fn` declarations must end with a `;` [ExpectedDeclSemi]
// CHECK:STDERR: fn JunkAfterString() = "hello" "world";
// CHECK:STDERR: ^~~~~~~
// CHECK:STDERR:
fn JunkAfterString() = "hello" "world";
// CHECK:STDERR: fail_builtin.carbon:[[@LINE+3]]:23: error(ExpectedBuiltinName): expected builtin function name after `=`
// CHECK:STDERR: fail_builtin.carbon:[[@LINE+3]]:23: error: expected builtin function name after `=` [ExpectedBuiltinName]
// CHECK:STDERR: fn SpuriousEquals() = { }
// CHECK:STDERR: ^
fn SpuriousEquals() = { }
@@ -12,7 +12,7 @@ fn F() {
// Note: this might become valid depending on the expression syntax. This test
// shouldn't be taken as a sign it should remain invalid.
bar
// CHECK:STDERR: fail_identifier_in_statements.carbon:[[@LINE+3]]:1: error(ExpectedExprSemi): expected `;` after expression statement
// CHECK:STDERR: fail_identifier_in_statements.carbon:[[@LINE+3]]:1: error: expected `;` after expression statement [ExpectedExprSemi]
// CHECK:STDERR: }
// CHECK:STDERR: ^
}