add do while
This is based on an original patch proposal by:
From: Evan Zhao tacingiht@gmail.com To: Coccinelle cocci@systeme.lip6.fr Subject: [Cocci] [Patch] Add dowhile support in SmPL Date: Mon, 22 Apr 2019 21:34:29 +0800 [thread overview] Message-ID: CAAGQS2vWgFjbU9t9QXKgDefp1TcOnMoDwPFE0kMpU_203JXEag@mail.gmail.com (raw)
That patch, however, treated the final semicolon like the kind of ender that is added to an if, while loop, etc., that is not necessary. Do while is more like { }.
This one does not make any changes in the SmPL processing code (parsing_cocci), but only in the translation to CTL. The management of free variables in the translation of CTL is furthermore modified to better match what is done for { }.
The test cases are based on the ones in the original patch, with a few modifications.