aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/dsymbolsem.d
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/dmd/dsymbolsem.d')
-rw-r--r--gcc/d/dmd/dsymbolsem.d13
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/d/dmd/dsymbolsem.d b/gcc/d/dmd/dsymbolsem.d
index 6697ad6..0f0ed2a 100644
--- a/gcc/d/dmd/dsymbolsem.d
+++ b/gcc/d/dmd/dsymbolsem.d
@@ -1383,10 +1383,14 @@ private extern(C++) final class DsymbolSemanticVisitor : Visitor
imp.semanticRun = PASS.semantic;
// Load if not already done so
- bool loadErrored = false;
if (!imp.mod)
{
- loadErrored = imp.load(sc);
+ // https://issues.dlang.org/show_bug.cgi?id=22857
+ // if parser errors occur when loading a module
+ // we should just stop compilation
+ if (imp.load(sc))
+ return;
+
if (imp.mod)
{
imp.mod.importAll(null);
@@ -1427,10 +1431,7 @@ private extern(C++) final class DsymbolSemanticVisitor : Visitor
imp.addPackageAccess(scopesym);
}
- if (!loadErrored)
- {
- imp.mod.dsymbolSemantic(null);
- }
+ imp.mod.dsymbolSemantic(null);
if (imp.mod.needmoduleinfo)
{