www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 24496] New: "Undefined reference to internal" when -c with

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

          Issue ID: 24496
           Summary: "Undefined reference to internal" when -c with
                    SysTime.max in init
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: default_357-line yahoo.de

Consider this code:

a.d:
module a;

import std.datetime;

struct AStruct
{
    SysTime time = SysTime.max;
}

void main() { }

b.d:
module b;

import std.datetime;

struct BStruct
{
    SysTime time = SysTime.max;
}

Compile it directly and it works:

$ dmd a.d b.d -oftest
$

But compile it incrementally:

$ dmd a.d b.d -c
$ dmd a.o b.o -oftest
/usr/bin/ld: b.o:(.data.rel.ro+0x8): undefined reference to `internal'
collect2: error: ld returned 1 exit status

--
Apr 11