Skip to content

Commit a0b75b9

Browse files
authored
[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
1 parent 3cc7148 commit a0b75b9

File tree

4 files changed

+7
-2
lines changed

4 files changed

+7
-2
lines changed

clang/docs/ReleaseNotes.rst

+2
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,8 @@ Improvements to Clang's diagnostics
313313
314314
Fixes #GH61635
315315

316+
- 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.
317+
316318
Improvements to Clang's time-trace
317319
----------------------------------
318320

clang/include/clang/Basic/DiagnosticGroups.td

+1
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,7 @@ def GNUImaginaryConstant : DiagGroup<"gnu-imaginary-constant">;
496496
def IgnoredGCH : DiagGroup<"ignored-gch">;
497497
def IgnoredReferenceQualifiers : DiagGroup<"ignored-reference-qualifiers">;
498498
def IgnoredQualifiers : DiagGroup<"ignored-qualifiers", [IgnoredReferenceQualifiers]>;
499+
def IgnoredBaseClassQualifiers : DiagGroup<"ignored-base-class-qualifiers", [IgnoredQualifiers]>;
499500
def : DiagGroup<"import">;
500501
def GNUIncludeNext : DiagGroup<"gnu-include-next">;
501502
def IncompatibleMSStruct : DiagGroup<"incompatible-ms-struct">;

clang/include/clang/Basic/DiagnosticSemaKinds.td

+1-1
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ def warn_qual_return_type : Warning<
545545
InGroup<IgnoredQualifiers>, DefaultIgnore;
546546
def warn_qual_base_type : Warning<
547547
"'%0' qualifier%s1 on base class type %2 %plural{1:has|:have}1 no effect">,
548-
InGroup<IgnoredQualifiers>, DefaultIgnore;
548+
InGroup<IgnoredBaseClassQualifiers>, DefaultIgnore;
549549

550550
def warn_deprecated_redundant_constexpr_static_def : Warning<
551551
"out-of-line definition of constexpr static data member is redundant "

clang/test/SemaCXX/warn-base-type-qualifiers.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
// RUN: %clang_cc1 %s -std=c++11 -Wignored-qualifiers -verify
1+
// RUN: %clang_cc1 %s -std=c++11 -Wignored-base-class-qualifiers -verify
2+
// RUN: %clang_cc1 %s -std=c++11 -Wno-ignored-qualifiers -verify=good
3+
// good-no-diagnostics
24

35
template <typename T> struct add_const {
46
using type = const T;

0 commit comments

Comments
 (0)