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

*** 436,459 **** __pass_to_client(expr, RAW_ASSIGNMENT_HOOK); /* foo = !bar() */ if (__handle_condition_assigns(expr)) ! break; /* foo = (x < 5 ? foo : 5); */ if (__handle_select_assigns(expr)) ! break; /* foo = ({frob(); frob(); frob(); 1;}) */ if (__handle_expr_statement_assigns(expr)) ! break; /* foo = (3, 4); */ if (handle_comma_assigns(expr)) ! break; ! if (handle_postop_assigns(expr)) ! break; if (handle__builtin_choose_expr_assigns(expr)) ! break; __split_expr(expr->right); if (outside_of_function()) __pass_to_client(expr, GLOBAL_ASSIGNMENT_HOOK); else --- 436,459 ---- __pass_to_client(expr, RAW_ASSIGNMENT_HOOK); /* foo = !bar() */ if (__handle_condition_assigns(expr)) ! goto after_assign; /* foo = (x < 5 ? foo : 5); */ if (__handle_select_assigns(expr)) ! goto after_assign; /* foo = ({frob(); frob(); frob(); 1;}) */ if (__handle_expr_statement_assigns(expr)) ! break; // FIXME: got after /* foo = (3, 4); */ if (handle_comma_assigns(expr)) ! goto after_assign; if (handle__builtin_choose_expr_assigns(expr)) ! goto after_assign; ! if (handle_postop_assigns(expr)) ! break; /* no need to goto after_assign */ __split_expr(expr->right); if (outside_of_function()) __pass_to_client(expr, GLOBAL_ASSIGNMENT_HOOK); else
*** 468,479 **** if (get_macro_name(right->pos) && get_macro_name(expr->pos) != get_macro_name(right->pos)) __pass_to_client(expr, MACRO_ASSIGNMENT_HOOK); __pass_to_client(expr, ASSIGNMENT_HOOK_AFTER); - __split_expr(expr->left); break; } case EXPR_DEREF: expr_set_parent_expr(expr->deref, expr); --- 468,479 ---- if (get_macro_name(right->pos) && get_macro_name(expr->pos) != get_macro_name(right->pos)) __pass_to_client(expr, MACRO_ASSIGNMENT_HOOK); + after_assign: __pass_to_client(expr, ASSIGNMENT_HOOK_AFTER); __split_expr(expr->left); break; } case EXPR_DEREF: expr_set_parent_expr(expr->deref, expr);