@@ -3687,8 +3687,7 @@ void c_typecheck_baset::typecheck_function_call_arguments(
3687
3687
const exprt &f_op=expr.function ();
3688
3688
const code_typet &code_type=to_code_type (f_op.type ());
3689
3689
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 ();
3692
3691
3693
3692
// no. of arguments test
3694
3693
@@ -3701,24 +3700,24 @@ void c_typecheck_baset::typecheck_function_call_arguments(
3701
3700
// We are generous on KnR; any number is ok.
3702
3701
// We will in missing ones with "NIL".
3703
3702
3704
- while (parameter_types .size ()> arguments.size ())
3703
+ while (parameters .size () > arguments.size ())
3705
3704
arguments.push_back (nil_exprt ());
3706
3705
}
3707
3706
else if (code_type.has_ellipsis ())
3708
3707
{
3709
- if (parameter_types .size ()> arguments.size ())
3708
+ if (parameters .size () > arguments.size ())
3710
3709
{
3711
3710
error ().source_location = expr.source_location ();
3712
3711
error () << " not enough function arguments" << eom;
3713
3712
throw 0 ;
3714
3713
}
3715
3714
}
3716
- else if (parameter_types .size ()!= arguments.size ())
3715
+ else if (parameters .size () != arguments.size ())
3717
3716
{
3718
3717
error ().source_location = expr.source_location ();
3719
3718
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;
3722
3721
throw 0 ;
3723
3722
}
3724
3723
@@ -3730,23 +3729,19 @@ void c_typecheck_baset::typecheck_function_call_arguments(
3730
3729
{
3731
3730
// ignore
3732
3731
}
3733
- else if (i<parameter_types .size ())
3732
+ else if (i < parameters .size ())
3734
3733
{
3735
- const code_typet::parametert ¶meter_type=
3736
- parameter_types[i];
3734
+ const code_typet::parametert ¶meter = parameters[i];
3737
3735
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)
3744
3739
{
3745
3740
warning ().source_location =expr.find_source_location ();
3746
3741
warning () << " assignment where Boolean argument is expected" << eom;
3747
3742
}
3748
3743
3749
- implicit_typecast (op, op_type );
3744
+ implicit_typecast (op, parameter. type () );
3750
3745
}
3751
3746
else
3752
3747
{
0 commit comments