<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Actually, someone already committed a fix: <a href="https://reviews.llvm.org/D62202" rel="noreferrer" target="_blank" style="font-family:Arial,Helvetica,sans-serif">https://reviews.llvm.org/D62202</a><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I can still make this change if it seems worthwhile, but its not strictly necessary at this point.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 23, 2019 at 11:14 AM Yitzhak Mandelbaum <<a href="mailto:yitzhakm@google.com" target="_blank">yitzhakm@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Given that we'll need to store the function reference, is llvm::function_ref still the way to go? The comments seem to warn away from storing function_refs.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 23, 2019 at 11:06 AM Yitzhak Mandelbaum <<a href="mailto:yitzhakm@google.com" target="_blank">yitzhakm@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Sounds good. I'll send a fix shortly. Found another bug too (captured a StringRef in a lambda) -- shall i bundle the fixes?<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 23, 2019 at 9:01 AM Ilya Biryukov <<a href="mailto:ibiryukov@google.com" target="_blank">ibiryukov@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Maybe go with a runtime parameter (of type llvm::function_ref) instead of the template parameter?<div>In any non-trivial example, the runtime costs of another function pointer should be negligible given that we need to parse the ASTs, run the matchers, etc.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 22, 2019 at 10:48 PM Penzin, Petr <<a href="mailto:petr.penzin@intel.com" target="_blank">petr.penzin@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_6402707461240023857gmail-m_3068864700355854036gmail-m_-5986312014249631192gmail-m_-7462208247117432655gmail-m_5018996561882521667WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">It does not like some part of that instantiation, I am not sure which one yet. Let’s see what I can do about it.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">-Petr<u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_6402707461240023857_m_3068864700355854036_m_-5986312014249631192_m_-7462208247117432655_m_5018996561882521667__MailEndCompose"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></a></p>
<p class="MsoNormal"><a name="m_6402707461240023857_m_3068864700355854036_m_-5986312014249631192_m_-7462208247117432655_m_5018996561882521667______replyseparator"></a><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Yitzhak Mandelbaum [mailto:<a href="mailto:yitzhakm@google.com" target="_blank">yitzhakm@google.com</a>]
<br>
<b>Sent:</b> Wednesday, May 22, 2019 1:37 PM<br>
<b>To:</b> <a href="mailto:reviews%2BD61774%2Bpublic%2Bf458bb6144ae8e78@reviews.llvm.org" target="_blank">reviews+D61774+public+f458bb6144ae8e78@reviews.llvm.org</a><br>
<b>Cc:</b> Ilya Biryukov <<a href="mailto:ibiryukov@google.com" target="_blank">ibiryukov@google.com</a>>; Penzin, Petr <<a href="mailto:petr.penzin@intel.com" target="_blank">petr.penzin@intel.com</a>>; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>; Michał Górny <<a href="mailto:mgorny@gentoo.org" target="_blank">mgorny@gentoo.org</a>>; cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>>; Theko Lekena <<a href="mailto:mlekena@skidmore.edu" target="_blank">mlekena@skidmore.edu</a>>; Nicolas Lesser <<a href="mailto:blitzrakete@gmail.com" target="_blank">blitzrakete@gmail.com</a>>;
 Han Shen <<a href="mailto:shenhan@google.com" target="_blank">shenhan@google.com</a>><br>
<b>Subject:</b> Re: [PATCH] D61774: [LibTooling] Add RangeSelector library for defining source ranges based on bound AST nodes.<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:Arial,sans-serif">I'm confused by the error given that getStatementsRange is a function name.  I don't have Visual Studio -- can you find a fix and send a patch? I wonder if taking the address explicitly is enough? 
 Or, if you know how to trigger this error in clang or gcc, I can fix it myself.<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, May 22, 2019 at 4:31 PM Petr Penzin via Phabricator <<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12pt">penzn added inline comments.<br>
<br>
<br>
================<br>
Comment at: cfe/trunk/lib/Tooling/Refactoring/RangeSelector.cpp:229<br>
+RangeSelector tooling::statements(StringRef ID) {<br>
+  return RelativeSelector<CompoundStmt, getStatementsRange>(ID);<br>
+}<br>
----------------<br>
Sorry for posting here, haven't gotten my bugzilla access yet (requested though).<br>
<br>
This breaks with Visual Studio 2017 (15.7.6):<br>
<br>
RangeSelector.cpp(229): error C2971: '`anonymous-namespace'::RelativeSelector': template parameter 'Func': 'getStatementsRange': a variable with non-static storage duration cannot be used as a non-type argument<br>
<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://reviews.llvm.org/D61774/new/" target="_blank">https://reviews.llvm.org/D61774/new/</a><br>
<br>
<a href="https://reviews.llvm.org/D61774" target="_blank">https://reviews.llvm.org/D61774</a><br>
<br>
<br>
<u></u><u></u></p>
</blockquote>
</div>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_6402707461240023857gmail-m_3068864700355854036gmail-m_-5986312014249631192gmail-m_-7462208247117432655gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Regards,</div><div>Ilya Biryukov</div></div></div></div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>