Lines Matching defs:ECD

10342           if (auto *ECD = dyn_cast<EnumConstantDecl>(NonParmDecl))
10343 TD = cast<EnumDecl>(ECD->getDeclContext());
19869 static bool ValidDuplicateEnum(EnumConstantDecl *ECD, EnumDecl *Enum) {
19870 Expr *InitExpr = ECD->getInitExpr();
19896 if (cast<EnumDecl>(TagDecl::castFromDeclContext(ECD->getDeclContext())) !=
19938 EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(Element);
19942 if (!ECD) {
19947 if (ECD->getInitExpr())
19951 EnumMap.insert({EnumConstantToKey(ECD), ECD});
19960 EnumConstantDecl *ECD = cast<EnumConstantDecl>(Element);
19961 if (!ValidDuplicateEnum(ECD, Enum))
19964 auto Iter = EnumMap.find(EnumConstantToKey(ECD));
19971 if (D == ECD)
19977 Vec->push_back(ECD);
19990 if (*Vec->begin() == ECD)
19993 Vec->push_back(ECD);
20008 for (auto *ECD : llvm::drop_begin(*Vec))
20009 S.Diag(ECD->getLocation(), diag::note_duplicate_element)
20010 << ECD << toString(ECD->getInitVal(), 10)
20011 << ECD->getSourceRange();
20055 EnumConstantDecl *ECD =
20057 if (!ECD) continue;
20059 ECD->setType(EnumType);
20073 EnumConstantDecl *ECD =
20075 if (!ECD) continue; // Already issued a diagnostic.
20077 llvm::APSInt InitVal = ECD->getInitVal();
20142 auto *ECD = cast_or_null<EnumConstantDecl>(D);
20143 if (!ECD) continue; // Already issued a diagnostic.
20152 llvm::APSInt InitVal = ECD->getInitVal();
20170 } else if (ECD->getType() == BestType) {
20176 ECD->setType(EnumType);
20187 ECD->setInitVal(Context, InitVal);
20190 if (ECD->getInitExpr() &&
20191 !Context.hasSameType(NewTy, ECD->getInitExpr()->getType()))
20192 ECD->setInitExpr(ImplicitCastExpr::Create(
20193 Context, NewTy, CK_IntegralCast, ECD->getInitExpr(),
20199 ECD->setType(EnumType);
20201 ECD->setType(NewTy);
20211 EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(D);
20212 if (!ECD) continue; // Already issued a diagnostic.
20214 llvm::APSInt InitVal = ECD->getInitVal();
20217 Diag(ECD->getLocation(), diag::warn_flag_enum_constant_out_of_range)
20218 << ECD << Enum;