Summary: Previous definition different:
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD

--- Comment #0 from David Simcha <> 2011-02-15 09:29:27 PST ---
>From reading the disassembly it looks like every time
__arrayExpSliceMulSliceAddass_d is used, the implementation gets put in the
object file instead of just an exterm reference.


import module1;

void main() {
    double[] a, b;
    doStuff(a, b);
    a[0..b.length] += b[0] * b[0..a.length];


void doStuff(double[] arr1, double[] arr2) {
    arr1[0..arr2.length] += arr2[0] * arr2[0..arr1.length];

Command lines:

dmd -c main.d
dmd -c module1.d
dmd main.obj module1.obj


OPTLINK (R) for Win32  Release 8.00.8
Copyright (C) Digital Mars 1989-2010  All rights reserved.
module1.obj(module1)  Offset 001FDH Record Type 00C3
 Error 1: Previous Definition Different : __arrayExpSliceMulSliceAddass_d
--- errorlevel 1

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to