[Clang] add emit -Wignored-base-class-qualifiers diagnostic for cv-qualified base classes (#132116)

Split diagnosing base class qualifiers from the ``-Wignored-Qualifiers``
diagnostic group into a new ``-Wignored-base-class-qualifiers``
diagnostic group (which is grouped under ``-Wignored-qualifiers``).

Fixes #131935
This commit is contained in:
Lyle Dean 2025-04-02 12:31:42 +01:00 committed by GitHub
parent 3cc7148fe0
commit a0b75b9d99
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 7 additions and 2 deletions

View File

@ -313,6 +313,8 @@ Improvements to Clang's diagnostics
Fixes #GH61635
- Split diagnosing base class qualifiers from the ``-Wignored-Qualifiers`` diagnostic group into a new ``-Wignored-base-class-qualifiers`` diagnostic group (which is grouped under ``-Wignored-qualifiers``). Fixes #GH131935.
Improvements to Clang's time-trace
----------------------------------

View File

@ -496,6 +496,7 @@ def GNUImaginaryConstant : DiagGroup<"gnu-imaginary-constant">;
def IgnoredGCH : DiagGroup<"ignored-gch">;
def IgnoredReferenceQualifiers : DiagGroup<"ignored-reference-qualifiers">;
def IgnoredQualifiers : DiagGroup<"ignored-qualifiers", [IgnoredReferenceQualifiers]>;
def IgnoredBaseClassQualifiers : DiagGroup<"ignored-base-class-qualifiers", [IgnoredQualifiers]>;
def : DiagGroup<"import">;
def GNUIncludeNext : DiagGroup<"gnu-include-next">;
def IncompatibleMSStruct : DiagGroup<"incompatible-ms-struct">;

View File

@ -545,7 +545,7 @@ def warn_qual_return_type : Warning<
InGroup<IgnoredQualifiers>, DefaultIgnore;
def warn_qual_base_type : Warning<
"'%0' qualifier%s1 on base class type %2 %plural{1:has|:have}1 no effect">,
InGroup<IgnoredQualifiers>, DefaultIgnore;
InGroup<IgnoredBaseClassQualifiers>, DefaultIgnore;
def warn_deprecated_redundant_constexpr_static_def : Warning<
"out-of-line definition of constexpr static data member is redundant "

View File

@ -1,4 +1,6 @@
// RUN: %clang_cc1 %s -std=c++11 -Wignored-qualifiers -verify
// RUN: %clang_cc1 %s -std=c++11 -Wignored-base-class-qualifiers -verify
// RUN: %clang_cc1 %s -std=c++11 -Wno-ignored-qualifiers -verify=good
// good-no-diagnostics
template <typename T> struct add_const {
using type = const T;