<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Richard,<br>
<br>
On 5/29/12 6:41 PM, Richard Smith wrote:
<blockquote
 cite="mid:CAOfiQq=r1idb++Wib28N7KgeGqpr4CEgT7W=W44DtDGbcJ71PA@mail.gmail.com"
 type="cite">Hi,
  <div><br>
  </div>
  <div>
  <div class="gmail_quote">On Sun, May 27, 2012 at 6:29 PM, Yang Chen <span
 dir="ltr"><<a moz-do-not-send="true"
 href="mailto:chenyang@cs.utah.edu" target="_blank">chenyang@cs.utah.edu</a>></span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Seems
RecursiveASTVisitor has a bug which could cause duplicated visits to
default arguments for a class template. For example, given the code
below:<br>
    <br>
class X;<br>
template<class T = X> class Y;<br>
template<class T> class Y {};<br>
    <br>
The default argument 'X' will be visited twice. The attached patch
fixed the problem.</blockquote>
  <div><br>
  </div>
  <div>Thanks, the patch looks good. We should also handle
NonTypeTemplateParmDecl in the same way.<br>
  </div>
  </div>
  </div>
</blockquote>
<br>
Fixed.<br>
<br>
<blockquote
 cite="mid:CAOfiQq=r1idb++Wib28N7KgeGqpr4CEgT7W=W44DtDGbcJ71PA@mail.gmail.com"
 type="cite">
  <div>
  <div class="gmail_quote">
  <div> </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I
also attached a small testcase. Thanks.</blockquote>
  <div><br>
  </div>
  <div>(It's conventional to put the code and test changes in the same
patch file.) Tests for the other two flavours of template parameters
would be great (you will probably need to add new
ExpectedLocationVisitor subclasses to RecursiveASTVisitorTest to test
those).</div>
  </div>
  </div>
</blockquote>
<br>
Thanks for the info. I attached a new patch which includes two more
test cases for TemplateTemplateParmDecl and NonTypeTemplateParmDecl.  <br>
<br>
- Yang<br>
<br>
</body>
</html>