<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [clang-cl] Missing inherited constructor in exported symbols"
href="https://bugs.llvm.org/show_bug.cgi?id=43954">43954</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[clang-cl] Missing inherited constructor in exported symbols
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>9.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>-New Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>qwertiest@mail.ru
</td>
</tr>
<tr>
<th>CC</th>
<td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org, neeilans@live.com, richard-llvm@metafoo.co.uk
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=22790" name="attach_22790" title="Source files for repro">attachment 22790</a> <a href="attachment.cgi?id=22790&action=edit" title="Source files for repro">[details]</a></span>
Source files for repro
Description:
clang-cl does not export the inherited constructor (defined via `using
Base::Base`), which breaks compatibility with MSVC cl.
Repro steps (see attachments for source files):
1. `clang-cl.exe /LD class.cpp /DMY_EXPORT_API /link /DLL /out:class.dll`
2. `cl.exe main.cpp class.lib`
Observed result:
```
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport)
public: __thiscall DerivedWithCtor::DerivedWithCtor(void const *)"
(__imp_??0DerivedWithCtor@@QAE@PBX@Z) referenced in function "public:
__thiscall DerivedCheck::DerivedCheck(void)" (??0DerivedCheck@@QAE@XZ)
```
This is the mangling issue since manual inspection of produced DLL shows that
there was no constructor exported for `DerivedWithCtor`.
The step 1. can be performed with cl.exe for comparison.</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>