[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