<div dir="ltr"><div style>i've already made a bug report on it...</div><div><br></div>  <a href="http://llvm.org/bugs/show_bug.cgi?id=15274">http://llvm.org/bugs/show_bug.cgi?id=15274</a><br><div class="gmail_extra"><br>
</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 21, 2013 at 10:39 PM, Argyrios Kyrtzidis <span dir="ltr"><<a href="mailto:akyrtzi@gmail.com" target="_blank">akyrtzi@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">On Feb 11, 2013, at 7:53 AM, Laszlo Nagy <<a href="mailto:rizsotto.mailinglist@gmail.com">rizsotto.mailinglist@gmail.com</a>> wrote:<br>

<br>
> Hi,<br>
><br>
> I'm trying to use python binding to libclang to generate include graphs. I took the example program (bindings/python/examples/cindex/cindex-includes.py) and add support to read a JSON compilation database, therefore I can have include graph for a whole project.<br>

><br>
> Now, I'm running against the Clang project. And it fails... I compiled Clang with itself. Without any problem... My tool read the `compile_commands.json` generated by cmake and pass all arguments (except the compiler and the module). So it supposes to run the same as it was by clang... And this is not happen with any modules, it compiles all LLVM code and the majority of Clang.<br>

><br>
> Any hints how can I fix it? Or make it reproducible for a bug report?<br>
<br>
</div>The "c-index-test" tool can be used to test libclang on a source file, e.g<br>
c-index-test -test-load-source all <arguments><br>
will parse using the given compiler arguments and emit information about the translation unit.<br>
If you can reproduce a crash using some compiler arguments, then you can try creating a preprocessed file and reducing that.<br>
<div class=""><div class="h5"><br>
><br>
> Regards,<br>
> Laszlo<br>
><br>
><br>
> The related JSON file entry looks like this:<br>
><br>
> {<br>
>   "directory": "/home/laszlona/Programming/llvm-svn.src/build/tools/clang/lib/Serialization",<br>
>   "command": "/home/laszlona/Programming/llvm-svn/usr/local/bin/clang++   -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER  -fPIC -fvisibility-inlines-hidden -Wno-nested-anon-types -Wcovered-switch-default -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-rtti -O2 -g -I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/lib/Serialization -I/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization -I/home/laszlona/Programming/llvm-svn.src/tools/clang/include -I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/include -I/home/laszlona/Programming/llvm-svn.src/build/include -I/home/laszlona/Programming/llvm-svn.src/include    -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -fno-exceptions -o CMakeFiles/clangSerialization.dir/ASTWriterStmt.cpp.o -c /home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization/ASTWriterStmt.cpp",<br>

>   "file": "/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization/ASTWriterStmt.cpp"<br>
> },<br>
><br>
><br>
> The error report looks like this:<br>
><br>
> python: /home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Sema/SemaInit.cpp:3153: clang::OverloadingResult TryRefInitWithConversionFunction(clang::Sema&, const clang::InitializedEntity&, const clang::InitializationKind&, clang::Expr*, bool, clang::InitializationSequence&): Assertion `!S.CompareReferenceRelationship(Initializer->getLocStart(), T1, T2, DerivedToBase, ObjCConversion, ObjCLifetimeConversion) && "Must have incompatible references when binding via conversion"' failed.<br>

> libclang: crash detected during parsing: {<br>
>   'source_filename' : '/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization/ASTWriterStmt.cpp'<br>
>   'command_line_args' : ['-D_GNU_SOURCE', '-D_DEBUG', '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D_GNU_SOURCE', '-DCLANG_ENABLE_ARCMT', '-DCLANG_ENABLE_REWRITER', '-DCLANG_ENABLE_STATIC_ANALYZER', '-fPIC', '-fvisibility-inlines-hidden', '-Wno-nested-anon-types', '-Wcovered-switch-default', '-fno-common', '-Woverloaded-virtual', '-Wcast-qual', '-fno-strict-aliasing', '-pedantic', '-Wno-long-long', '-Wall', '-W', '-Wno-unused-parameter', '-Wwrite-strings', '-fno-rtti', '-O2', '-g', '-I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/lib/Serialization', '-I/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization', '-I/home/laszlona/Programming/llvm-svn.src/tools/clang/include', '-I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/include', '-I/home/laszlona/Programming/llvm-svn.src/build/include', '-I/home/laszlona/Programming/llvm-svn.src/include', '-Wall', '-W', '-Wno-unused-parameter', '-Wwrite-strings', '-Wmissing-field-initializers', '-pedantic', '-Wno-long-long', '-fno-exceptions', '-o', 'CMakeFiles/clangSerialization.dir/ASTWriterStmt.cpp.o', '-c'],<br>

>   'unsaved_files' : [],<br>
>   'options' : 0,<br>
> }<br>
> Traceback (most recent call last):<br>
>   File "./bin/include_graph_to_gexf.py", line 107, in <module><br>
>     pool.apply(compile_module_to_queue, args=(q, m))<br>
>   File "/usr/lib64/python2.7/multiprocessing/pool.py", line 220, in apply<br>
>     return self.apply_async(func, args, kwds).get()<br>
>   File "/usr/lib64/python2.7/multiprocessing/pool.py", line 528, in get<br>
>     raise self._value<br>
> AssertionError<br>
> Exception ctypes.ArgumentError: "argument 1: <type 'exceptions.AttributeError'>: 'TranslationUnit' object has noProcess Process-2:<br>
> Traceback (most recent call last):<br>
>   File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap<br>
>     self.run()<br>
>   File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run<br>
>     self._target(*self._args, **self._kwargs)<br>
>   File "./bin/include_graph_to_gexf.py", line 76, in build_graph_from_queue<br>
>     for e in iter(queue.get, 'STOP'):<br>
>   File "<string>", line 2, in get<br>
>   File "/usr/lib64/python2.7/multiprocessing/managers.py", line 759, in _callmethod<br>
>     kind, result = conn.recv()<br>
> EOFError<br>
><br>
</div></div><div class=""><div class="h5">> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br>
</div></div></blockquote></div><br></div></div>