Home | History | Annotate | Download | only in Sema

Lines Matching refs:ECD

13499 static bool ValidDuplicateEnum(EnumConstantDecl *ECD, EnumDecl *Enum) {
13500 Expr *InitExpr = ECD->getInitExpr();
13526 if (cast<EnumDecl>(TagDecl::castFromDeclContext(ECD->getDeclContext())) !=
13585 EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(Elements[i]);
13589 if (!ECD) {
13593 if (ECD->getInitExpr())
13596 DupKey Key = GetDupKey(ECD->getInitVal());
13601 Entry = ECD;
13606 EnumConstantDecl *ECD = cast<EnumConstantDecl>(Elements[i]);
13607 if (!ValidDuplicateEnum(ECD, Enum))
13610 DupKey Key = GetDupKey(ECD->getInitVal());
13618 if (D == ECD)
13624 Vec->push_back(ECD);
13637 if (*Vec->begin() == ECD)
13640 Vec->push_back(ECD);
13722 EnumConstantDecl *ECD =
13724 if (!ECD) continue;
13726 ECD->setType(EnumType);
13749 EnumConstantDecl *ECD =
13751 if (!ECD) continue; // Already issued a diagnostic.
13753 const llvm::APSInt &InitVal = ECD->getInitVal();
13765 AllElementsInt = ECD->getType() == Context.IntTy;
13869 auto *ECD = cast_or_null<EnumConstantDecl>(D);
13870 if (!ECD) continue; // Already issued a diagnostic.
13879 llvm::APSInt InitVal = ECD->getInitVal();
13892 } else if (ECD->getType() == BestType) {
13898 ECD->setType(EnumType);
13909 ECD->setInitVal(InitVal);
13912 if (ECD->getInitExpr() &&
13913 !Context.hasSameType(NewTy, ECD->getInitExpr()->getType()))
13914 ECD->setInitExpr(ImplicitCastExpr::Create(Context, NewTy,
13916 ECD->getInitExpr(),
13923 ECD->setType(EnumType);
13925 ECD->setType(NewTy);
13940 EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(D);
13941 if (!ECD) continue; // Already issued a diagnostic.
13943 llvm::APSInt InitVal = ECD->getInitVal();
13945 Diag(ECD->getLocation(), diag::warn_flag_enum_constant_out_of_range)
13946 << ECD << Enum;