ICE when calling templated function from extern (C++) templated function?

Iain Buclaw via D.gnu d.gnu at puremagic.com
Sun Jan 8 09:32:31 PST 2017


On 8 January 2017 at 18:23, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
> On 8 January 2017 at 16:42, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
>> On 8 January 2017 at 11:06, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
>>> On 8 January 2017 at 09:08, Elronnd via D.gnu <d.gnu at puremagic.com> wrote:
>>>> On Saturday, 31 December 2016 at 15:10:36 UTC, Iain Buclaw wrote:
>>>>>
>>>>> On 28 December 2016 at 07:51, Elronnd via D.gnu <d.gnu at puremagic.com>
>>>>> wrote:
>>>>> *snip*
>>>>> It seems the bug is also in dmd too?  Unless it is fixed in master/latest
>>>>> release, in which case will need to find out when this happened.
>>>>
>>>>
>>>> It works fine for me on dmd.
>>>
>>> Then the version of dmd I have probably isn't new enough then.  If the
>>> latest is fine, then the C++ mangler just needs to be sync'd between
>>> the two codebases.  It's totally encapsulated, so is relatively
>>> straightforward, once you get over the D -> C++ conversion. ;-)
>>
>> Looks like this is the related bug in DMD:
>> https://issues.dlang.org/show_bug.cgi?id=15372
>
> Actually, no.  It's this bug that is related indirectly, as the C++
> mangler sees a Tuple parameter '[int]', but with the patch applied, it
> flattens all tuples so we are just left with the Type 'int'.
>
> https://issues.dlang.org/show_bug.cgi?id=7469

But of course there's a bug in the patch!

https://issues.dlang.org/show_bug.cgi?id=15789


More information about the D.gnu mailing list