@@ -3687,8 +3687,7 @@ void c_typecheck_baset::typecheck_function_call_arguments(
36873687 const exprt &f_op=expr.function ();
36883688 const code_typet &code_type=to_code_type (f_op.type ());
36893689 exprt::operandst &arguments=expr.arguments ();
3690- const code_typet::parameterst ¶meter_types=
3691- code_type.parameters ();
3690+ const code_typet::parameterst ¶meters = code_type.parameters ();
36923691
36933692 // no. of arguments test
36943693
@@ -3701,24 +3700,24 @@ void c_typecheck_baset::typecheck_function_call_arguments(
37013700 // We are generous on KnR; any number is ok.
37023701 // We will in missing ones with "NIL".
37033702
3704- while (parameter_types .size ()> arguments.size ())
3703+ while (parameters .size () > arguments.size ())
37053704 arguments.push_back (nil_exprt ());
37063705 }
37073706 else if (code_type.has_ellipsis ())
37083707 {
3709- if (parameter_types .size ()> arguments.size ())
3708+ if (parameters .size () > arguments.size ())
37103709 {
37113710 error ().source_location = expr.source_location ();
37123711 error () << " not enough function arguments" << eom;
37133712 throw 0 ;
37143713 }
37153714 }
3716- else if (parameter_types .size ()!= arguments.size ())
3715+ else if (parameters .size () != arguments.size ())
37173716 {
37183717 error ().source_location = expr.source_location ();
37193718 error () << " wrong number of function arguments: "
3720- << " expected " << parameter_types .size ()
3721- << " , but got " << arguments.size () << eom;
3719+ << " expected " << parameters .size () << " , but got "
3720+ << arguments.size () << eom;
37223721 throw 0 ;
37233722 }
37243723
@@ -3730,23 +3729,19 @@ void c_typecheck_baset::typecheck_function_call_arguments(
37303729 {
37313730 // ignore
37323731 }
3733- else if (i<parameter_types .size ())
3732+ else if (i < parameters .size ())
37343733 {
3735- const code_typet::parametert ¶meter_type=
3736- parameter_types[i];
3734+ const code_typet::parametert ¶meter = parameters[i];
37373735
3738- const typet &op_type=parameter_type.type ();
3739-
3740- if (op_type.id ()==ID_bool &&
3741- op.id ()==ID_side_effect &&
3742- op.get (ID_statement)==ID_assign &&
3743- op.type ().id ()!=ID_bool)
3736+ if (
3737+ parameter.is_boolean () && op.id () == ID_side_effect &&
3738+ op.get (ID_statement) == ID_assign && op.type ().id () != ID_bool)
37443739 {
37453740 warning ().source_location =expr.find_source_location ();
37463741 warning () << " assignment where Boolean argument is expected" << eom;
37473742 }
37483743
3749- implicit_typecast (op, op_type );
3744+ implicit_typecast (op, parameter. type () );
37503745 }
37513746 else
37523747 {
0 commit comments