parent
e7d0864aed
commit
d8c9fc5ed8
|
@ -231,6 +231,8 @@ bool Expr::hasLocalSideEffect() const {
|
||||||
}
|
}
|
||||||
case BinaryOperatorClass:
|
case BinaryOperatorClass:
|
||||||
return cast<BinaryOperator>(this)->isAssignmentOp();
|
return cast<BinaryOperator>(this)->isAssignmentOp();
|
||||||
|
case CompoundAssignOperator:
|
||||||
|
return true;
|
||||||
|
|
||||||
case MemberExprClass:
|
case MemberExprClass:
|
||||||
case ArraySubscriptExprClass:
|
case ArraySubscriptExprClass:
|
||||||
|
|
|
@ -21,7 +21,7 @@ static struct StmtClassNameTable {
|
||||||
const char *Name;
|
const char *Name;
|
||||||
unsigned Counter;
|
unsigned Counter;
|
||||||
unsigned Size;
|
unsigned Size;
|
||||||
} StmtClassInfo[Stmt::lastExprConstant];
|
} StmtClassInfo[Stmt::lastExprConstant+1];
|
||||||
|
|
||||||
static StmtClassNameTable &getStmtInfoTableEntry(Stmt::StmtClass E) {
|
static StmtClassNameTable &getStmtInfoTableEntry(Stmt::StmtClass E) {
|
||||||
static bool Initialized = false;
|
static bool Initialized = false;
|
||||||
|
@ -48,13 +48,13 @@ void Stmt::PrintStats() {
|
||||||
|
|
||||||
unsigned sum = 0;
|
unsigned sum = 0;
|
||||||
fprintf(stderr, "*** Stmt/Expr Stats:\n");
|
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;
|
if (StmtClassInfo[i].Name == 0) continue;
|
||||||
sum += StmtClassInfo[i].Counter;
|
sum += StmtClassInfo[i].Counter;
|
||||||
}
|
}
|
||||||
fprintf(stderr, " %d stmts/exprs total.\n", sum);
|
fprintf(stderr, " %d stmts/exprs total.\n", sum);
|
||||||
sum = 0;
|
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;
|
if (StmtClassInfo[i].Name == 0) continue;
|
||||||
fprintf(stderr, " %d %s, %d each (%d bytes)\n",
|
fprintf(stderr, " %d %s, %d each (%d bytes)\n",
|
||||||
StmtClassInfo[i].Counter, StmtClassInfo[i].Name,
|
StmtClassInfo[i].Counter, StmtClassInfo[i].Name,
|
||||||
|
|
Loading…
Reference in New Issue