[cfe-dev] Clang Python Bindings - Reading AST file dumped by clang

Daniel Kats via cfe-dev cfe-dev at lists.llvm.org
Thu Dec 10 10:43:09 PST 2015


Hi Jason,

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:

"""Load a TranslationUnit from the given AST file."""

Maybe I misunderstand what that means, but is it not meant to load AST
files generated by -emit-ast or -ast-dump?

Thanks for your help.
- Daniel

On Thu, 10 Dec 2015 at 13:00 Jason Haslam via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> Hi Daniel,
>
> 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.
>
> Jason
>
>
> > On Dec 7, 2015, at 2:54 PM, Daniel Kats via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
> >
> > Hi,
> >
> > I am have generated a clang AST by running these commands on Windows on
> the Visual Studio command-line:
> >
> > clang-cl <header-name> -Xclang -ast-dump -fsyntax-only
> -fno-color-diagnostics -w
> >
> >  And saved it in a file f.ast
> >
> > I now want to take that file as input into a Python script, so I wrote
> this code:
> >
> > Config.set_library_fie(libclang_path)
> > index = Index.create()
> > logging.debug( "Reading AST file...")
> > tu = index.read("f.ast")
> > logging.debug( "done parsing AST" )
> > # other stuff below
> >
> > When I run this, I see command-line output:
> > "Reading AST file..."
> >
> > And I get a popup indicating a C/C++ error in libclang.dll:
> > "Expression: ((End-Start) & 3) == 0 && "Bitcode stream not a multiple of
> 4 bytes""
> >
> > Do you know why this happens, and how to fix?
> >
> > - Daniel
> >
> > _______________________________________________
> > cfe-dev mailing list
> > cfe-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20151210/d137d971/attachment-0001.html>


More information about the cfe-dev mailing list