Print this page
12724 update smatch to 0.6.1-rc1-il-5

*** 92,108 **** if (is_capped_macro(expr)) return 1; if (expr->type == EXPR_BINOP) { struct range_list *left_rl, *right_rl; ! if (expr->op == '&') return 1; if (expr->op == SPECIAL_RIGHTSHIFT) return 1; - if (expr->op == '%' && is_capped(expr->right)) - return 1; if (!is_capped(expr->left)) return 0; if (expr->op == '/') return 1; if (!is_capped(expr->right)) --- 92,110 ---- if (is_capped_macro(expr)) return 1; if (expr->type == EXPR_BINOP) { struct range_list *left_rl, *right_rl; + sval_t sval; ! if (expr->op == '&' && !get_value(expr->right, &sval)) return 1; if (expr->op == SPECIAL_RIGHTSHIFT) + return 0; + if (expr->op == '%' && + !get_value(expr->right, &sval) && is_capped(expr->right)) return 1; if (!is_capped(expr->left)) return 0; if (expr->op == '/') return 1; if (!is_capped(expr->right))