These warnings are grouped under '-Wclass-conversion' to be compatiable with GCC 9.
Differential Revision: https://reviews.llvm.org/D78442
def BoolConversion : DiagGroup<"bool-conversion", [PointerBoolConversion,
UndefinedBoolConversion]>;
def IntConversion : DiagGroup<"int-conversion">;
+def ClassConversion: DiagGroup<"class-conversion">;
def DeprecatedEnumCompareConditional :
DiagGroup<"deprecated-enum-compare-conditional">;
def EnumCompareConditional : DiagGroup<"enum-compare-conditional",
def err_conv_function_redeclared : Error<
"conversion function cannot be redeclared">;
def warn_conv_to_self_not_used : Warning<
- "conversion function converting %0 to itself will never be used">;
+ "conversion function converting %0 to itself will never be used">,
+ InGroup<ClassConversion>;
def warn_conv_to_base_not_used : Warning<
- "conversion function converting %0 to its base class %1 will never be used">;
+ "conversion function converting %0 to its base class %1 will never be used">,
+ InGroup<ClassConversion>;
def warn_conv_to_void_not_used : Warning<
- "conversion function converting %0 to %1 will never be used">;
+ "conversion function converting %0 to %1 will never be used">,
+ InGroup<ClassConversion>;
def warn_not_compound_assign : Warning<
"use of unary operator that may be intended as compound assignment (%0=)">;
The list of warnings below should NEVER grow. It should gradually shrink to 0.
-CHECK: Warnings without flags (72):
+CHECK: Warnings without flags (69):
+
CHECK-NEXT: ext_expected_semi_decl_list
CHECK-NEXT: ext_explicit_specialization_storage_class
CHECK-NEXT: ext_missing_declspec
CHECK-NEXT: warn_char_constant_too_large
CHECK-NEXT: warn_collection_expr_type
CHECK-NEXT: warn_conflicting_variadic
-CHECK-NEXT: warn_conv_to_base_not_used
-CHECK-NEXT: warn_conv_to_self_not_used
-CHECK-NEXT: warn_conv_to_void_not_used
CHECK-NEXT: warn_delete_array_type
CHECK-NEXT: warn_double_const_requires_fp64
CHECK-NEXT: warn_drv_assuming_mfloat_abi_is