<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><span class="vcard"><a class="email" href="mailto:ldionne@apple.com" title="Louis Dionne <ldionne@apple.com>"> <span class="fn">Louis Dionne</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Set of pointer to incomplete type gives wrong warning message."
href="https://bugs.llvm.org/show_bug.cgi?id=41360">bug 41360</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>FIXED
</td>
</tr>
<tr>
<td style="text-align:right;">Fixed By Commit(s)</td>
<td>
</td>
<td>358189
</td>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Set of pointer to incomplete type gives wrong warning message."
href="https://bugs.llvm.org/show_bug.cgi?id=41360#c10">Comment # 10</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Set of pointer to incomplete type gives wrong warning message."
href="https://bugs.llvm.org/show_bug.cgi?id=41360">bug 41360</a>
from <span class="vcard"><a class="email" href="mailto:ldionne@apple.com" title="Louis Dionne <ldionne@apple.com>"> <span class="fn">Louis Dionne</span></a>
</span></b>
<pre>Should be fixed with r358189:
commit 7c142fcc06850c7cee3cdb07e98cc57f04ee5e8b
Author: Louis Dionne <<a href="mailto:ldionne@apple.com">ldionne@apple.com</a>>
Date: Thu Apr 11 16:14:56 2019 +0000
[libc++] Make sure we don't eagerly diagnose non-const comparators for
containers of incomplete types
Summary:
In r348529, I improved the library-defined diagnostic for using containers
with a non-const comparator/hasher. However, the check is now performed
too early, which leads to the diagnostic being emitted in cases where it
shouldn't. See PR41360 for details.
This patch moves the diagnostic to the destructor of the containers, which
means that the diagnostic will only be emitted when the container is
instantiated
at a point where the comparator and the key/value are required to be
complete.
We still retain better diagnostics than before r348529, because the
diagnostics
are performed in the containers themselves instead of __tree and
__hash_table.
As a drive-by fix, I improved the diagnostic to mention that we can't find
a _viable_ const call operator, as suggested by EricWF in PR41360.
Reviewers: EricWF, mclow.lists
Subscribers: christof, jkorous, dexonsmith, libcxx-commits, zoecarver
Tags: #libc
Differential Revision: <a href="https://reviews.llvm.org/D60540">https://reviews.llvm.org/D60540</a>
llvm-svn: 358189</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>