Hello Gabriel, and thanks for your answer.

Il giorno 23/gen/2013, alle ore 08.54, Gabriel Kerneis ha scritto:

Hi Pietro,

On Wed, Jan 23, 2013 at 02:38:53AM +0100, Pietro Braione wrote:
by transforming x++ in x = x + 1, etc.

CIL already does that for you automatically.

   17. One of the most significant transformations is that expressions that
   contain side-effects are separated into statements.

      int x, f(int);
      return (x ++ + f(x));

   See the CIL output for this code fragment

The problem is, I do not need to transform only *expressions*, but also *statements* - e.g., the above example translates to (http://kerneis.github.com/cil/doc/html/cil/examples/ex16.txt):

#line 2
  tmp = x;
#line 2
  x ++;   //NONONO!
#line 2
  tmp___0 = f(x);
#line 2
  return (tmp + tmp___0);

that still has an x++ statement. I want that x++ to be transformed to x = x + 1. Is there a plain way to do that?
Thank you