APSInt Expr::EvaluateAsInt(ASTContext &Ctx) const {
EvalResult EvalResult;
bool Result = Evaluate(EvalResult, Ctx);
+ Result = Result;
assert(Result && "Could not evaluate expression");
assert(EvalResult.Val.isInt() && "Expression did not evaluate to integer");
SymbolRef SymbolManager::getSymbol(const MemRegion* R) {
switch (R->getKind()) {
+ default:
+ assert(0 && "unprocessed region");
case MemRegion::VarRegionKind:
return getSymbol(cast<VarRegion>(R)->getDecl());
const FieldRegion* FR = cast<FieldRegion>(R);
return getFieldSymbol(FR->getSuperRegion(), FR->getDecl());
}
- default:
- assert(0 && "unprocessed region");
}
}
EmitScalarExpr(E->getBase()),
false, CallArgList());
}
- else if (const ObjCKVCRefExpr *E = dyn_cast<ObjCKVCRefExpr>(Exp)) {
+ else {
+ const ObjCKVCRefExpr *E = cast<ObjCKVCRefExpr>(Exp);
Selector S = E->getGetterMethod()->getSelector();
return CGM.getObjCRuntime().
GenerateMessageSend(*this, Exp->getType(), S,
EmitScalarExpr(E->getBase()),
false, CallArgList());
}
- else
- assert (0 && "bad expression node in EmitObjCPropertyGet");
}
void CodeGenFunction::EmitObjCPropertySet(const Expr *Exp,
// the result of the lookup.
// FIXME: support using declarations!
QualType SubobjectType;
- int SubobjectNumber;
+ int SubobjectNumber = 0;
for (BasePaths::paths_iterator Path = Paths.begin(), PathEnd = Paths.end();
Path != PathEnd; ++Path) {
const BasePathElement &PathElement = Path->back();