[clang] Fixed grammatical error in "enum specifier" error msg #94443 (PR #94592)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 6 02:00:37 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: None (kper)
<details>
<summary>Changes</summary>
As discussed in #<!-- -->94443, this PR changes the wording to be more correct.
---
Full diff: https://github.com/llvm/llvm-project/pull/94592.diff
10 Files Affected:
- (modified) clang/include/clang/Basic/DiagnosticSemaKinds.td (+3-3)
- (modified) clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp (+2-2)
- (modified) clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp (+3-3)
- (modified) clang/test/CXX/drs/cwg2xx.cpp (+3-3)
- (modified) clang/test/CXX/drs/cwg4xx.cpp (+1-1)
- (modified) clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp (+1-1)
- (modified) clang/test/CXX/temp/temp.spec/no-body.cpp (+1-1)
- (modified) clang/test/SemaCXX/PR8755.cpp (+1-1)
- (modified) clang/test/SemaCXX/using-decl-templates.cpp (+1-1)
- (modified) clang/test/SemaTemplate/template-id-expr.cpp (+1-1)
``````````diff
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 1a117245a325e3..4f74f62374d8b0 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -6088,9 +6088,9 @@ def err_redefinition_different_concept : Error<
"redefinition of concept %0 with different template parameters or requirements">;
def err_tag_reference_non_tag : Error<
"%select{non-struct type|non-class type|non-union type|non-enum "
- "type|typedef|type alias|template|type alias template|template "
- "template argument}1 %0 cannot be referenced with a "
- "%select{struct|interface|union|class|enum}2 specifier">;
+ "type|typedef|type alias|template|alias template|template "
+ "template argument}1 %0 cannot be referenced with the '"
+ "%select{struct|interface|union|class|enum}2' specifier">;
def err_tag_reference_conflict : Error<
"implicit declaration introduced by elaborated type conflicts with a "
"%select{non-struct type|non-class type|non-union type|non-enum "
diff --git a/clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp b/clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp
index a908518f02ea2e..c58cbfefc7997c 100644
--- a/clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp
+++ b/clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp
@@ -9,7 +9,7 @@ namespace test0 {
typedef int A; // expected-note {{declared here}}
int test() {
- struct A a; // expected-error {{typedef 'A' cannot be referenced with a struct specifier}}
+ struct A a; // expected-error {{typedef 'A' cannot be referenced with the 'struct' specifier}}
return a.foo;
}
}
@@ -18,7 +18,7 @@ namespace test0 {
template <class> class A; // expected-note {{declared here}}
int test() {
- struct A a; // expected-error {{template 'A' cannot be referenced with a struct specifier}}
+ struct A a; // expected-error {{template 'A' cannot be referenced with the 'struct' specifier}}
return a.foo;
}
}
diff --git a/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
index f3e79c0aae44a8..98c9b915c6ce9f 100644
--- a/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
+++ b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
@@ -2,18 +2,18 @@
struct A { typedef int type; };
template<typename T> using X = A; // expected-note {{declared here}}
-struct X<int>* p2; // expected-error {{type alias template 'X' cannot be referenced with a struct specifier}}
+struct X<int>* p2; // expected-error {{alias template 'X' cannot be referenced with the 'struct' specifier}}
template<typename T> using Id = T; // expected-note {{declared here}}
template<template<typename> class F>
struct Y {
- struct F<int> i; // expected-error {{type alias template 'Id' cannot be referenced with a struct specifier}}
+ struct F<int> i; // expected-error {{alias template 'Id' cannot be referenced with the 'struct' specifier}}
typename F<A>::type j; // ok
// FIXME: don't produce the diagnostic both for the definition and the instantiation.
template<typename T> using U = F<char>; // expected-note 2{{declared here}}
- struct Y<F>::template U<char> k; // expected-error 2{{type alias template 'U' cannot be referenced with a struct specifier}}
+ struct Y<F>::template U<char> k; // expected-error 2{{alias template 'U' cannot be referenced with the 'struct' specifier}}
typename Y<F>::template U<char> l; // ok
};
template struct Y<Id>; // expected-note {{requested here}}
diff --git a/clang/test/CXX/drs/cwg2xx.cpp b/clang/test/CXX/drs/cwg2xx.cpp
index 2b3131be33057a..99916dea9a9120 100644
--- a/clang/test/CXX/drs/cwg2xx.cpp
+++ b/clang/test/CXX/drs/cwg2xx.cpp
@@ -759,7 +759,7 @@ namespace cwg254 { // cwg254: 2.9
typedef typename T::type type; // ok even if this is a typedef-name, because
// it's not an elaborated-type-specifier
typedef struct T::type foo;
- // expected-error at -1 {{typedef 'type' cannot be referenced with a struct specifier}}
+ // expected-error at -1 {{typedef 'type' cannot be referenced with the 'struct' specifier}}
// expected-note@#cwg254-instantiation {{in instantiation of template class 'cwg254::A<cwg254::C>' requested here}}
// expected-note@#cwg254-C {{declared here}}
};
@@ -1264,10 +1264,10 @@ namespace cwg298 { // cwg298: 3.1
struct A a;
struct B b;
- // expected-error at -1 {{typedef 'B' cannot be referenced with a struct specifier}}
+ // expected-error at -1 {{typedef 'B' cannot be referenced with the 'struct' specifier}}
// expected-note@#cwg298-B {{declared here}}
struct C c;
- // expected-error at -1 {{typedef 'C' cannot be referenced with a struct specifier}}
+ // expected-error at -1 {{typedef 'C' cannot be referenced with the 'struct' specifier}}
// expected-note@#cwg298-C {{declared here}}
B::B() {}
diff --git a/clang/test/CXX/drs/cwg4xx.cpp b/clang/test/CXX/drs/cwg4xx.cpp
index 07162cc28f6b60..6ada25237287c6 100644
--- a/clang/test/CXX/drs/cwg4xx.cpp
+++ b/clang/test/CXX/drs/cwg4xx.cpp
@@ -170,7 +170,7 @@ namespace cwg407 { // cwg407: 3.8
{
typedef struct S S; // #cwg407-typedef-S
struct S *p;
- // expected-error at -1 {{typedef 'S' cannot be referenced with a struct specifier}}
+ // expected-error at -1 {{typedef 'S' cannot be referenced with the 'struct' specifier}}
// expected-note@#cwg407-typedef-S {{declared here}}
}
}
diff --git a/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp b/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
index 1cf9e1c9f9c0fa..b8092afaffef3f 100644
--- a/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
+++ b/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
@@ -174,7 +174,7 @@ namespace test7 {
// This shouldn't crash.
template <class T> class D {
- friend class A; // expected-error {{template 'A' cannot be referenced with a class specifier}}
+ friend class A; // expected-error {{template 'A' cannot be referenced with the 'class' specifier}}
};
template class D<int>;
}
diff --git a/clang/test/CXX/temp/temp.spec/no-body.cpp b/clang/test/CXX/temp/temp.spec/no-body.cpp
index 6d1b82fe1898a4..5b0c4be3003380 100644
--- a/clang/test/CXX/temp/temp.spec/no-body.cpp
+++ b/clang/test/CXX/temp/temp.spec/no-body.cpp
@@ -43,7 +43,7 @@ namespace good { // Only good in C++98/03
namespace unsupported {
#ifndef FIXING
- template struct y; // expected-error {{template 'y' cannot be referenced with a struct specifier}}
+ template struct y; // expected-error {{template 'y' cannot be referenced with the 'struct' specifier}}
#endif
}
diff --git a/clang/test/SemaCXX/PR8755.cpp b/clang/test/SemaCXX/PR8755.cpp
index 6818f3f0a82276..c0bcab3537d654 100644
--- a/clang/test/SemaCXX/PR8755.cpp
+++ b/clang/test/SemaCXX/PR8755.cpp
@@ -7,7 +7,7 @@ struct A {
template <typename T>
void f() {
- class A <T> ::iterator foo; // expected-error{{typedef 'iterator' cannot be referenced with a class specifier}}
+ class A <T> ::iterator foo; // expected-error{{typedef 'iterator' cannot be referenced with the 'class' specifier}}
}
void g() {
diff --git a/clang/test/SemaCXX/using-decl-templates.cpp b/clang/test/SemaCXX/using-decl-templates.cpp
index 77dc596fdfc9f3..1cf4caee1c0db0 100644
--- a/clang/test/SemaCXX/using-decl-templates.cpp
+++ b/clang/test/SemaCXX/using-decl-templates.cpp
@@ -90,7 +90,7 @@ namespace aliastemplateinst {
template<typename T> struct A { };
template<typename T> using APtr = A<T*>; // expected-note{{previous use is here}}
- template struct APtr<int>; // expected-error{{type alias template 'APtr' cannot be referenced with a struct specifier}}
+ template struct APtr<int>; // expected-error{{alias template 'APtr' cannot be referenced with the 'struct' specifier}}
}
namespace DontDiagnoseInvalidTest {
diff --git a/clang/test/SemaTemplate/template-id-expr.cpp b/clang/test/SemaTemplate/template-id-expr.cpp
index 6c98e29cdaa957..dc12823ae307fb 100644
--- a/clang/test/SemaTemplate/template-id-expr.cpp
+++ b/clang/test/SemaTemplate/template-id-expr.cpp
@@ -179,7 +179,7 @@ template <template <typename> class D>
class E {
template class D<C>; // expected-error {{expected '<' after 'template'}}
template<> class D<C>; // expected-error {{cannot specialize a template template parameter}}
- friend class D<C>; // expected-error {{type alias template 'D' cannot be referenced with a class specifier}}
+ friend class D<C>; // expected-error {{alias template 'D' cannot be referenced with the 'class' specifier}}
};
#if __cplusplus <= 199711L
// expected-warning at +2 {{extension}}
``````````
</details>
https://github.com/llvm/llvm-project/pull/94592
More information about the cfe-commits
mailing list