<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 LibClang 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::<wbr>CreateFromArgs() 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-<wbr>5.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/<wbr>samples/rasterPipelineFixPt/<wbr>dummy.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/<wbr>samples/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/<wbr>samples/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 argument seems legit to me and I can compile dummy.cpp using clang from command line so I think 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 not enogh positional argument 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">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)">createLLVMModule</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>  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/llvm-root/build-5.<wbr>0.0/bin/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)">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)">"\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)">DiagnosticOptions</span><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)">DiagClient</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)">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)">er<wbr>rs</span><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)">DiagnosticI<wbr>Ds</span><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)">());</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)">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,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)">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)">"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)">(),</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)">"PikoPipe"</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)">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)">setCheckInputsExist</span><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)"><wbr>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)">*,</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)"> 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)">);</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_<wbr>DEVICE__"</span><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)">);</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)"> 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)">+</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)">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_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)"> 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)">;</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)"> 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)">in<wbr>cludeDirs</span><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)">(</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)">A<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)"><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)">=</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)"><</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)">be<wbr>gin</span><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)">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_<wbr>expected_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)">();</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)"> 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)">be<wbr>gin</span><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)">getCreato<wbr>r</span><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)">)</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_<wbr>expected_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)">&</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)">,</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)">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(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)">CreateFrom<wbr>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)">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)">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)">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)">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)">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)">().</span><span style="margin:0px;padding:0px;border:0px;color:rgb(102,0,102)">Ver<wbr>bose</span><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)">"\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)">move</span><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>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)">Re<wbr>sourceDir</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)">clangResourceDir</span><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)">GlobalContext</span><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>  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)">"Codegen...\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>  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)"> </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)">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)"><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)">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)"> </span><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)">hasE<wbr>rrorOccurred</span><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)">takeModule</span><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>