Lines Matching defs:ICE
4190 const auto *ICE = dyn_cast<ImplicitCastExpr>(E);
4191 if (!ICE || ICE->getCastKind() != CK_ArrayToPointerDecay)
4194 S.Diag(Loc, diag::warn_sizeof_array_decay) << ICE->getSourceRange()
4195 << ICE->getType()
4196 << ICE->getSubExpr()->getType();
9747 if (auto *ICE = dyn_cast<ImplicitCastExpr>(Op)) {
9748 Orig = ICE->getSubExprAsWritten();
9749 Conversion = ICE->getConversionFunction();
9878 if (auto *ICE = dyn_cast<ImplicitCastExpr>(E))
9879 if (ICE->getSubExpr()->getType() == NewVecTy)
9880 return ICE->getSubExpr();
11163 // When left shifting an ICE which is signed, we can check for overflow which
11868 if (const auto *ICE = dyn_cast<ImplicitCastExpr>(E))
11869 SCS.Second = castKindToImplicitConversionKind(ICE->getCastKind());
13595 if (ImplicitCastExpr *ICE = dyn_cast<ImplicitCastExpr>(RHSCheck))
13596 RHSCheck = ICE->getSubExpr();
13903 if (ImplicitCastExpr* ICE = dyn_cast<ImplicitCastExpr>(Base)) {
13904 if (ICE->getSubExpr()->getType()->isArrayType())
13905 return getPrimaryDecl(ICE->getSubExpr());
17001 // An ICE must be of integral or unscoped enumeration type.
17014 // Circumvent ICE checking in C++11 to avoid evaluating the expression twice
17015 // in the non-ICE case.
19337 auto *ICE = cast<ImplicitCastExpr>(E);
19341 switch (ICE->getCastKind()) {
19345 ExprResult Sub = Rebuild(ICE->getSubExpr());
19348 CXXCastPath Path(ICE->path());
19349 return S.ImpCastExprToType(Sub.get(), ICE->getType(), ICE->getCastKind(),
19350 ICE->getValueKind(), &Path);