Showing with 9 additions and 71 deletions.
  1. +9 −0 src/mars.c
  2. +0 −10 src/module.c
  3. +0 −15 test/compilable/test14317.d
  4. +0 −30 test/fail_compilation/fail3753.d
  5. +0 −16 test/fail_compilation/fail4611.d
9 changes: 9 additions & 0 deletions src/mars.c
Original file line number Diff line number Diff line change
Expand Up @@ -1453,6 +1453,15 @@ int main(int iargc, const char *argv[])

Module::dprogress = 1;
Module::runDeferredSemantic();
if (Module::deferred.dim)
{
for (size_t i = 0; i < Module::deferred.dim; i++)
{
Dsymbol *sd = Module::deferred[i];
sd->error("unable to resolve forward reference in definition");
}
fatal();
}

// Do pass 2 semantic analysis
for (size_t i = 0; i < modules.dim; i++)
Expand Down
10 changes: 0 additions & 10 deletions src/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -769,16 +769,6 @@ void Module::semantic()

void Module::semantic2()
{
if (deferred.dim)
{
for (size_t i = 0; i < deferred.dim; i++)
{
Dsymbol *sd = deferred[i];

sd->error("unable to resolve forward reference in definition");
}
return;
}
//printf("Module::semantic2('%s'): parent = %p\n", toChars(), parent);
if (semanticstarted >= 2)
return;
Expand Down
15 changes: 0 additions & 15 deletions test/compilable/test14317.d

This file was deleted.

30 changes: 0 additions & 30 deletions test/fail_compilation/fail3753.d

This file was deleted.

16 changes: 0 additions & 16 deletions test/fail_compilation/fail4611.d

This file was deleted.