Bug 10631 – Module import pull lots of symbols

Status
RESOLVED
Resolution
WORKSFORME
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-07-13T08:45:00Z
Last change time
2013-09-15T18:19:45Z
Keywords
link-failure
Assigned to
nobody
Creator
verylonglogin.reg

Comments

Comment #0 by verylonglogin.reg — 2013-07-13T08:45:08Z
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.
Comment #1 by k.hara.pg — 2013-09-11T19:36:36Z
Comment #2 by k.hara.pg — 2013-09-15T18:19:45Z
(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.