<div dir="ltr"><div>Thanks for your reply Anna. I finally got a chance to play around with this again today.<br></div><div><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div> I believe with your patch, the node will get added, but the definition used will not have the body attached to it, so the analyzer will not process the body. </div></div></blockquote><div><br></div><div>Hmm, doesn't the analyzer itself use getBody() to access the body, thereby walking the list of redeclarations? It seems like it is still processing the body of the function, but maybe I don't know what to look for.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>How about changing the logic in the CallGraph to check if there is a redeclaration with the body and insert that one insted of the one referenced by the call? (This could also be handled on the analyzer side, but I think all the CallGraph users might prefer the declarations that have the bodies attached when those are available.) I would try to use hasBody, followed by getBody(). What do you think?</div></div></blockquote><div><br></div><div>It isn't obvious to me how to do this with hasBody / getBody directly, since the call graph node Decl isn't const. However, it can be easily done by iterating over redecls() and testing each with doesThisDeclarationHaveABody. It seems to work. Any problems with this approach?</div><div><br></div><div>Is cfe-commits the place to submit the actual patch?</div><div> <br></div><div>Thanks again for you help,<br><br>Daniel<br></div><div><br></div><br></div></div></div></div>