diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2024-01-16 19:57:40 +0100 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2024-02-03 00:16:55 +0100 |
commit | 838e706fa55b1798fb5f0242dbd90cd4d9817bbe (patch) | |
tree | ba9e9519442f8edea295b389e77e1183403d87d8 /gcc/d/dmd/dimport.d | |
parent | cfc6d9ae8143cf0e903384bc63e8d659ca1c9fe7 (diff) | |
download | gcc-838e706fa55b1798fb5f0242dbd90cd4d9817bbe.zip gcc-838e706fa55b1798fb5f0242dbd90cd4d9817bbe.tar.gz gcc-838e706fa55b1798fb5f0242dbd90cd4d9817bbe.tar.bz2 |
d: Merge upstream dmd, druntime f1a045928e
D front-end changes:
- Import dmd v2.106.1-rc.1.
- Unrecognized pragmas are no longer an error by default.
D runtime changes:
- Import druntime v2.106.1-rc.1.
gcc/d/ChangeLog:
* dmd/MERGE: Merge upstream dmd f1a045928e.
* dmd/VERSION: Bump version to v2.106.1-rc.1.
* gdc.texi (fignore-unknown-pragmas): Update documentation.
* d-builtins.cc (covariant_with_builtin_type_p): Update for new
front-end interface.
* d-lang.cc (d_parse_file): Likewise.
* typeinfo.cc (make_frontend_typeinfo): Likewise.
libphobos/ChangeLog:
* libdruntime/MERGE: Merge upstream druntime f1a045928e.
* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add
core/stdc/stdatomic.d.
* libdruntime/Makefile.in: Regenerate.
Diffstat (limited to 'gcc/d/dmd/dimport.d')
-rw-r--r-- | gcc/d/dmd/dimport.d | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/gcc/d/dmd/dimport.d b/gcc/d/dmd/dimport.d index 5c01a9f..51b9220 100644 --- a/gcc/d/dmd/dimport.d +++ b/gcc/d/dmd/dimport.d @@ -222,48 +222,6 @@ extern (C++) final class Import : Dsymbol return global.errors != errors; } - override void importAll(Scope* sc) - { - if (mod) return; // Already done - - /* - * https://issues.dlang.org/show_bug.cgi?id=15525 - * - * Loading the import has failed, - * most likely because of parsing errors. - * Therefore we cannot trust the resulting AST. - */ - if (load(sc)) - { - // https://issues.dlang.org/show_bug.cgi?id=23873 - // For imports that are not at module or function level, - // e.g. aggregate level, the import symbol is added to the - // symbol table and later semantic is performed on it. - // This leads to semantic analysis on an malformed AST - // which causes all kinds of segfaults. - // The fix is to note that the module has errors and avoid - // semantic analysis on it. - if(mod) - mod.errors = true; - return; - } - - if (!mod) return; // Failed - - if (sc.stc & STC.static_) - isstatic = true; - mod.importAll(null); - mod.checkImportDeprecation(loc, sc); - if (sc.explicitVisibility) - visibility = sc.visibility; - if (!isstatic && !aliasId && !names.length) - sc.scopesym.importScope(mod, visibility); - // Enable access to pkgs/mod as soon as posible, because compiler - // can traverse them before the import gets semantic (Issue: 21501) - if (!aliasId && !names.length) - addPackageAccess(sc.scopesym); - } - /******************************* * Mark the imported packages as accessible from the current * scope. This access check is necessary when using FQN b/c |