www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 10631] New: Module import pull lots of symbols

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

           Summary: Module import pull lots of symbols
           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: verylonglogin.reg gmail.com


--- Comment #0 from Denis Shelomovskij <verylonglogin.reg gmail.com> 2013-07-13
19:45:08 MSD ---
This code used to work allowing usage of stuff like `min` where no D runtime
functions are used:
---
import std.algorithm;

extern(C) void main()
{ }
---

Current OPTLINK output:
---
OPTLINK (R) for Win32  Release 8.00.13
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __d_arrayappendT
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D12TypeInfo_Aya6__initZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __d_throwc
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std3utf12isValidDcharFNaNbNfwZb
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std3utf12UTFException7__ClassZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __d_newclass
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std3utf7__arrayZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined
_D3std3utf12UTFException6__ctorMFNaNfAyakAyakC6object9ThrowableZC3std3utf12UTFException
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std3utf6encodeFNaNfKG4awZk
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std4conv7__arrayZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std6format7__arrayZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std5array7__arrayZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __d_allocmemory
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D16TypeInfo_Pointer6__vtblZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D15TypeInfo_Struct6__vtblZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __d_newitemT
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined
_D4core6memory2GC6qallocFNaNbkkZS4core6memory8BlkInfo_
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D4core6memory2GC6extendFNaNbPvkkZk
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __d_arraycopy
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined
_D3std6format15FormatException6__ctorMFNaNbNfAyaAyakC6object9ThrowableZC3std6format15FormatException
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std6format15FormatException7__ClassZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D11TypeInfo_Aa6__initZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __d_arraysetcapacity
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined
_D3std4conv13ConvException6__ctorMFNaNbNfAyaAyakZC3std4conv13ConvException
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std4conv13ConvException7__ClassZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined
_D3std4conv21ConvOverflowException6__ctorMFNaNbNfAyaAyakZC3std4conv21ConvOverflowException
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std4conv21ConvOverflowException7__ClassZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std5ascii7isDigitFNaNbNfwZb
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined __adDupT
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D14TypeInfo_Array6__vtblZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D10TypeInfo_a6__initZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D14TypeInfo_Const6__vtblZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D9Exception7__ClassZ
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined
_D6object9Exception6__ctorMFNaNbNfAyaAyakC6object9ThrowableZC9Exception
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std9exception7bailOutFNaNfAyakxAaZv
Release\test_d2.obj(test_d2) 
 Error 42: Symbol Undefined _D3std9algorithm12__ModuleInfoZ
--- errorlevel 36
---
(`betterC` flag removes one undefined symbol)

This forces one to copy/paste all the functionality for runtime-less
applications.

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



--- Comment #1 from Kenji Hara <k.hara.pg gmail.com> 2013-09-11 19:36:36 PDT ---
Maybe this is a dup of bug 10441.
http://d.puremagic.com/issues/show_bug.cgi?id=10441#c11

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


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME


--- Comment #2 from Kenji Hara <k.hara.pg gmail.com> 2013-09-15 18:19:45 PDT ---
(In reply to comment #1)
 Maybe this is a dup of bug 10441.
 http://d.puremagic.com/issues/show_bug.cgi?id=10441#c11
By merging https://github.com/D-Programming-Language/dmd/pull/2550, now the link-failures are disappeared. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 15 2013