[PATCH] D91089: [dllexport] Instantiate default ctor default args for explicit specializations (PR45811)
Zahira Ammarguellat via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 10 08:54:18 PST 2020
zahiraam added a comment.
In D91089#2385821 <https://reviews.llvm.org/D91089#2385821>, @hans wrote:
>> clang.exe -c test.cpp
>> Assertion failed: !hasUninstantiatedDefaultArg() && "Default argument is not yet instantiated!", file D:\IUSERS\zahiraam\llorg_ws\ws1\llvm\clang\lib\AST\Decl.cpp, line 2719
>> PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
>
> Thanks for catching that!
>
> What's happening is that Clang tries to emit the ctor closure even though the ctor is just declared, but not defined.
>
> I don't think it makes sense to try to emit the closure until we have the ctor definition. I'll update the patch to handle this.
Ok. That's a bit different than what MSVC is doing. It generates a closure constructor even if there is only a declaration. But I guess we are not aligning specifically with MSVC!
Look good.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91089/new/
https://reviews.llvm.org/D91089
More information about the cfe-commits
mailing list