[Issue 3683] New: Linker error on certain array expressions when using -release and -inline

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jan 6 17:11:28 PST 2010


http://d.puremagic.com/issues/show_bug.cgi?id=3683

           Summary: Linker error on certain array expressions when using
                    -release and -inline
           Product: D
           Version: 1.053
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: eriatarka84 at gmail.com


--- Comment #0 from Clemens <eriatarka84 at gmail.com> 2010-01-06 17:11:27 PST ---
Created an attachment (id=546)
two source files and a build batch file to reproduce the bug

It's pretty bizarre. I get a linker error from array expressions which seems to
manifest itself only under the following set of circumstances:

*) using certain complex array expressions,
*) importing the module which does so from another one,
*) specifying both -release and -inline,
*) compiling and linking separately.

Below is an example of an array expression which fails to link:

buf1[] = buf1[] + 0.5f * buf2[];

And here is the output of OPTLINK:

OPTLINK (R) for Win32  Release 8.00.2
Copyright (C) Digital Mars 1989-2009  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
Test.obj(Test)  Offset 0037AH Record Type 00C3
 Error 1: Previous Definition Different :
__arraySliceSliceExpMulAddSliceAssign_f
--- errorlevel 2

I've attached a sample project to demonstrate the problem. Run build.bat to
reproduce. Note that compiling and linking all D files in one step seems to
avoid the issue, but since I want to use Rebuild this is not a convenient
workaround for me.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list