File tree Expand file tree Collapse file tree 1 file changed +1
-6
lines changed Expand file tree Collapse file tree 1 file changed +1
-6
lines changed Original file line number Diff line number Diff line change @@ -4489,8 +4489,6 @@ LValue CodeGenFunction::EmitArraySubscriptExpr(const ArraySubscriptExpr *E,
44894489 E->getBase ());
44904490
44914491 if (SanOpts.has (SanitizerKind::ArrayBounds)) {
4492- // FIXME: There *has* to be a better way to get the base GEP than
4493- // crawling back through the LoadInst.
44944492 const Expr *Base = E->getBase ();
44954493 while (true ) {
44964494 if (const auto *CE = dyn_cast<CastExpr>(Base)) {
@@ -4505,17 +4503,14 @@ LValue CodeGenFunction::EmitArraySubscriptExpr(const ArraySubscriptExpr *E,
45054503 }
45064504
45074505 if (const auto *CE = dyn_cast<CastExpr>(Base);
4508- CE && CE->getCastKind () == CK_LValueToRValue) {
4509- // FIXME: This is a bit fragile. See if we can strengthen it a bit
4510- // better.
4506+ CE && CE->getCastKind () == CK_LValueToRValue)
45114507 if (const auto *ME = dyn_cast<MemberExpr>(CE->getSubExpr ());
45124508 ME && ME->getMemberDecl ()->getType ()->isCountAttributedType ()) {
45134509 LValue LV = EmitCheckedLValue (Base, TCK_MemberAccess);
45144510 EmitCountedByBoundsChecking (E->getBase (), Idx, LV.getAddress (),
45154511 E->getIdx ()->getType (), ptrType, Accessed,
45164512 /* FlexibleArray=*/ false );
45174513 }
4518- }
45194514 }
45204515 }
45214516
You can’t perform that action at this time.
0 commit comments