fix off-by-one error

llvm-svn: 41392
This commit is contained in:
Chris Lattner 2007-08-25 01:55:00 +00:00
parent e7d0864aed
commit d8c9fc5ed8
2 changed files with 5 additions and 3 deletions

View File

@ -231,6 +231,8 @@ bool Expr::hasLocalSideEffect() const {
}
case BinaryOperatorClass:
return cast<BinaryOperator>(this)->isAssignmentOp();
case CompoundAssignOperator:
return true;
case MemberExprClass:
case ArraySubscriptExprClass:

View File

@ -21,7 +21,7 @@ static struct StmtClassNameTable {
const char *Name;
unsigned Counter;
unsigned Size;
} StmtClassInfo[Stmt::lastExprConstant];
} StmtClassInfo[Stmt::lastExprConstant+1];
static StmtClassNameTable &getStmtInfoTableEntry(Stmt::StmtClass E) {
static bool Initialized = false;
@ -48,13 +48,13 @@ void Stmt::PrintStats() {
unsigned sum = 0;
fprintf(stderr, "*** Stmt/Expr Stats:\n");
for (int i = 0; i != Stmt::lastExprConstant; i++) {
for (int i = 0; i != Stmt::lastExprConstant+1; i++) {
if (StmtClassInfo[i].Name == 0) continue;
sum += StmtClassInfo[i].Counter;
}
fprintf(stderr, " %d stmts/exprs total.\n", sum);
sum = 0;
for (int i = 0; i != Stmt::lastExprConstant; i++) {
for (int i = 0; i != Stmt::lastExprConstant+1; i++) {
if (StmtClassInfo[i].Name == 0) continue;
fprintf(stderr, " %d %s, %d each (%d bytes)\n",
StmtClassInfo[i].Counter, StmtClassInfo[i].Name,