[cfe-dev] Need help with source-to-source translation

Marcel Schaible via cfe-dev cfe-dev at lists.llvm.org
Fri Jul 28 07:54:25 PDT 2017


Hi everyone,

let's consider the example:

int foo(int p) {

     if ( p)

        /* code path#1 */

         return 0;

      else    {

         /* code path#2 */

         return 1;

     }

}

1. What is the best solution to get the string representation of the 
expression of a return statement?

2. Because I want to perform some transformation with return statements 
I have to figure out if they are enclosed in a block?

The example above should be transformed in something like

int foo(int p) {

     if ( p) { /* <---- */

        /* do some processing ... */

         return 0;

      } /* <--- */

      else    {

        /* do some processing ... */

         return 1;

     }

}

Any hints or pointers are welcome.

Thanks

Marcel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170728/0adb7612/attachment.html>


More information about the cfe-dev mailing list