Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle system headers #3

Closed
3 tasks
Notgnoshi opened this issue Apr 18, 2022 · 0 comments · Fixed by #14
Closed
3 tasks

Handle system headers #3

Notgnoshi opened this issue Apr 18, 2022 · 0 comments · Fixed by #14

Comments

@Notgnoshi
Copy link
Owner

Notgnoshi commented Apr 18, 2022

Whether you want system headers really depends on why you're using includegraph.py.

  • Ignore system headers
  • Show the first level of system headers (not their dependencies)
  • Show the whole dependency tree for the system headers

Decide whether to skip over system headers in the graph generation, or to instrument nodes in the graph with extra metadata. I think the latter might be necessary for some of the more sophisticated styling from #6 (headers that were skipped over styled as dashed?), #2 (TU's that fail to compile shown in red?), #3/#11 show libraries in a different color

Notgnoshi added a commit that referenced this issue Apr 19, 2022
The following
    $ ./includegraph.py examples/example1/build/ -l DEBUG
    2022-04-15 11:42:46,871 - ./includegraph.py - DEBUG - Successfully loaded compilation database from build directory 'examples/example1/build/'
    2022-04-15 11:42:46,872 - ./includegraph.py - DEBUG - Getting headers for /home/nots/Documents/includegraph/examples/example1/src/example1.cpp
    /../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/istream
        /../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/istream.tcc

Crashes in clang.cindex.File.name, which calls clang_getFileName() from
the cdll loaded libclang.so

    #0  0x00007f21db0106ba in clang_getFileName () from /home/nots/Documents/includegraph/.venv/lib/python3.8/site-packages/clang/native/libclang.so
    #1  0x00007f21de1ecff5 in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
    #2  0x00007f21de1ec40a in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
    #3  0x00007f21dd752306 in _ctypes_callproc () from /usr/lib/python3.8/lib-dynload/_ctypes.cpython-38-x86_64-linux-gnu.so

It _doesn't_ crash if you comment out the File.name accesses, but if you
do this, then it breaks the graph generation.
Notgnoshi added a commit that referenced this issue Jun 30, 2022
Notgnoshi added a commit that referenced this issue Jun 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant