mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 20:11:12 +01:00
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:
+6
-6
@@ -18,7 +18,7 @@ fn Success() {
|
||||
// --- fail_numeric_designator.carbon
|
||||
|
||||
fn FailNumeric() {
|
||||
// CHECK:STDERR: fail_numeric_designator.carbon:[[@LINE+4]]:4: error(ExpectedIdentifierOrSelfAfterPeriod): expected identifier or `Self` after `.`
|
||||
// CHECK:STDERR: fail_numeric_designator.carbon:[[@LINE+4]]:4: error: expected identifier or `Self` after `.` [ExpectedIdentifierOrSelfAfterPeriod]
|
||||
// CHECK:STDERR: .1;
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -28,7 +28,7 @@ fn FailNumeric() {
|
||||
// --- fail_keyword_designator.carbon
|
||||
|
||||
fn FailKeyword() {
|
||||
// CHECK:STDERR: fail_keyword_designator.carbon:[[@LINE+4]]:4: error(ExpectedIdentifierOrSelfAfterPeriod): expected identifier or `Self` after `.`
|
||||
// CHECK:STDERR: fail_keyword_designator.carbon:[[@LINE+4]]:4: error: expected identifier or `Self` after `.` [ExpectedIdentifierOrSelfAfterPeriod]
|
||||
// CHECK:STDERR: .base;
|
||||
// CHECK:STDERR: ^~~~
|
||||
// CHECK:STDERR:
|
||||
@@ -38,7 +38,7 @@ fn FailKeyword() {
|
||||
// --- fail_empty_designator.carbon
|
||||
|
||||
fn FailEmpty() {
|
||||
// CHECK:STDERR: fail_empty_designator.carbon:[[@LINE+4]]:4: error(ExpectedIdentifierOrSelfAfterPeriod): expected identifier or `Self` after `.`
|
||||
// CHECK:STDERR: fail_empty_designator.carbon:[[@LINE+4]]:4: error: expected identifier or `Self` after `.` [ExpectedIdentifierOrSelfAfterPeriod]
|
||||
// CHECK:STDERR: .;
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -48,7 +48,7 @@ fn FailEmpty() {
|
||||
// --- fail_star_designator.carbon
|
||||
|
||||
fn FailStar() {
|
||||
// CHECK:STDERR: fail_star_designator.carbon:[[@LINE+4]]:4: error(ExpectedIdentifierOrSelfAfterPeriod): expected identifier or `Self` after `.`
|
||||
// CHECK:STDERR: fail_star_designator.carbon:[[@LINE+4]]:4: error: expected identifier or `Self` after `.` [ExpectedIdentifierOrSelfAfterPeriod]
|
||||
// CHECK:STDERR: .*;
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -59,11 +59,11 @@ fn FailStar() {
|
||||
|
||||
var x: i32 = .
|
||||
|
||||
// CHECK:STDERR: fail_designator_eof.carbon:[[@LINE+93]]:21: error(ExpectedIdentifierOrSelfAfterPeriod): expected identifier or `Self` after `.`
|
||||
// CHECK:STDERR: fail_designator_eof.carbon:[[@LINE+93]]:21: error: expected identifier or `Self` after `.` [ExpectedIdentifierOrSelfAfterPeriod]
|
||||
// CHECK:STDERR: // CHECK:STDOUT: ]
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
// CHECK:STDERR: fail_designator_eof.carbon:[[@LINE+89]]:21: error(ExpectedDeclSemi): `var` declarations must end with a `;`
|
||||
// CHECK:STDERR: fail_designator_eof.carbon:[[@LINE+89]]:21: error: `var` declarations must end with a `;` [ExpectedDeclSemi]
|
||||
// CHECK:STDERR: // CHECK:STDOUT: ]
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDOUT: - filename: designator.carbon
|
||||
|
||||
+7
-7
@@ -13,7 +13,7 @@
|
||||
|
||||
// --- fail_not_designator.carbon
|
||||
|
||||
// CHECK:STDERR: fail_not_designator.carbon:[[@LINE+4]]:37: error(RequirementEqualAfterNonDesignator): requirement can only use `=` after `.member` designator
|
||||
// CHECK:STDERR: fail_not_designator.carbon:[[@LINE+4]]:37: error: requirement can only use `=` after `.member` designator [RequirementEqualAfterNonDesignator]
|
||||
// CHECK:STDERR: fn NotDesignator(T:! type where i32 = .U);
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -21,7 +21,7 @@ fn NotDesignator(T:! type where i32 = .U);
|
||||
|
||||
// --- fail_designator_in_parens.carbon
|
||||
|
||||
// CHECK:STDERR: fail_designator_in_parens.carbon:[[@LINE+4]]:40: error(RequirementEqualAfterNonDesignator): requirement can only use `=` after `.member` designator
|
||||
// CHECK:STDERR: fail_designator_in_parens.carbon:[[@LINE+4]]:40: error: requirement can only use `=` after `.member` designator [RequirementEqualAfterNonDesignator]
|
||||
// CHECK:STDERR: fn DesignatorInParens(V:! I where (.J) = bool);
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -29,7 +29,7 @@ fn DesignatorInParens(V:! I where (.J) = bool);
|
||||
|
||||
// --- fail_dot_self.carbon
|
||||
|
||||
// CHECK:STDERR: fail_dot_self.carbon:[[@LINE+4]]:30: error(RequirementEqualAfterNonDesignator): requirement can only use `=` after `.member` designator
|
||||
// CHECK:STDERR: fail_dot_self.carbon:[[@LINE+4]]:30: error: requirement can only use `=` after `.member` designator [RequirementEqualAfterNonDesignator]
|
||||
// CHECK:STDERR: fn DotSelf(W:! K where .Self = f32);
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -37,7 +37,7 @@ fn DotSelf(W:! K where .Self = f32);
|
||||
|
||||
// --- fail_dot_keyword.carbon
|
||||
|
||||
// CHECK:STDERR: fail_dot_keyword.carbon:[[@LINE+4]]:28: error(ExpectedIdentifierOrSelfAfterPeriod): expected identifier or `Self` after `.`
|
||||
// CHECK:STDERR: fail_dot_keyword.carbon:[[@LINE+4]]:28: error: expected identifier or `Self` after `.` [ExpectedIdentifierOrSelfAfterPeriod]
|
||||
// CHECK:STDERR: fn DotKeyword(W:! K where .and = u8);
|
||||
// CHECK:STDERR: ^~~
|
||||
// CHECK:STDERR:
|
||||
@@ -45,7 +45,7 @@ fn DotKeyword(W:! K where .and = u8);
|
||||
|
||||
// --- fail_postfix_after_designator.carbon
|
||||
|
||||
// CHECK:STDERR: fail_postfix_after_designator.carbon:[[@LINE+4]]:43: error(RequirementEqualAfterNonDesignator): requirement can only use `=` after `.member` designator
|
||||
// CHECK:STDERR: fail_postfix_after_designator.carbon:[[@LINE+4]]:43: error: requirement can only use `=` after `.member` designator [RequirementEqualAfterNonDesignator]
|
||||
// CHECK:STDERR: fn PostfixAfterDesignator(X:! L where .M* = u64*);
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -53,7 +53,7 @@ fn PostfixAfterDesignator(X:! L where .M* = u64*);
|
||||
|
||||
// --- fail_binary_op_after_designator.carbon
|
||||
|
||||
// CHECK:STDERR: fail_binary_op_after_designator.carbon:[[@LINE+4]]:48: error(RequirementEqualAfterNonDesignator): requirement can only use `=` after `.member` designator
|
||||
// CHECK:STDERR: fail_binary_op_after_designator.carbon:[[@LINE+4]]:48: error: requirement can only use `=` after `.member` designator [RequirementEqualAfterNonDesignator]
|
||||
// CHECK:STDERR: fn BinaryOpAfterDesignator(Y:! N where .O + .P = {});
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -61,7 +61,7 @@ fn BinaryOpAfterDesignator(Y:! N where .O + .P = {});
|
||||
|
||||
// --- fail_after_and.carbon
|
||||
|
||||
// CHECK:STDERR: fail_after_and.carbon:[[@LINE+3]]:43: error(RequirementEqualAfterNonDesignator): requirement can only use `=` after `.member` designator
|
||||
// CHECK:STDERR: fail_after_and.carbon:[[@LINE+3]]:43: error: requirement can only use `=` after `.member` designator [RequirementEqualAfterNonDesignator]
|
||||
// CHECK:STDERR: fn AfterAnd(Z:! Q where .R impls S and () = .A);
|
||||
// CHECK:STDERR: ^
|
||||
fn AfterAnd(Z:! Q where .R impls S and () = .A);
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@ fn TwoAnd(Y:! I where .J impls K and .L == .M and .N = bool);
|
||||
|
||||
// --- fail_and_prefix.carbon
|
||||
|
||||
// CHECK:STDERR: fail_and_prefix.carbon:[[@LINE+4]]:29: error(ExpectedExpr): expected expression
|
||||
// CHECK:STDERR: fail_and_prefix.carbon:[[@LINE+4]]:29: error: expected expression [ExpectedExpr]
|
||||
// CHECK:STDERR: fn AndPrefix(T:! type where and .V == .W);
|
||||
// CHECK:STDERR: ^~~
|
||||
// CHECK:STDERR:
|
||||
@@ -24,7 +24,7 @@ fn AndPrefix(T:! type where and .V == .W);
|
||||
|
||||
// --- fail_and_suffix.carbon
|
||||
|
||||
// CHECK:STDERR: fail_and_suffix.carbon:[[@LINE+4]]:40: error(ExpectedExpr): expected expression
|
||||
// CHECK:STDERR: fail_and_suffix.carbon:[[@LINE+4]]:40: error: expected expression [ExpectedExpr]
|
||||
// CHECK:STDERR: fn AndSuffix(Y:! I where .J impls K and);
|
||||
// CHECK:STDERR: ^
|
||||
// CHECK:STDERR:
|
||||
@@ -32,7 +32,7 @@ fn AndSuffix(Y:! I where .J impls K and);
|
||||
|
||||
// --- fail_and_early.carbon
|
||||
|
||||
// CHECK:STDERR: fail_and_early.carbon:[[@LINE+3]]:28: error(ExpectedRequirementOperator): requirement should use `impls`, `=`, or `==` operator
|
||||
// CHECK:STDERR: fail_and_early.carbon:[[@LINE+3]]:28: error: requirement should use `impls`, `=`, or `==` operator [ExpectedRequirementOperator]
|
||||
// CHECK:STDERR: fn AndEarly(Z:! L where .M and N);
|
||||
// CHECK:STDERR: ^~~
|
||||
fn AndEarly(Z:! L where .M and N);
|
||||
|
||||
Reference in New Issue
Block a user