www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - dmd (>2.068) compiler error

reply ted <axiom-a asylum.id.au> writes:
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-7450FEAE5605F646044C35441C27D6
E/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/soc
et_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?
Jun 26 2016
next sibling parent Steven Schveighoffer <schveiguy yahoo.com> writes:
On Sunday, 26 June 2016 at 07:01:57 UTC, ted wrote:
 Unsure of exactly how to communicate this one, so posting here.
[snip]
 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?
any error like that is an internal compiler error (ice) and should never happen. Please file an issue: https://issues.dlang.org Try to reduce the code as much as possible so someone can reproduce it -Steve
Jun 26 2016
prev sibling parent ag0aep6g <anonymous example.com> writes:
On 06/26/2016 09:01 AM, ted wrote:
 Compilation of https://github.com/dcarp/asynchronous.
[...]
 /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?
I've filed an issue with reduced code: https://issues.dlang.org/show_bug.cgi?id=16214
Jun 27 2016