File tree Expand file tree Collapse file tree 2 files changed +13
-35
lines changed
Expand file tree Collapse file tree 2 files changed +13
-35
lines changed Original file line number Diff line number Diff line change @@ -724,28 +724,22 @@ void c_typecheck_baset::typecheck_declaration(
724724 // available
725725 auto &code_type = to_code_with_contract_type (new_symbol.type );
726726
727- if (! as_const ( code_type) .requires (). empty ())
727+ for ( auto & requires : code_type.requires ())
728728 {
729- for (auto &requires : code_type.requires ())
730- {
731- typecheck_expr (requires );
732- implicit_typecast_bool (requires );
733- disallow_subexpr_by_id (
734- requires ,
735- ID_old,
736- CPROVER_PREFIX " old is not allowed in preconditions." );
737- disallow_subexpr_by_id (
738- requires ,
739- ID_loop_entry,
740- CPROVER_PREFIX " loop_entry is not allowed in preconditions." );
741- }
729+ typecheck_expr (requires );
730+ implicit_typecast_bool (requires );
731+ disallow_subexpr_by_id (
732+ requires ,
733+ ID_old,
734+ CPROVER_PREFIX " old is not allowed in preconditions." );
735+ disallow_subexpr_by_id (
736+ requires ,
737+ ID_loop_entry,
738+ CPROVER_PREFIX " loop_entry is not allowed in preconditions." );
742739 }
743740
744- if (!as_const (code_type).assigns ().empty ())
745- {
746- for (auto &target : code_type.assigns ())
747- typecheck_expr (target);
748- }
741+ for (auto &target : code_type.assigns ())
742+ typecheck_expr (target);
749743
750744 if (!as_const (code_type).ensures ().empty ())
751745 {
Original file line number Diff line number Diff line change @@ -577,22 +577,6 @@ std::string expr2ct::convert_rec(
577577 dest.resize (dest.size ()-1 );
578578 }
579579
580- // contract, if any
581- for (auto &requires : to_code_with_contract_type (src).requires ())
582- {
583- dest += " [[requires " + convert (requires ) + " ]]" ;
584- }
585-
586- for (auto &assigns : to_code_with_contract_type (src).assigns ())
587- {
588- dest += " [[assigns " + convert (assigns) + " ]]" ;
589- }
590-
591- for (auto &ensures : to_code_with_contract_type (src).ensures ())
592- {
593- dest += " [[ensures " + convert (ensures) + " ]]" ;
594- }
595-
596580 return dest;
597581 }
598582 else if (src.id ()==ID_vector)
You can’t perform that action at this time.
0 commit comments