[Issue 21294] [REG 2.095]: DMD fails to link since PR11743

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Oct 6 08:52:54 UTC 2020


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

--- Comment #4 from Iain Buclaw <ibuclaw at gdcproject.org> ---
(In reply to RazvanN from comment #3)
> Which imports exactly are you referring to?

It looks like a single import is the trigger over whether StringValue!Type is
emitted or not.

import dmd.dscope;

Adding this back to dmd/aliasthis.d fixes the stage1 bootstrap.  Currently
running stage2 bootstrap.

Without the import, this outputs nothing, and leaves undefined symbol
references to StringValue!(Type).toDchars and others.

$ gdc -fno-PIE -c  -g -O2 -fversion=IN_GCC -frelease -fPIC   -Wall -Wdeprecated
 -o d/mtype.o -MT d/mtype.o -MMD -MP -MF d/.deps/mtype.TPo -I../../gcc/d
-J../../gcc/d/dmd -J../../gcc/d/dmd/res ../../gcc/d/dmd/mtype.d -v 2>&1 | grep
StringValue
$ nm d/mtype.o | grep StringValue8toDchars
                 U
_D3dmd4root11stringtable34__T11StringValueTC3dmd5mtype4TypeZ11StringValue8toDcharsMxFNaNbNiNjZPxa


With the import however.

$ gdc -fno-PIE -c  -g -O2 -fversion=IN_GCC -frelease -fPIC   -Wall -Wdeprecated
 -o d/mtype.o -MT d/mtype.o -MMD -MP -MF d/.deps/mtype.TPo -I../../gcc/d
-J../../gcc/d/dmd -J../../gcc/d/dmd/res ../../gcc/d/dmd/mtype.d -v 2>&1 | grep
StringValue
function  dmd.root.stringtable.StringValue!(Type).StringValue.lstring
function  dmd.root.stringtable.StringValue!(Type).StringValue.len
function  dmd.root.stringtable.StringValue!(Type).StringValue.toDchars
function  dmd.root.stringtable.StringValue!(Type).StringValue.toString
function  dmd.root.stringtable.StringValue!(Type).StringValue.__xopEquals
function  dmd.root.stringtable.StringValue!(Type).StringValue.__xtoHash
$ nm d/mtype.o | grep StringValue8toDchars
0000000000000000 W
_D3dmd4root11stringtable34__T11StringValueTC3dmd5mtype4TypeZ11StringValue8toDcharsMxFNaNbNiNjZPxa

--


More information about the Digitalmars-d-bugs mailing list