dmd (>2.068) compiler error

ted via Digitalmars-d digitalmars-d at puremagic.com
Sun Jun 26 00:01:57 PDT 2016


Unsure of exactly how to communicate this one, so posting here.


Compilation of https://github.com/dcarp/asynchronous.
Using 'dub --verbose build' produces:
dmd -lib -of.dub/build/library-debug-linux.posix-x86_64-dmd_2071-7450FEAE5605F646044C35441C27D67E/libasynchronous.a -debug -g -w -version=CryptoSafe -
version=Have_asynchronous -version=Have_libasync -version=Have_memutils -Isrc/ -I../../../../.dub/packages/libasync-0.7.9/libasync/source/ -
I../../../../.dub/packages/memutils-0.4.6/memutils/source/ src/asynchronous/events.d src/asynchronous/futures.d src/asynchronous/libasync/events.d 
src/asynchronous/locks.d src/asynchronous/package.d src/asynchronous/protocols.d src/asynchronous/queues.d src/asynchronous/streams.d 
src/asynchronous/tasks.d src/asynchronous/transports.d src/asynchronous/types.d -vcolumns
Enhanced memory security is enabled.
Memory debugger enabled
../../../../.dub/packages/libasync-0.7.9/libasync/source/libasync/internals/socket_compat.d(57,16): Deprecation: module std.c.linux.socket is deprecated - 
Import the appropriate core.sys.posix.* modules instead
Using Linux EPOLL for events

(successful compile) So far, so good.

However, if I do not use dub to compile the code, and compile into individual object files, then for the following file:

/usr/bin/dmd -ofbuild/events.d.o -debug -g -w -version=CryptoSafe -version=Have_asynchronous -version=Have_libasync -version=Have_memutils -Isrc    -
I../../../../.dub/packages/memutils-0.4.6/memutils/source/ -I../../../../.dub/packages/libasync-0.7.9/libasync/source/ -c src/asynchronous/libasync/events.d



for any dmd >2.068 causes the following error:
dmd: glue.c:809: void FuncDeclaration_toObjFile(FuncDeclaration*, bool): Assertion `fd->semanticRun == PASSsemantic3done' failed.
Aborted

However, it works find for dmd.2.068.

Any ideas?






More information about the Digitalmars-d mailing list