<div>Thanks a lot ! :) .By the way can someone guide me on how do I need to go about initializing header search paths because my parser collapses when it comes across included header files in the test code.</div>
<div> </div>
<div>This is how I have initialized the preprocessor : </div>
<div> </div>
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"> <span lang="EN">
<p><font face="courier new,monospace">llvm::raw_ostream *os = NULL;</font></p>
<p><font face="courier new,monospace">llvm::raw_ostream *ps = NULL;</font></p>
<p><font face="courier new,monospace">const DiagnosticOptions diagop;</font></p>
<p><font face="courier new,monospace">bool OwnsOutputStream=false;</font></p>
<p><font face="courier new,monospace">TextDiagnosticPrinter diagClient(*os,diagop,OwnsOutputStream);</font></p>
<p><font face="courier new,monospace">Diagnostic diags(&diagClient);</font></p>
<p><font face="courier new,monospace">LangOptions opts;</font></p>
<p><font face="courier new,monospace">TargetOptions to;</font></p>
<p><font face="courier new,monospace">const std::string& triple = LLVM_HOSTTRIPLE;</font></p>
<p><font face="courier new,monospace">to.ABI="";</font></p>
<p><font face="courier new,monospace">to.CXXABI="itanium";</font></p>
<p><font face="courier new,monospace">to.CPU="";</font></p>
<p><font face="courier new,monospace">to.Features.clear();</font></p>
<p><font face="courier new,monospace">to.Triple=triple;</font></p>
<p><font face="courier new,monospace">TargetInfo* target = TargetInfo::CreateTargetInfo(diags,to);</font></p>
<p><font face="courier new,monospace">SourceManager sm(diags);</font></p>
<p><font face="courier new,monospace">FileManager fm;</font></p>
<p><font face="courier new,monospace">HeaderSearch headers(fm);</font></p>
<p><font face="courier new,monospace">Preprocessor pp(diags,opts,*target,sm,headers);</font></p></span></blockquote>
<div> </div>
<div>Any suggestions / modifications needed to make sure the included file search paths are taken care while parsing a test file ? </div>
<div> </div>
<div> </div>
<div>Thanks and Regards , </div>
<div>Parijat <br><br> </div>
<div class="gmail_quote">On Mon, Sep 13, 2010 at 11:28 PM, Ted Kremenek <span dir="ltr"><<a href="mailto:kremenek@apple.com">kremenek@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div style="WORD-WRAP: break-word">It's optional, and you can leave it NULL. It's there to support cross-translation unit analysis (in the future).
<div>
<div></div>
<div class="h5">
<div><br>
<div>
<div>On Sep 13, 2010, at 11:00 PM, Parijat Banerjee wrote:</div><br>
<blockquote type="cite">
<div><br>What is the TranslationUnit required as a parameter for AnalysisContext creation ? </div>
<div> </div>
<div>Thanks and Regards </div>
<div>Parijat <br></div>
<div class="gmail_quote">On Mon, Sep 13, 2010 at 8:24 AM, Ted Kremenek <span dir="ltr"><<a href="mailto:kremenek@apple.com" target="_blank">kremenek@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>On Sep 13, 2010, at 5:25 AM, Parijat Banerjee wrote:<br><br>> Also can someone give a small snippet of code to demonstrate forming a CFG class( branch 2.7 + ) given an already formed ASTContext class and maybe a RecursiveASTVisitor to traverse the AST .<br>
<br></div>Probably the best way to construct a CFG is to have an AnalysisContext object do it for you. You can construct an AnalysisContext object using a FunctionDecl, and then call the getCFG() method to have it lazily create a CFG. When the AnalysisContext object is destroyed, the CFG will be destroyed as well.</blockquote>
</div><br></blockquote></div><br></div></div></div></div></blockquote></div><br>