Required DMD changes for Mir and few thoughts about D future

Jacob Carlborg via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 27 02:28:09 PDT 2016


On 2016-09-27 10:53, Ilya Yaroshenko wrote:

> They are (except Win32?), but we need to exclude DRuntime dependency.
> Mir does not use Druntime and will not use it anyway because DRuntime is
> not `nothrow @nogc`.

I tried this using ldc 1.1.0 beta 2 (Frontend, druntime and Phobos are 
at version 2.071.1) and DMD 2.071.1:

$ cat main.d
module main;

import std.stdio;

void main()
{
     writeln("foo");
}

$ ./ldc2 -c main.d && dmd main.o
Undefined symbols for architecture x86_64:
   "__D3std3utf6toUTF8FNaNbNiNfNkJG4awZAa", referenced from:
       __D3std5stdio4File17LockingTextWriter10__T3putTwZ3putMFNbNiNfwZv 
in main.o
   "__D3std5stdio12__ModuleInfoZ", referenced from:
       __D4main12__ModuleInfoZ in main.o
   "__D3std5stdio13trustedStdoutFNdNeZS3std5stdio4File", referenced from:
       __D3std5stdio16__T7writelnTAyaZ7writelnFNfAyaZv in main.o
   "__D3std5stdio14fputc_unlockedFNbNiiPS4core4stdc5stdio7__sFILEZi", 
referenced from:
 
__D3std5stdio4File17LockingTextWriter10__T3putTwZ3putMFNfwZ12trustedFPUTCFNbNiNeiPS4core4stdc5stdio7__sFILEZi 
in main.o
 
__D3std5stdio4File17LockingTextWriter10__T3putTaZ3putMFNfaZ12trustedFPUTCFNbNiNeiPS4core4stdc5stdio7__sFILEZi 
in main.o
   "__D3std5stdio15fputwc_unlockedFNbNiwPS4core4stdc5stdio7__sFILEZi", 
referenced from:
 
__D3std5stdio4File17LockingTextWriter10__T3putTwZ3putMFNfwZ13trustedFPUTWCFNbNiNewPS4core4stdc5stdio7__sFILEZi 
in main.o
 
__D3std5stdio4File17LockingTextWriter10__T3putTaZ3putMFNfaZ13trustedFPUTWCFNbNiNewPS4core4stdc5stdio7__sFILEZi 
in main.o
   "__D3std5stdio4File17LockingTextWriter6__dtorMFNeZv", referenced from:
       __D3std5stdio16__T7writelnTAyaZ7writelnFNfAyaZv in main.o
 
"__D3std5stdio4File17lockingTextWriterMFNfZS3std5stdio4File17LockingTextWriter", 
referenced from:
       __D3std5stdio16__T7writelnTAyaZ7writelnFNfAyaZv in main.o
   "__D3std5stdio4File6__dtorMFNfZv", referenced from:
       __D3std5stdio16__T7writelnTAyaZ7writelnFNfAyaZv in main.o
 
"__D3std9exception14ErrnoException6__ctorMFNeAyaAyamZC3std9exception14ErrnoException", 
referenced from:
       __D3std5stdio4File17LockingTextWriter12__T3putTAyaZ3putMFNfAyaZv 
in main.o
 
__D3std9exception187__T12errnoEnforceTiVAyaa76_2f55736572732f6a61636f622f446f776e6c6f6164732f6c6463322d312e312e302d62657461322d6f73782d7838365f36342f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi2640Z12errnoEnforceFNfiLAyaZi 
in main.o
   "__D3std9exception14ErrnoException6__initZ", referenced from:
       __D3std5stdio4File17LockingTextWriter12__T3putTAyaZ3putMFNfAyaZv 
in main.o
 
__D3std9exception187__T12errnoEnforceTiVAyaa76_2f55736572732f6a61636f622f446f776e6c6f6164732f6c6463322d312e312e302d62657461322d6f73782d7838365f36342f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi2640Z12errnoEnforceFNfiLAyaZi 
in main.o
   "__D3std9exception14ErrnoException6__vtblZ", referenced from:
       __D3std5stdio4File17LockingTextWriter12__T3putTAyaZ3putMFNfAyaZv 
in main.o
 
__D3std9exception187__T12errnoEnforceTiVAyaa76_2f55736572732f6a61636f622f446f776e6c6f6164732f6c6463322d312e312e302d62657461322d6f73782d7838365f36342f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi2640Z12errnoEnforceFNfiLAyaZi 
in main.o
   "__D3std9exception14ErrnoException7__ClassZ", referenced from:
       __D3std5stdio4File17LockingTextWriter12__T3putTAyaZ3putMFNfAyaZv 
in main.o
 
__D3std9exception187__T12errnoEnforceTiVAyaa76_2f55736572732f6a61636f622f446f776e6c6f6164732f6c6463322d312e312e302d62657461322d6f73782d7838365f36342f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi2640Z12errnoEnforceFNfiLAyaZi 
in main.o
   "__Dmodule_ref", referenced from:
       __D4main16__moduleinfoCtorZ in main.o
   "__d_eh_personality", referenced from:
       Dwarf Exception Unwind Info (__eh_frame) in main.o
   "__d_eh_resume_unwind", referenced from:
       __D3std5stdio16__T7writelnTAyaZ7writelnFNfAyaZv in main.o
   "__d_throw_exception", referenced from:
       __D3std5stdio4File17LockingTextWriter12__T3putTAyaZ3putMFNfAyaZv 
in main.o
 
__D3std9exception187__T12errnoEnforceTiVAyaa76_2f55736572732f6a61636f622f446f776e6c6f6164732f6c6463322d312e312e302d62657461322d6f73782d7838365f36342f62696e2f2e2e2f696d706f72742f7374642f737464696f2e64Vmi2640Z12errnoEnforceFNfiLAyaZi 
in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
--- errorlevel 1

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list