gcc-python-plugin
gcc-python-plugin copied to clipboard
GCC plugin that embeds CPython inside the compiler
I could not find a way to look up a structure type by tag. E.g., I wanted to look up 'struct buffer'. I could do this by introducing typedefs, but...
NotImplementedError from checker in impl_PyTuple_Size (NotImplementedError: eval_rvalue: None None)
A different NotImplementedError when building gdb: {{{ ../../archer/gdb/python/py-value.c: In function ‘valpy_new’: ../../archer/gdb/python/py-value.c:130:20: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/__init__.py", line 64, in...
In gdb, most Python wrapper classes maintain a kind of weak reference to the underlying gdb object. This is done because the object lifetimes are different, and some of the...
This is a "TODO" from the docs: (TODO: provide a way to mark a function as setting this state) gdb has some functions that return a value < 0 on...
This report is incorrect: ../../archer/gdb/python/python.c: In function ‘gdbpy_parameter’: ../../archer/gdb/python/python.c:358:12: error: dereferencing uninitialized pointer: cmd.93->var at ../../archer/gdb/python/python.c:358 [-Werror] I believe this happens because 'cmd' is initialized in a TRY_CATCH in gdb....
I limited the memory available to gcc to 1G, using ulimit. This causes the checker to die with a MemoryError when building gdb. I think this is too much memory;...
When compiling gdb with gcc-with-cpychecker, I see: ../../src/gdb/python/python.c: In function ‘_initialize_python’: ../../src/gdb/python/python.c:1137:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed...
When compiling gdb with gcc-with-cpychecker, I see some errors like this: ../../src/gdb/tui/tui-stack.c:421:32: warning: passing uninitialized data as argument 4 to function: gcc.VarDecl('a') at ../../src/gdb/tui/tui-stack.c:421 [enabled by default] I don't think...
In GCC, a "*" at the beginning of a pass name means that the pass manager should not create a dump file for that pass. I think it might be...
For my project it would be handy to have access to DECL_ASSEMBLER_NAME. This is available on most (but not all) decl nodes, see tree.h.