www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.ide
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript
electronics




D.gnu - [Issue 1911] New: Link error when creating array of typedefs with default initializer

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

           Summary: Link error when creating array of typedefs with default
                    initializer
           Product: DGCC aka GDC
           Version: 0.24
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: link-failure
          Severity: major
          Priority: P2
         Component: glue layer
        AssignedTo: dvdfrdmn users.sf.net
        ReportedBy: matti.niemenmaa+dbugzilla iki.fi


In file a.d:
--
typedef int foo = 1;
--
In file b.d:
--
import a;
void main() { foo[] x = new foo[1]; }
--

Compiling with "gdmd ./b.d ./a.d":

b.o:(.data._D16TypeInfo_T1a3foo6__initZ[_D16TypeInfo_T1a3foo6__initZ]+0x18):
undefined reference to `___s.904'
collect2: ld returned 1 exit status

Compiling in the order "gdmd ./a.d ./b.d" works, however.

This only happens with GDC (latest trunk) and not DMD.

I marked this as 'major' since it's tedious to find out which files the problem
is in, so that one can link in the correct order.


-- 
Mar 12 2008