<div dir="ltr"><div><div><div><div>Hi Jason,<br><br></div>The benefit of clang-cl is it sets up all the include headers for libclang on Windows, which I am having trouble specifying to libclang directly. Also, in the Python bindings documentation for clang, it says that the index.read function:<br><br> <span class="pl-s"><span class="pl-pds">"""</span>Load a TranslationUnit from the given AST file.<span class="pl-pds">"""<br><br></span></span></div><span class="pl-s"><span class="pl-pds">Maybe I misunderstand what that means, but is it not meant to load AST files generated by -emit-ast or -ast-dump?<br><br></span></span></div><span class="pl-s"><span class="pl-pds">Thanks for your help.<br></span></span></div><span class="pl-s"><span class="pl-pds">- Daniel<br></span></span></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 10 Dec 2015 at 13:00 Jason Haslam via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Daniel,<br>
<br>
The AST dump is a debugging tool. It’s not the same thing as the serialized representation of a translation unit. Use libclang to parse and serialize your header instead of doing from the command line with clang-cl.<br>
<br>
Jason<br>
<br>
<br>
> On Dec 7, 2015, at 2:54 PM, Daniel Kats via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I am have generated a clang AST by running these commands on Windows on the Visual Studio command-line:<br>
><br>
> clang-cl <header-name> -Xclang -ast-dump -fsyntax-only -fno-color-diagnostics -w<br>
><br>
>  And saved it in a file f.ast<br>
><br>
> I now want to take that file as input into a Python script, so I wrote this code:<br>
><br>
> Config.set_library_fie(libclang_path)<br>
> index = Index.create()<br>
> logging.debug( "Reading AST file...")<br>
> tu = index.read("f.ast")<br>
> logging.debug( "done parsing AST" )<br>
> # other stuff below<br>
><br>
> When I run this, I see command-line output:<br>
> "Reading AST file..."<br>
><br>
> And I get a popup indicating a C/C++ error in libclang.dll:<br>
> "Expression: ((End-Start) & 3) == 0 && "Bitcode stream not a multiple of 4 bytes""<br>
><br>
> Do you know why this happens, and how to fix?<br>
><br>
> - Daniel<br>
><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>