Lines Matching defs:ICE
4231 const auto *ICE = dyn_cast<ImplicitCastExpr>(E);
4232 if (!ICE || ICE->getCastKind() != CK_ArrayToPointerDecay)
4235 S.Diag(Loc, diag::warn_sizeof_array_decay) << ICE->getSourceRange()
4236 << ICE->getType()
4237 << ICE->getSubExpr()->getType();
9839 if (auto *ICE = dyn_cast<ImplicitCastExpr>(Op)) {
9840 Orig = ICE->getSubExprAsWritten();
9841 Conversion = ICE->getConversionFunction();
9972 if (auto *ICE = dyn_cast<ImplicitCastExpr>(E))
9973 if (ICE->getSubExpr()->getType() == NewVecTy)
9974 return ICE->getSubExpr();
11282 // When left shifting an ICE which is signed, we can check for overflow which
12047 if (const auto *ICE = dyn_cast<ImplicitCastExpr>(E))
12048 SCS.Second = castKindToImplicitConversionKind(ICE->getCastKind());
13798 if (ImplicitCastExpr *ICE = dyn_cast<ImplicitCastExpr>(RHSCheck))
13799 RHSCheck = ICE->getSubExpr();
14106 if (ImplicitCastExpr* ICE = dyn_cast<ImplicitCastExpr>(Base)) {
14107 if (ICE->getSubExpr()->getType()->isArrayType())
14108 return getPrimaryDecl(ICE->getSubExpr());
17248 // An ICE must be of integral or unscoped enumeration type.
17261 // Circumvent ICE checking in C++11 to avoid evaluating the expression twice
17262 // in the non-ICE case.
17707 if (auto *ICE = dyn_cast<ImplicitCastExpr>(Init))
17708 Init = ICE->getSubExpr();
17709 else if (auto *ICE = dyn_cast<MaterializeTemporaryExpr>(Init))
17710 Init = ICE->getSubExpr();
19625 auto *ICE = cast<ImplicitCastExpr>(E);
19629 switch (ICE->getCastKind()) {
19633 ExprResult Sub = Rebuild(ICE->getSubExpr());
19636 CXXCastPath Path(ICE->path());
19637 return S.ImpCastExprToType(Sub.get(), ICE->getType(), ICE->getCastKind(),
19638 ICE->getValueKind(), &Path);