Skip to content

Commit e382e2f

Browse files
committed
[FOLD] address review feedback, reword diagnostic
1 parent f81f058 commit e382e2f

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

clang/include/clang/Basic/DiagnosticParseKinds.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,8 +373,6 @@ def err_requires_clause_must_appear_after_trailing_return : Error<
373373
"trailing return type must appear before trailing requires clause">;
374374
def err_requires_clause_on_declarator_not_declaring_a_function : Error<
375375
"trailing requires clause can only be used when declaring a function">;
376-
def err_requires_clause_explicit_object_parameter: Error<
377-
"a requires clause cannot have an explicit object parameter">;
378376
def err_requires_clause_inside_parens : Error<
379377
"trailing requires clause should be placed outside parentheses">;
380378
def ext_auto_storage_class : ExtWarn<
@@ -865,6 +863,8 @@ def err_empty_requires_expr : Error<
865863
"a requires expression must contain at least one requirement">;
866864
def err_requires_expr_parameter_list_ellipsis : Error<
867865
"varargs not allowed in requires expression">;
866+
def err_requires_expr_explicit_object_parameter: Error<
867+
"a requires expression cannot have an explicit object parameter">;
868868
def err_expected_semi_requirement : Error<
869869
"expected ';' at end of requirement">;
870870
def err_requires_expr_missing_arrow : Error<

clang/lib/Parse/ParseDecl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7673,7 +7673,7 @@ void Parser::ParseParameterDeclarationClause(
76737673
// The parameter-declaration-list of a requires-expression is not such
76747674
// a context.
76757675
if (DeclaratorCtx == DeclaratorContext::RequiresExpr)
7676-
Diag(ThisLoc, diag::err_requires_clause_explicit_object_parameter);
7676+
Diag(ThisLoc, diag::err_requires_expr_explicit_object_parameter);
76777677
}
76787678

76797679
ParseDeclarationSpecifiers(DS, /*TemplateInfo=*/ParsedTemplateInfo(),
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
// RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s
22

3-
auto x0 = requires (this int) { true; }; // expected-error {{a requires clause cannot have an explicit object parameter}}
4-
auto x1 = requires (int, this int) { true; }; // expected-error {{a requires clause cannot have an explicit object parameter}}
3+
auto x0 = requires (this int) { true; }; // expected-error {{a requires expression cannot have an explicit object parameter}}
4+
auto x1 = requires (int, this int) { true; }; // expected-error {{a requires expression cannot have an explicit object parameter}}
5+
6+
template<this auto>
7+
void f(); // expected-error {{expected template parameter}}
8+
// expected-error@-1 {{no function template matches function template specialization 'f'}}

0 commit comments

Comments
 (0)