added unsafe case of division with "all off" mask

This commit is contained in:
Andrey Shishpanov
2015-08-21 19:42:58 +03:00
parent 4c3e5c0d2b
commit bcdef9ea71

View File

@@ -420,6 +420,13 @@ lCheckAllOffSafety(ASTNode *node, void *data) {
return false;
}
if (llvm::dyn_cast<BinaryExpr>(node) != NULL) {
BinaryExpr* binaryExpr = llvm::dyn_cast<BinaryExpr>(node);
if (binaryExpr->op == BinaryExpr::Mod || binaryExpr->op == BinaryExpr::Div) {
*okPtr = false;
return false;
}
}
IndexExpr *ie;
if ((ie = llvm::dyn_cast<IndexExpr>(node)) != NULL && ie->baseExpr != NULL) {
const Type *type = ie->baseExpr->GetType();