[Issue 23209] New: Linker error for valid code.

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jun 23 14:05:51 UTC 2022


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

          Issue ID: 23209
           Summary: Linker error for valid code.
           Product: D
           Version: D2
          Hardware: x86_64
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: druntime
          Assignee: nobody at puremagic.com
          Reporter: trikkuz at gmail.com

Dmd compiles this code, but linker fails. 


--- 
#!/usr/bin/rdmd 

import std;

void main() {
    auto httpClient = HTTP();
    httpClient.setAuthentication("", "");
    string src = `{}`;
    auto json = parseJSON(src);
    writeln(json);
}

---

It returns a (strange) linking error:

/usr/bin/ld:
/tmp/.rdmd-1000/rdmd-test2.d-C954334114259D06EF20F7503F19D193/objs/test2.o: in
function `_D4core8internal7switch___T14__switch_errorZQrFNaNbNiNfAyamZv':
/usr/include/dmd/phobos/std/package.d:(.text._D4core8internal7switch___T14__switch_errorZQrFNaNbNiNfAyamZv[_D4core8internal7switch___T14__switch_errorZQrFNaNbNiNfAyamZv]+0x19):
undefined reference to
`_D4core9exception__T15__switch_errorTZQsFNaNbNiNeAyamZv'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1


If you replace writeln(json) with writeln(json.toString) it works.
If you comment writeln, it works.
If you comment httpClient.setAuthentication, it works.

--


More information about the Digitalmars-d-bugs mailing list