<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:rnk@google.com" title="Reid Kleckner <rnk@google.com>"> <span class="fn">Reid Kleckner</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - clang-cl imports an incorrect data symbol for dllimported classes inside a namespace with a default ctor which have a local static member"
href="https://llvm.org/bugs/show_bug.cgi?id=24291">bug 24291</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;">Status</td>
<td>REOPENED
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>INVALID
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - clang-cl imports an incorrect data symbol for dllimported classes inside a namespace with a default ctor which have a local static member"
href="https://llvm.org/bugs/show_bug.cgi?id=24291#c13">Comment # 13</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - clang-cl imports an incorrect data symbol for dllimported classes inside a namespace with a default ctor which have a local static member"
href="https://llvm.org/bugs/show_bug.cgi?id=24291">bug 24291</a>
from <span class="vcard"><a class="email" href="mailto:rnk@google.com" title="Reid Kleckner <rnk@google.com>"> <span class="fn">Reid Kleckner</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=24291#c12">comment #12</a>)
<span class="quote">> (FWIW I would be fine working around this in Firefox if you think this is
> not worth changing clang-cl for.)</span >
Yeah, after playing around with MSVC for a bit, my feeling is that this is
working as intended.
We could try to make it easier for users to do delay loading, but there are
many other patterns that will cause MSVC to inline references to dllimport
data. In this example, they inline the ctor and form a reference to the
imported vftable:
struct __declspec(dllimport) S {
S() {}
virtual void f();
};
S *create() { return new S(); }
If I wanted to delay load S with MSVC, I'd have to mark S() noinline or move it
out of line. With either compiler, the user has to do some auditing of headers
if they want to use delay loading.</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>