Re: [RFC 5/8] static-analyzer: Enforce coroutine_fn restrictions on function pointers

2022-07-04 Thread Víctor Colombo
On 04/07/2022 15:04, Alberto Faria wrote: On Mon, Jul 4, 2022 at 6:46 PM Víctor Colombo wrote: Yes, this line is present at the beginning of the output Is this caused by problems with the code being analyzed or is it because libclang is getting confused with something that is outside of our con

Re: [RFC 5/8] static-analyzer: Enforce coroutine_fn restrictions on function pointers

2022-07-04 Thread Alberto Faria
On Mon, Jul 4, 2022 at 6:46 PM Víctor Colombo wrote: > Yes, this line is present at the beginning of the output > Is this caused by problems with the code being analyzed or is it because > libclang is getting confused with something that is outside of our > control? I think I found the problem: t

Re: [RFC 5/8] static-analyzer: Enforce coroutine_fn restrictions on function pointers

2022-07-04 Thread Víctor Colombo
On 04/07/2022 13:57, Alberto Faria wrote: Hi Víctor, On Mon, Jul 4, 2022 at 3:18 PM Víctor Colombo wrote: And I receive an exception on the line above saying that node is of type NoneType. Seems that `node = node.referenced` is setting `node` to None in this case. I was unable to understand t

Re: [RFC 5/8] static-analyzer: Enforce coroutine_fn restrictions on function pointers

2022-07-04 Thread Alberto Faria
Hi Víctor, On Mon, Jul 4, 2022 at 3:18 PM Víctor Colombo wrote: > And I receive an exception on the line above saying that node is of type > NoneType. Seems that `node = node.referenced` is setting `node` to None > in this case. > > I was unable to understand the root cause of it. Is this an inco

Re: [RFC 5/8] static-analyzer: Enforce coroutine_fn restrictions on function pointers

2022-07-04 Thread Víctor Colombo
On 02/07/2022 08:33, Alberto Faria wrote: Alberto, hello. I was testing this patch as follows: ./static-analyzer.py build target/ppc/mmu-hash64.c @@ -627,9 +744,31 @@ def is_coroutine_fn(node: Cursor) -> bool: else: break -return node.kind == CursorKind.FUNCTION_

[RFC 5/8] static-analyzer: Enforce coroutine_fn restrictions on function pointers

2022-07-02 Thread Alberto Faria
Extend static-analyzer.py to enforce coroutine_fn restrictions on function pointer operations. Invalid operations include assigning a coroutine_fn value to a non-coroutine_fn function pointer, and invoking a coroutine_fn function pointer from a non-coroutine_fn function. Signed-off-by: Alberto Fa