[Issue 23799] New: Link error with -betterC
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Mar 22 16:29:50 UTC 2023
https://issues.dlang.org/show_bug.cgi?id=23799
Issue ID: 23799
Summary: Link error with -betterC
Product: D
Version: D2
Hardware: x86_64
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: zan77137 at nifty.com
In the dmd.2.103.0-rc.1, the following code causes a link error when built with
the -betterC compile option:
-----------------
struct Data
{
Data[] range;
string test;
}
Data[] foo()
{
Data[] ret;
if (__ctfe)
{
Data tmp;
tmp.range ~= Data.init;
ret ~= tmp;
}
return ret;
}
void func(Data dat)()
{
}
void bar(Data dat)()
{
if (dat.test.length)
func!(dat.range[0])();
}
extern (C) void main()
{
static immutable data = foo();
bar!(data[0])();
}
-----------------
$ dmd -betterC main.d
/usr/bin/ld: main.o: in function `main':
main.d:(.text.main[main]+0x5): undefined reference to
`_D4main__T3barVSQo4DataS2A1S2nnnZQxFNaNbNiNfZv'
collect2: error: ld returned 1 exit status
--
More information about the Digitalmars-d-bugs
mailing list