On Thu, May 14, 2020 at 10:56:04PM +0200, Luc Van Oostenryck wrote: > Not sure if it's related to Dan's problem or not but with the > following code: > > static inline int foo(void) > { > return 1; > } > > extern int foo(void); > > int dummy(void) > { > return foo(); > } > > the static definition of foo() and the extern declaration are > distinct symbols (in the sense that neither has its sym->same_symbol > pointing to the other). As far as I understand, this is correct > because they have a different 'scope'. The problem occurs later, > when doing the lookup in dummy(): which symbol should be returned? Yeah. That's it. When I see the call, I want to parse the statements so I need the symbol with the implementation. regards, dan carpenter