[cfe-dev] Clang Python Bindings - Reading AST file dumped by clang
Jason Haslam via cfe-dev
cfe-dev at lists.llvm.org
Thu Dec 10 10:00:42 PST 2015
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
More information about the cfe-dev
mailing list