[clang] [clang] Remove diagnostic that came with `[[clang::preferred_type]]` (PR #70632)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 30 07:42:26 PDT 2023
================
@@ -5928,28 +5928,6 @@ static void handlePreferredTypeAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
S.RequireCompleteType(ParmTSI->getTypeLoc().getBeginLoc(), QT,
diag::err_incomplete_type);
- if (QT->isEnumeralType()) {
- auto IsCorrespondingType = [&](QualType LHS, QualType RHS) {
- assert(LHS != RHS);
- if (LHS->isSignedIntegerType())
- return LHS == S.getASTContext().getCorrespondingSignedType(RHS);
- return LHS == S.getASTContext().getCorrespondingUnsignedType(RHS);
- };
- QualType BitfieldType =
- cast<FieldDecl>(D)->getType()->getCanonicalTypeUnqualified();
- QualType EnumUnderlyingType = QT->getAs<EnumType>()
- ->getDecl()
- ->getIntegerType()
- ->getCanonicalTypeUnqualified();
- if (EnumUnderlyingType != BitfieldType &&
- !IsCorrespondingType(EnumUnderlyingType, BitfieldType)) {
----------------
erichkeane wrote:
I don't really see value for keeping this one, this was not my preferred use case in the original patch.
I Still like the 'range' one I suggested, and I don't find the `UncommonNameKindOffset` to be particularly motivating.
https://github.com/llvm/llvm-project/pull/70632
More information about the cfe-commits
mailing list