@@ -3230,7 +3230,7 @@ parameter_abstract_declarator:
3230
3230
| parameter_postfix_abstract_declarator
3231
3231
;
3232
3232
3233
- cprover_contract :
3233
+ cprover_function_contract :
3234
3234
TOK_CPROVER_ENSURES ' (' ACSL_binding_expression ' )'
3235
3235
{
3236
3236
$$=$1 ;
@@ -3243,7 +3243,11 @@ cprover_contract:
3243
3243
set ($$, ID_C_spec_requires);
3244
3244
mto ($$, $3 );
3245
3245
}
3246
- | TOK_CPROVER_ASSIGNS ' (' argument_expression_list ' )'
3246
+ | cprover_contract_assigns_opt
3247
+ ;
3248
+
3249
+ cprover_contract_assigns_opt:
3250
+ TOK_CPROVER_ASSIGNS ' (' argument_expression_list ' )'
3247
3251
{
3248
3252
$$=$1 ;
3249
3253
set ($$, ID_C_spec_assigns);
@@ -3252,19 +3256,19 @@ cprover_contract:
3252
3256
}
3253
3257
;
3254
3258
3255
- cprover_contract_sequence :
3256
- cprover_contract
3257
- | cprover_contract_sequence cprover_contract
3259
+ cprover_function_contract_sequence :
3260
+ cprover_function_contract
3261
+ | cprover_function_contract_sequence cprover_function_contract
3258
3262
{
3259
3263
$$=$1 ;
3260
3264
merge ($$, $2 );
3261
3265
}
3262
3266
;
3263
3267
3264
- cprover_contract_sequence_opt :
3268
+ cprover_function_contract_sequence_opt :
3265
3269
/* nothing */
3266
3270
{ init ($$); }
3267
- | cprover_contract_sequence
3271
+ | cprover_function_contract_sequence
3268
3272
;
3269
3273
3270
3274
postfixing_abstract_declarator:
@@ -3305,7 +3309,7 @@ postfixing_abstract_declarator:
3305
3309
parameter_postfixing_abstract_declarator:
3306
3310
array_abstract_declarator
3307
3311
| ' (' ' )'
3308
- cprover_contract_sequence_opt
3312
+ cprover_function_contract_sequence_opt
3309
3313
{
3310
3314
set ($1 , ID_code);
3311
3315
stack_type ($1 ).add (ID_parameters);
@@ -3322,7 +3326,7 @@ parameter_postfixing_abstract_declarator:
3322
3326
parameter_type_list
3323
3327
' )'
3324
3328
KnR_parameter_header_opt
3325
- cprover_contract_sequence_opt
3329
+ cprover_function_contract_sequence_opt
3326
3330
{
3327
3331
set ($1 , ID_code);
3328
3332
stack_type ($1 ).subtype ()=typet (ID_abstract);
0 commit comments