<div dir="ltr">Yes, would be nice to include this into 6.0.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 3, 2018 at 11:16 PM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hans, I'd like to nominate this patch for the 6.0 branch. It fixes a<br>
failing assertion with new functionality; without this fix, anyone<br>
enabling this check and including a STL header that transitively<br>
includes <new> (which is most of them) will hit the assertion.<br>
<br>
Thanks!<br>
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Wed, Jan 3, 2018 at 5:10 PM, Julie Hockett via cfe-commits<br>
<<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
> Author: juliehockett<br>
> Date: Wed Jan  3 14:10:11 2018<br>
> New Revision: 321762<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=321762&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=321762&view=rev</a><br>
> Log:<br>
> [clang-tidy] Update fuchsia-overloaded-operator to check for valid loc<br>
><br>
> Updating fuchsia-overloaded-operator check to not issue warnings for<br>
> invalid locations.<br>
><br>
> Fixes PR35803.<br>
><br>
> Differential Revision: <a href="https://reviews.llvm.org/D41708" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D41708</a><br>
><br>
> Modified:<br>
>     clang-tools-extra/trunk/clang-<wbr>tidy/fuchsia/<wbr>OverloadedOperatorCheck.cpp<br>
>     clang-tools-extra/trunk/test/<wbr>clang-tidy/fuchsia-overloaded-<wbr>operator.cpp<br>
><br>
> Modified: clang-tools-extra/trunk/clang-<wbr>tidy/fuchsia/<wbr>OverloadedOperatorCheck.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp?rev=321762&r1=321761&r2=321762&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/clang-tools-extra/<wbr>trunk/clang-tidy/fuchsia/<wbr>OverloadedOperatorCheck.cpp?<wbr>rev=321762&r1=321761&r2=<wbr>321762&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- clang-tools-extra/trunk/clang-<wbr>tidy/fuchsia/<wbr>OverloadedOperatorCheck.cpp (original)<br>
> +++ clang-tools-extra/trunk/clang-<wbr>tidy/fuchsia/<wbr>OverloadedOperatorCheck.cpp Wed Jan  3 14:10:11 2018<br>
> @@ -30,8 +30,12 @@ void OverloadedOperatorCheck::<wbr>registerMa<br>
>  }<br>
><br>
>  void OverloadedOperatorCheck::<wbr>check(const MatchFinder::MatchResult &Result) {<br>
> -  if (const auto *D = Result.Nodes.getNodeAs<<wbr>FunctionDecl>("decl"))<br>
> -    diag(D->getLocStart(), "cannot overload %0") << D;<br>
> +  const auto *D = Result.Nodes.getNodeAs<<wbr>FunctionDecl>("decl");<br>
> +  assert(D && "No FunctionDecl captured!");<br>
> +<br>
> +  SourceLocation Loc = D->getLocStart();<br>
> +  if (Loc.isValid())<br>
> +    diag(Loc, "cannot overload %0") << D;<br>
>  }<br>
><br>
>  } // namespace fuchsia<br>
><br>
> Modified: clang-tools-extra/trunk/test/<wbr>clang-tidy/fuchsia-overloaded-<wbr>operator.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/fuchsia-overloaded-operator.cpp?rev=321762&r1=321761&r2=321762&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/clang-tools-extra/<wbr>trunk/test/clang-tidy/fuchsia-<wbr>overloaded-operator.cpp?rev=<wbr>321762&r1=321761&r2=321762&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- clang-tools-extra/trunk/test/<wbr>clang-tidy/fuchsia-overloaded-<wbr>operator.cpp (original)<br>
> +++ clang-tools-extra/trunk/test/<wbr>clang-tidy/fuchsia-overloaded-<wbr>operator.cpp Wed Jan  3 14:10:11 2018<br>
> @@ -16,3 +16,6 @@ public:<br>
><br>
>  A operator-(const A &A1, const A &A2);<br>
>  // CHECK-MESSAGES: [[@LINE-1]]:1: warning: cannot overload 'operator-' [fuchsia-overloaded-operator]<br>
> +<br>
> +void operator delete(void*, void*) throw();<br>
> +// CHECK-MESSAGES: [[@LINE-1]]:1: warning: cannot overload 'operator delete' [fuchsia-overloaded-operator]<br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div>