<div dir="ltr"><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">Hi everyone,</span><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">  I want to generate LLVM Module from a C++ file using the Clang driver C++ API. I am using clang 5.0.0 compiled from source. Currently, I am using EmitLLVMOnlyAction (as in clang-interpreter) to generate the LLVM Module.</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">  Unfortunately, I got an error "clang: Not enough positional command line arguments specified! Must specify at least 1 positional argument: See: clang -help" when I run ExecuteAction() on a CompilerInvocation object. I though this might be a missing argument problem so I printed out the driver::Command object which I used to create the CompilerInvocation object (I am using CompilerInvocation::CreateFrom<wbr>Args() to create the object):</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">  "/home/cwz/llvm-root/build-5<wbr>.0.0/bin/clang++" -cc1 -triple nvptx64-nvidia-cuda -emit-llvm-bc -emit-llvm-uselists -disable-free -main-file-name dummy.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -no-integrated-as -dwarf-column-info -debugger-tuning=gdb -coverage-notes-file /home/cwz/piko-public/pikoc/sa<wbr>mples/rasterPipelineFixPt/dumm<wbr>y.gcno -resource-dir /home/cwz/llvm-root/build-5.0.<wbr>0/lib/clang/5.0.0 -I /usr/local/cuda/include -I ../../api/include -I ../../include -I basicTypes -I EasyBMP -I sceneParser -I util -I assimp/include -I bezmesh -D __PIKOC__ -D __PIKOC_DEVICE__ -I /home/cwz/piko-public/pikoc/sa<wbr>mples/rasterPipelineFixPt -I /home/cwz/llvm-root/build-5.0.<wbr>0/lib/clang/5.0.0/include -I /usr/lib/gcc/x86_64-linux-gnu/<wbr>5.4.0/../../../../include/c++/<wbr>5.4.0 -I /usr/lib/gcc/x86_64-linux-gnu/<wbr>5.4.0/../../../../include/x86_<wbr>64-linux-gnu/c++/5.4.0 -I /usr/lib/gcc/x86_64-linux-gnu/<wbr>5.4.0/../../../../include/c++/<wbr>5.4.0/backward -I /usr/local/include -I /include -I /usr/include -I /usr/include/x86_64-linux-gnu -fdeprecated-macro -fno-dwarf-directory-asm -fdebug-compilation-dir /home/cwz/piko-public/pikoc/sa<wbr>mples/rasterPipelineFixPt -ferror-limit 19 -fmessage-length 204 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o dummy.bc -x c++ dummy.cpp</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">  The dummy.cpp is the C++ file I want to compile to LLVM Module. The arguments seem okay and I can compile dummy.cpp using clang from command line so the C++ file is good.</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">  Can anyone help me figure out why I am getting the error or point me to a better way to do this? Thanks in advance for your help. </div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">Best wishes,</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">Wenzhi Cui</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">PS: I accidentently sent this email to the list twice and I apologizes for the confusion. Please ignore the other message if you see the same title twice.</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px">The complete code snippet is here:</div><div style="margin:0px;padding:0px;border:0px;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:1px solid rgb(187,187,187);font-family:Arial,Helvetica,sans-serif;font-size:13px;background-color:rgb(250,250,250);word-wrap:break-word"><code style="margin:0px;padding:0px;border:0px"><div style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">bool</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">PikoBackend</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">createLLVMMo<wbr>dule</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  std</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">string</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Path</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"/home/cwz/<wbr>llvm-root/build-5.0.0/bin/<wbr>clang++"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"Path="</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Pat<wbr>h</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"\n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">IntrusiveRefCntPtr</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diagn<wbr>osticOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagOpts</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">new</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">D<wbr>iagnosticOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">();</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TextDiagnosticPrinter</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">*</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagC<wbr>lient</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">new</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TextDiagnosticPrinter</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">ll<wbr>vm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(),</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">&*</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagOpts</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">IntrusiveRefCntPtr</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diagnosti<wbr>cIDs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagID</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">new</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagnosticIDs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>());</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagnosticsEngine</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diags</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diag<wbr>ID</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">&*</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagOpts</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">DiagClient</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  std</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">string</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TripleStr</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">this</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">-></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><wbr>getTargetTriple</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">+</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">+</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"<wbr>cuda"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Triple</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> T</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TripleStr</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Driver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TheDriver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Path</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> T</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">str</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>(),</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diags</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TheDriver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">setTitle</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"<wbr>PikoPipe"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TheDriver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">setCheckInputsExis<wbr>t</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">SmallVector</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">char</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">*<wbr>,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,102,102)">32</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Argv</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Argv</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">+</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> <wbr>pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Argc</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-D__PIKOC__"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-D__PIKOC_DE<wbr>VICE__"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-c"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-emit-llvm"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">)<wbr>;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-xc++"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  std</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">string</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> include</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-I"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">auto</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> include_cwd </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> include </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">+</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><wbr> pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">workingDir</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">include_cwd</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">c<wbr>_str</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">());</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">auto</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> include_piko </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> include </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>+</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">pikoIncludeDir</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">include_piko</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><wbr>c_str</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">());</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">auto</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> include_res </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> include </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">+</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><wbr> pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">clangResourceDir</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">include_res</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">c<wbr>_str</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">());</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">for</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">int</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> i </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,102,102)">0</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> i </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> <wbr>pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">includeDirs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">size</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(<wbr>);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">++</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">i</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">)</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"-I"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Args</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">push_back</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><wbr>includeDirs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">[</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">i</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">].</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">c_str</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">());</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  std</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">unique_ptr</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Compilation</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> C</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">TheDriver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">BuildCompilation</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Ar<wbr>gs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">));</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">if</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(!</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">C</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">)</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"Compilation has problem building it\n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">return</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> driver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">JobList</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">&</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Jobs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> C</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">-></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">getJobs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">();</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">if</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Jobs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">size</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">!=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,102,102)">1</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">||</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">!</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">isa</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">driver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Command</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">>(*</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Jobs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">begin</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(<wbr>)))</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">SmallString</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,102,102)">256</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Msg</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">raw_svector_ostream OS</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Msg</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Jobs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Print</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">OS</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"; "</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">true</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diags</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Report</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">diag</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">err_fe_ex<wbr>pected_compiler_job</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">)</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> OS</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">str</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>();</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">return</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> driver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Command</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">&</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Cmd</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><wbr> cast</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">driver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Command</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">>(*</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Jobs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">b<wbr>egin</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">());</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">if</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">StringRef</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Cmd</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">getC<wbr>reator</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">().</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">getName</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">())</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">!=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"clang"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>)</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diags</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Report</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">diag</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">err_fe_ex<wbr>pected_clang_command</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">return</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(136,0,0)">// Initialize a compiler invocation object from the clang (-cc1) arguments.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> driver</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">ArgStringList</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>&</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CCArgs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Cmd</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">getArguments</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">();</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Cmd</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Print</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(),</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"\n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><wbr>,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  std</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">unique_ptr</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CompilerInvoca<wbr>tion</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> CI</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">new</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CompilerInvocatio<wbr>n</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CompilerInvocation</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CreateFr<wbr>omArgs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(*</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">CI</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>                                     </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const_cast</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">char</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">**>(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CCA<wbr>rgs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">data</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()),</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>                                     </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const_cast</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">const</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">char</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">**>(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CCA<wbr>rgs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">data</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">())</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">+</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>                                       </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CCArgs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">size</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">-</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,102,102)">1</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>                                     </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Diags</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(136,0,0)">// Show the invocation, with -v.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">if</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">CI</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">-></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">getHeaderSearchOpts</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(<wbr>).</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Verbose</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">)</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"clang invocation:\n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Jobs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Print</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(),</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"\<wbr>n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">,</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">true</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">);</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"\n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(136,0,0)">// FIXME: This is copied from cc1_main.cpp; simplify and eliminate.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(136,0,0)">// Create a compiler instance to handle the actual work.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CompilerInstance</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Clang</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Clang</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">setInvocation</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">std</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">mov<wbr>e</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">CI</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">));</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Clang</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">getHeaderSearchOpts</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">().</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)"><wbr>ResourceDir</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> pikocOptions</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">cla<wbr>ngResourceDir</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(136,0,0)">// Create the compilers actual diagnostics engine.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Clang</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">createDiagnostics</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">();</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">if</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(!</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Clang</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">hasDiagnostics</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">())</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">return</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">LLVMContext</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">&</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> ctx </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Globa<wbr>lContext</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(136,0,0)">// Create and execute the frontend to generate an LLVM bitcode module.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">std</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">unique_ptr</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">CodeGenAction</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><wbr> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Act</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">new</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">EmitLLVMOnlyAction</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(&</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">c<wbr>tx</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">));</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">if</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(!</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Clang</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">ExecuteAction</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(*</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Ac<wbr>t</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">))</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"Parsing erros...\n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">return</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">if</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Clang</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">.</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">getDiagnostics</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">().</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">ha<wbr>sErrorOccurred</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">())</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">{</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    llvm</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">::</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">errs</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">()</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)"><<</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,136,0)">"Parsing erros in diagnostics...\n"</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>    </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">return</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">false</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">this</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">-></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">module</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">=</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Act</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">-></span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)">takeModu<wbr>le</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">().</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">get</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">();</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br><br><br>  </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">return</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"> </span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,136)">true</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">;</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0)"><br></span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,102,0)">}</span></div></code></div></div>