[clang] bbddedb - Fixed grammatical error in "enum specifier" error msg #94443 (#94592)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 7 09:20:56 PDT 2024
Author: kper
Date: 2024-06-07T20:20:52+04:00
New Revision: bbddedb3bf7b17c5caa4732c4a94dde8824c5e3a
URL: https://github.com/llvm/llvm-project/commit/bbddedb3bf7b17c5caa4732c4a94dde8824c5e3a
DIFF: https://github.com/llvm/llvm-project/commit/bbddedb3bf7b17c5caa4732c4a94dde8824c5e3a.diff
LOG: Fixed grammatical error in "enum specifier" error msg #94443 (#94592)
As discussed in #94443, this PR changes the wording to be more correct.
Added:
Modified:
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp
clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
clang/test/CXX/drs/cwg2xx.cpp
clang/test/CXX/drs/cwg4xx.cpp
clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
clang/test/CXX/temp/temp.spec/no-body.cpp
clang/test/SemaCXX/PR8755.cpp
clang/test/SemaCXX/using-decl-templates.cpp
clang/test/SemaTemplate/template-id-expr.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 9f0b6f5a36389..ae78534ddec28 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -6088,9 +6088,9 @@ def err_redefinition_
diff erent_concept : Error<
"redefinition of concept %0 with
diff erent 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 a908518f02ea2..c58cbfefc7997 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 f3e79c0aae44a..98c9b915c6ce9 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 2b3131be33057..99916dea9a912 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 07162cc28f6b6..6ada25237287c 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 1cf9e1c9f9c0f..b8092afaffef3 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 6d1b82fe1898a..5b0c4be300338 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 6818f3f0a8227..c0bcab3537d65 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 77dc596fdfc9f..1cf4caee1c0db 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 6c98e29cdaa95..dc12823ae307f 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}}
More information about the cfe-commits
mailing list