www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 7042] New: Allocation of 'creal' array with 'new' fails when using DMD and OptLink in tandem

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7042

           Summary: Allocation of 'creal' array with 'new' fails when
                    using DMD and OptLink in tandem
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Optlink
        AssignedTo: nobody puremagic.com
        ReportedBy: full.demon gmail.com



Consider the following code:

main.d:
import std.stdio;

int main()
{      
    alias creal T;

    writeln("alloc");
    T[] x = new T[4];
    writeln("done");
    return 0;
}

This runs fine when compiled with:
dmd main.d
main

However, it never displays "done" (it hangs) when compiled with:
dmd -c main.d
link main.obj
main

This is the case ONLY if T is 'double', 'idouble', 'creal'. I tried all other
types, but they work fine. Even a struct with one member of type double.

I use the binary package for windows of D2.056, at a Win7 32bit system. If you
need more info, please ask.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 01 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7042




Might be duplicate of http://d.puremagic.com/issues/show_bug.cgi?id=3683
Except the linker links fine, the final executable does not.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 01 2011
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7042


Andrej Mitrovic <andrej.mitrovich gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich gmail.com
            Summary|Allocation of 'creal' array |Allocation of 'creal' array
                   |with 'new' fails when using |with 'new' fails when
                   |DMD and OptLink in tandem   |linking without /noi switch



20:38:39 PDT ---
The issue is with how the linker is invoked, not with DMD itself. Reduced
test-case:

void main()
{
    creal[] x = new creal[4];
}

$ dmd -c test.d

OK:

$ link test.obj /noi
$ test.exe

Hangs:

$ link test.obj
$ test.exe

/noi is short for /noignorecase

Perhaps we must always use /noi, in which case this is an invalid bug report.
Walter?

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