<div dir="ltr"><font face="monospace, monospace">UPDATE: My mistake, my code was incorrect :). I was using FunctionDecl::hasBody() to detect whether or not a FunctionDecl is a prototype, whereas I should have been using FunctionDecl::doesThisDeclarationHaveABody().</font></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 3, 2016 at 10:59 AM, scott constable <span dir="ltr"><<a href="mailto:sdconsta@syr.edu" target="_blank">sdconsta@syr.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><font face="monospace, monospace">Hi All,</font><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">This seems really simple, but I just can't get it to work. Suppose I'm running a libtool over the following code:</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">int foo(int);</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">int foo(int i) {</font></div><div><font face="monospace, monospace">  return ++i;</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">When I intercept the first foo FunctionDecl (the prototype) with a RecursiveASTVisitor and I get the SourceRange, I would expect it to be</font></div><div><font face="monospace, monospace"><br></font></div><div><div><font face="monospace, monospace">int foo(int);</font></div><div><font face="monospace, monospace">^begin      ^end</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">int foo(int i) {</font></div><div><font face="monospace, monospace">  return ++i;</font></div><div><font face="monospace, monospace">}</font></div></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">But instead I get</font></div><div><font face="monospace, monospace"><br></font></div><div><div><font face="monospace, monospace">int foo(int);</font></div><div><font face="monospace, monospace">^begin</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">int foo(int i) {</font></div><div><font face="monospace, monospace">  return ++i;</font></div><div><font face="monospace, monospace">}</font></div></div><div><font face="monospace, monospace">^end</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Any advice would be much appreciated.</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Thanks in advance,</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Scott Constable</font></div></div>
</blockquote></div><br></div>