When using procedures inside clocked process statements, if one of the ports of the procedure is an inout, the logic can get lost.
For example :
Then later in the RTL:
The synthesis tool will get confused by this and can drop the logic associated with the "a" signal.
Currently, it is not recommended that you use procedures at all inside clocked process statements.
Flop inference can be affected by this and it is recommended to just state the logic outside of the process statement.