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
+5 -5
View File
@@ -36,7 +36,7 @@ adapt i32;
// --- fail_bad_syntax.carbon
class A {
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:11: error(ExpectedDeclSemi): `adapt` declarations must end with a `;`
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:11: error: `adapt` declarations must end with a `;` [ExpectedDeclSemi]
// CHECK:STDERR: adapt 1 trailing_token;
// CHECK:STDERR: ^~~~~~~~~~~~~~
// CHECK:STDERR:
@@ -44,7 +44,7 @@ class A {
}
class B {
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:8: error(ExpectedExpr): expected expression
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:8: error: expected expression [ExpectedExpr]
// CHECK:STDERR: adapt;
// CHECK:STDERR: ^
// CHECK:STDERR:
@@ -53,14 +53,14 @@ class B {
class C {
adapt
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:1: error(ExpectedExpr): expected expression
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:1: error: expected expression [ExpectedExpr]
// CHECK:STDERR: }
// CHECK:STDERR: ^
// CHECK:STDERR:
}
class D {
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:9: error(ExpectedExpr): expected expression
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+4]]:9: error: expected expression [ExpectedExpr]
// CHECK:STDERR: adapt class;
// CHECK:STDERR: ^~~~~
// CHECK:STDERR:
@@ -68,7 +68,7 @@ class D {
}
fn F() {
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+3]]:3: error(ExpectedExpr): expected expression
// CHECK:STDERR: fail_bad_syntax.carbon:[[@LINE+3]]:3: error: expected expression [ExpectedExpr]
// CHECK:STDERR: adapt i32;
// CHECK:STDERR: ^~~~~
adapt i32;
+4 -4
View File
@@ -9,13 +9,13 @@
// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/parse/testdata/class/fail_base.carbon
class A {
// CHECK:STDERR: fail_base.carbon:[[@LINE+4]]:7: error(ExpectedAfterBase): `class` or `:` expected after `base`
// CHECK:STDERR: fail_base.carbon:[[@LINE+4]]:7: error: `class` or `:` expected after `base` [ExpectedAfterBase]
// CHECK:STDERR: base;
// CHECK:STDERR: ^
// CHECK:STDERR:
base;
// CHECK:STDERR: fail_base.carbon:[[@LINE+4]]:9: error(ExpectedExpr): expected expression
// CHECK:STDERR: fail_base.carbon:[[@LINE+4]]:9: error: expected expression [ExpectedExpr]
// CHECK:STDERR: base: ;
// CHECK:STDERR: ^
// CHECK:STDERR:
@@ -23,11 +23,11 @@ class A {
base: { }
// We should resume parsing here after the previous error.
// CHECK:STDERR: fail_base.carbon:[[@LINE+7]]:3: error(ExpectedDeclSemi): `base` declarations must end with a `;`
// CHECK:STDERR: fail_base.carbon:[[@LINE+7]]:3: error: `base` declarations must end with a `;` [ExpectedDeclSemi]
// CHECK:STDERR: var n: i32;
// CHECK:STDERR: ^~~
// CHECK:STDERR:
// CHECK:STDERR: fail_base.carbon:[[@LINE+3]]:7: error(UnrecognizedDecl): unrecognized declaration introducer
// CHECK:STDERR: fail_base.carbon:[[@LINE+3]]:7: error: unrecognized declaration introducer [UnrecognizedDecl]
// CHECK:STDERR: var n: i32;
// CHECK:STDERR: ^
var n: i32;
+1 -1
View File
@@ -11,7 +11,7 @@
base class B {}
fn F() {
// CHECK:STDERR: fail_base_misplaced.carbon:[[@LINE+3]]:3: error(ExpectedExpr): expected expression
// CHECK:STDERR: fail_base_misplaced.carbon:[[@LINE+3]]:3: error: expected expression [ExpectedExpr]
// CHECK:STDERR: base: B;
// CHECK:STDERR: ^~~~
base: B;
+3 -3
View File
@@ -11,14 +11,14 @@
// --- fail_virtual_class.carbon
virtual class B
// CHECK:STDERR: fail_virtual_class.carbon:[[@LINE+4]]:1: error(ExpectedDeclSemiOrDefinition): `virtual` declarations must either end with a `;` or have a `{ ... }` block for a definition
// CHECK:STDERR: fail_virtual_class.carbon:[[@LINE+4]]:1: error: `virtual` declarations must either end with a `;` or have a `{ ... }` block for a definition [ExpectedDeclSemiOrDefinition]
// CHECK:STDERR:
// CHECK:STDERR: ^
// CHECK:STDERR:
// --- fail_impl_class.carbon
// CHECK:STDERR: fail_impl_class.carbon:[[@LINE+4]]:1: error(ExpectedDeclName): `impl` introducer should be followed by a name
// CHECK:STDERR: fail_impl_class.carbon:[[@LINE+4]]:1: error: `impl` introducer should be followed by a name [ExpectedDeclName]
// CHECK:STDERR: impl class
// CHECK:STDERR: ^~~~
// CHECK:STDERR:
@@ -27,7 +27,7 @@ impl class
// --- fail_extend_adapt_base.carbon
class C {
// CHECK:STDERR: fail_extend_adapt_base.carbon:[[@LINE+3]]:16: error(ExpectedExpr): expected expression
// CHECK:STDERR: fail_extend_adapt_base.carbon:[[@LINE+3]]:16: error: expected expression [ExpectedExpr]
// CHECK:STDERR: extend adapt base B;
// CHECK:STDERR: ^~~~
extend adapt base B;