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
Internally, the x ++ statement is turned into an assignment which the
pretty-printer prints like the original. CIL has only three forms of basic
statements: assignments, function calls and inline assembly.
--- http://kerneis.github.com/cil/doc/html/cil/cil004.html#sec-cabs2cil
If you really want to have "x = x + 1" printed as "x ++", you can use the
flag --printCilAsIs [1] or write your own pretty-printer [2].
[1] http://kerneis.github.com/cil/doc/html/cil/cil007.html#toc8
[2] http://kerneis.github.com/cil/doc/html/cil/attributes.html#toc6
Best,
--
Gabriel
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
CIL-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cil-users