зеркало из https://github.com/microsoft/clang-1.git
fix off-by-one error
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41392 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
94f67810bc
Коммит
1f683e9cf2
|
@ -231,6 +231,8 @@ bool Expr::hasLocalSideEffect() const {
|
|||
}
|
||||
case BinaryOperatorClass:
|
||||
return cast<BinaryOperator>(this)->isAssignmentOp();
|
||||
case CompoundAssignOperator:
|
||||
return true;
|
||||
|
||||
case MemberExprClass:
|
||||
case ArraySubscriptExprClass:
|
||||
|
|
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче