www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9377] New: Link-failure regression cause by fixing issue 8504

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

           Summary: Link-failure regression cause by fixing issue 8504
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: link-failure
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: k.hara.pg gmail.com



From:
https://github.com/D-Programming-Language/dmd/pull/1096#issuecomment-12584452

----
This pull breaks the following test case:

C:\cbx\mars\test>..\dmd -m32 -c mula mulb -lib
DMD v2.062 DEBUG

C:\cbx\mars\test>..\dmd -m32 multi mula.lib
DMD v2.062 DEBUG
OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
multi.obj(multi)
 Error 42: Symbol Undefined _D4mulb8__T3defZ3memFZv

mula.d:

import std.c.stdio;

import mulb;

void abc()
{
    printf("mulb.abc()\n");
    foo();
    bar();
}

mulb.d:

module mulb;

import std.c.stdio;

int j;

int foo()()
{
    printf("foo()\n");
    static int z = 7;
    assert(z != 10);
    return ++z;
}

void bar()
{
    assert(j == 7);
    foo();
    printf("bar\n");
}

template def()
{
    alias int defint;

    static this()
    {
        printf("def.static this()\n");
        j = 7;
    }

    void mem()
    {
        printf("def().mem()\n");
    }
}

def!().defint x;

multi.d:

import std.c.stdio;

import mula, mulb;

int main()
{
    printf("main\n");
    abc();
    def!().mem();
    return 0;
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 23 2013
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9377


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull



https://github.com/D-Programming-Language/dmd/pull/1543

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 23 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9377




Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/6a0be5b98961a773c7380ac45f14f1a8a76349b9
fix Issue 9377 - Link-failure regression cause by fixing issue 8504

The test is disabled only in win64 platform.

https://github.com/D-Programming-Language/dmd/commit/de4f8f6bf8dc9fcc1730ea4d7f2bbd3e74880f08


Issue 5933 & 7159 & 9377 - Invoke function semantic3 correctly where it is
required.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 24 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9377


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |FIXED


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