Summary: | Undefined interface functions when inheriting from two sources. | ||
---|---|---|---|
Product: | GDC | Reporter: | Daniel Green <venix1> |
Component: | gdc | Assignee: | Iain Buclaw <ibuclaw> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | --- | ||
Version: | development | ||
Hardware: | x86 | ||
OS: | Linux | ||
Attachments: |
A.s - Assembly output of A.d
B.s - Assembly output of B.d main.s - Assembly output of main.d |
Description
Daniel Green
2012-12-04 03:08:55 CET
Created attachment 16 [details]
A.s - Assembly output of A.d
Created attachment 17 [details]
B.s - Assembly output of B.d
Created attachment 18 [details]
main.s - Assembly output of main.d
This error occurs with head using GCC 4.8 on linux. This occurs with head on GCC 4.8 on linux. This is identical to the thunk issue we had a while ago. It broke with this change. https://github.com/D-Programming-GDC/GDC/commit/cd8bb6d03ae3134a4976689eab312e2bb57701fc#gcc/d/d-objfile.cc weakref allowed the Thunk symbol to be associated with the actual symbol. Switching to WEAK provides no such association. Additionally, the weakref solution doesn't work for MinGW resulting in rather interesting crashes. Mostly an issue with binutils and some obscure interaction I couldn't trace. The solution is the same as before and a pull request has been made. https://github.com/D-Programming-GDC/GDC/pull/42 https://github.com/D-Programming-GDC/GDC/commit/1526e44f38f888531c1032e17068dcef9fdd0df8 Does the weakref solution still produce phantom crashes in binutils for MinGW? > Does the weakref solution still produce phantom crashes in binutils for MinGW?
Looks good. Couldn't reproduce the weakref crashes and some more complicated testcases passed.
Wicked, thanks Daniel. Re-opening bug report. |