<div dir="ltr">this commands works:<div>mytool openmp.c  -- -Xclang -fopenmp=libiomp5</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 13, 2015 at 3:55 PM, xiaohui chen <span dir="ltr"><<a href="mailto:xchen198812@gmail.com" target="_blank">xchen198812@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">hi there:<div><br></div><div>My Clang  version is 3.6.</div><div><br></div><div>i can use the following command to dump my OpenMP code:</div><div><br></div><div>clang -cc1 -ast-dump openmp.c -fopenmp=libiomp5<br></div><div><br></div><div>it works well(PS: I add dump support roughly) :</div><div><br></div><div><div>OMPTaskDirective 0x8c3caa8 <line:6:9, col:17></div><div>      `-CapturedStmt 0x8c3c880 <line:7:1, line:11:1></div><div>        |-Capture byref Var 0x8bfb280 'k' 'char'</div><div>        |-Capture byref Var 0x8bfb170 'd' 'int'</div><div>        |-CapturedDecl 0x8c3c510 <<invalid sloc>> <invalid sloc></div><div>        | `-ImplicitParamDecl 0x8c3c5a0 <line:6:9> col:9 implicit __context 'struct (anonymous at openmp.c:6:9) *'</div><div>        |-CompoundStmt 0x8c3c858 <line:7:1, line:11:1></div><div>        | |-BinaryOperator 0x8c3c708 <line:8:1, col:3> 'char' '='</div><div>        | | |-DeclRefExpr 0x8c3c628 <col:1> 'char' lvalue Var 0x8bfb280 'k' 'char'</div><div>        | | `-ImplicitCastExpr 0x8c3c6f0 <col:3> 'char' <IntegralCast></div><div>        | |   `-IntegerLiteral 0x8c3c6d0 <col:3> 'int' 0</div><div>        | `-BinaryOperator 0x8c3c830 <line:9:1, col:3> 'int' '='</div><div>        |   |-DeclRefExpr 0x8c3c758 <col:1> 'int' lvalue Var 0x8bfb170 'd' 'int'</div><div>        |   `-IntegerLiteral 0x8c3c810 <col:3> 'int' 0</div><div>        |-DeclRefExpr 0x8c3c6a8 <line:8:1> 'char' lvalue Var 0x8bfb280 'k' 'char'</div><div>        `-DeclRefExpr 0x8c3c7e8 <line:9:1> 'int' lvalue Var 0x8bfb170 'd' 'int'</div></div><div><br></div><div>i wrote a source-to-source tool using Libtooling, and i want to pass -fopenmp=libiomp5 flag to the tool in this way:</div><div><br></div><div>mytool openmp.c  --  -fopenmp=libiomp5<br></div><div><br></div><div>it does not work, -fopenmp=libiomp5 is not received by the front-end, see the output:</div><div><br></div><div>warning: argument unused during compilation: '-fopenmp=libiomp5'<br></div><div><div>`-CompoundStmt 0x33d69b8 <line:7:1, line:11:1></div><div>      |-BinaryOperator 0x33957d8 <line:8:1, col:3> 'char' '='</div><div>      | |-DeclRefExpr 0x3395778 <col:1> 'char' lvalue Var 0x33956f0 'k' 'char'</div><div>      | `-ImplicitCastExpr 0x33957c0 <col:3> 'char' <IntegralCast></div><div>      |   `-IntegerLiteral 0x33957a0 <col:3> 'int' 0</div><div>      `-BinaryOperator 0x33d6990 <line:9:1, col:3> 'int' '='</div><div>        |-DeclRefExpr 0x3395800 <col:1> 'int' lvalue Var 0x33955e0 'd' 'int'</div><div>        `-IntegerLiteral 0x33d6970 <col:3> 'int' 0</div></div><div><br></div><div>, what is the right way to pass fopenmp=libiomp5 to the frontend?</div></div>
</blockquote></div><br></div>