Hi, This patch merges the D front-end and run-time library with upstream dmd f9efc98fd7, and standard library with phobos a3f22129d.
Synchronizing with the latest bug fixes in the v2.105.2 release. D front-end changes: - Import dmd v2.105.2. - A function with enum storage class is now deprecated. - Global variables can now be initialized with Associative Arrays. - Improvements for the C++ header generation of static variables used in a default argument context. D runtime changes: - Import druntime v2.105.2. - The `core.memory.GC' functions `GC.enable', `GC.disable', `GC.collect', and `GC.minimize' `have been marked `@safe'. Phobos changes: - Import phobos v2.105.2. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd f9efc98fd7. * dmd/VERSION: Bump version to v2.105.2. * d-builtins.cc (build_frontend_type): Update for new front-end interface. * d-diagnostic.cc (verrorReport): Don't emit tips when error gagging is turned on. * d-lang.cc (d_handle_option): Remove obsolete parameter. (d_post_options): Likewise. (d_read_ddoc_files): New function. (d_generate_ddoc_file): New function. (d_parse_file): Update for new front-end interface. * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Check for new front-end lowering of static associative arrays. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime f9efc98fd7. * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/internal/newaa.d. * libdruntime/Makefile.in: Regenerate. * src/MERGE: Merge upstream phobos a3f22129d. * testsuite/libphobos.hash/test_hash.d: Update test. * testsuite/libphobos.phobos/phobos.exp: Add compiler flags -Wno-deprecated. * testsuite/libphobos.phobos_shared/phobos_shared.exp: Likewise. gcc/testsuite/ChangeLog: * lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options. --- gcc/d/d-builtins.cc | 3 +- gcc/d/d-diagnostic.cc | 5 +- gcc/d/d-lang.cc | 78 +++- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/VERSION | 2 +- gcc/d/dmd/attrib.d | 2 +- gcc/d/dmd/blockexit.d | 107 +++-- gcc/d/dmd/canthrow.d | 2 +- gcc/d/dmd/chkformat.d | 32 +- gcc/d/dmd/clone.d | 20 +- gcc/d/dmd/cond.d | 2 +- gcc/d/dmd/cparse.d | 11 +- gcc/d/dmd/cppmangle.d | 2 - gcc/d/dmd/ctfeexpr.d | 6 +- gcc/d/dmd/dcast.d | 13 +- gcc/d/dmd/dclass.d | 6 +- gcc/d/dmd/declaration.d | 7 +- gcc/d/dmd/delegatize.d | 1 - gcc/d/dmd/denum.d | 2 - gcc/d/dmd/dinterpret.d | 14 +- gcc/d/dmd/dmacro.d | 56 ++- gcc/d/dmd/dmodule.d | 4 +- gcc/d/dmd/doc.d | 353 ++++++++--------- gcc/d/dmd/doc.h | 3 +- gcc/d/dmd/dscope.d | 1 + gcc/d/dmd/dstruct.d | 1 + gcc/d/dmd/dsymbol.d | 1 + gcc/d/dmd/dsymbolsem.d | 58 ++- gcc/d/dmd/dtemplate.d | 24 +- gcc/d/dmd/dtoh.d | 10 +- gcc/d/dmd/errors.h | 3 +- gcc/d/dmd/errorsink.d | 1 + gcc/d/dmd/escape.d | 40 +- gcc/d/dmd/expression.d | 47 ++- gcc/d/dmd/expression.h | 3 +- gcc/d/dmd/expressionsem.d | 109 ++--- gcc/d/dmd/func.d | 21 +- gcc/d/dmd/globals.d | 33 +- gcc/d/dmd/globals.h | 35 +- gcc/d/dmd/hdrgen.d | 375 +++++++++--------- gcc/d/dmd/hdrgen.h | 4 +- gcc/d/dmd/iasmgcc.d | 2 +- gcc/d/dmd/id.d | 2 + gcc/d/dmd/init.d | 2 +- gcc/d/dmd/initsem.d | 31 +- gcc/d/dmd/json.d | 23 +- gcc/d/dmd/json.h | 2 +- gcc/d/dmd/lexer.d | 88 +++- gcc/d/dmd/location.d | 20 +- gcc/d/dmd/module.h | 2 +- gcc/d/dmd/mtype.d | 55 ++- gcc/d/dmd/mtype.h | 5 +- gcc/d/dmd/opover.d | 8 +- gcc/d/dmd/optimize.d | 28 +- gcc/d/dmd/parse.d | 110 +++-- gcc/d/dmd/printast.d | 2 +- gcc/d/dmd/safe.d | 23 +- gcc/d/dmd/semantic2.d | 53 +++ gcc/d/dmd/semantic3.d | 14 +- gcc/d/dmd/statement.d | 117 +----- gcc/d/dmd/statement.h | 3 +- gcc/d/dmd/statementsem.d | 293 +++++++------- gcc/d/dmd/tokens.d | 22 +- gcc/d/dmd/tokens.h | 1 + gcc/d/dmd/traits.d | 2 +- gcc/d/dmd/typesem.d | 19 +- gcc/d/dmd/utils.d | 24 +- gcc/d/expr.cc | 9 + .../compilable/dtoh_StructDeclaration.d | 15 + .../gdc.test/compilable/dtoh_functions.d | 4 +- .../gdc.test/compilable/issue22682.d | 8 + .../gdc.test/compilable/obsolete_body.d | 5 + .../gdc.test/compilable/shortened_methods.d | 5 + gcc/testsuite/gdc.test/compilable/test23145.d | 13 +- gcc/testsuite/gdc.test/compilable/test24066.d | 11 + gcc/testsuite/gdc.test/compilable/test24107.d | 17 + gcc/testsuite/gdc.test/compilable/test24109.d | 17 + gcc/testsuite/gdc.test/compilable/test24118.d | 15 + .../gdc.test/fail_compilation/aa_init.d | 16 + .../gdc.test/fail_compilation/body.d | 11 - .../gdc.test/fail_compilation/chkformat.d | 2 + .../gdc.test/fail_compilation/dephexstrings.d | 9 - .../gdc.test/fail_compilation/diag10169.d | 3 +- .../gdc.test/fail_compilation/diag10783.d | 5 +- .../gdc.test/fail_compilation/diag12063.d | 42 +- .../gdc.test/fail_compilation/diag12829.d | 13 +- .../gdc.test/fail_compilation/diag13609a.d | 7 +- .../gdc.test/fail_compilation/diag14145.d | 9 +- .../gdc.test/fail_compilation/diag15713.d | 9 +- .../gdc.test/fail_compilation/diag3913.d | 6 +- .../gdc.test/fail_compilation/diag5385.d | 24 +- .../gdc.test/fail_compilation/diag7477.d | 4 +- .../gdc.test/fail_compilation/diag8697.d | 3 +- .../gdc.test/fail_compilation/diag8894.d | 12 +- .../fail_compilation/dip1000_deprecation.d | 19 +- .../gdc.test/fail_compilation/dip22a.d | 12 +- .../gdc.test/fail_compilation/enum_function.d | 9 +- .../gdc.test/fail_compilation/fail10528.d | 20 +- .../gdc.test/fail_compilation/fail10534.d | 32 +- .../gdc.test/fail_compilation/fail109.d | 2 +- .../gdc.test/fail_compilation/fail121.d | 5 +- .../gdc.test/fail_compilation/fail136.d | 2 +- .../gdc.test/fail_compilation/fail17570.d | 7 +- .../gdc.test/fail_compilation/fail17969.d | 3 +- .../gdc.test/fail_compilation/fail18219.d | 9 +- .../gdc.test/fail_compilation/fail18892.d | 6 +- .../gdc.test/fail_compilation/fail18970.d | 10 +- .../gdc.test/fail_compilation/fail18979.d | 3 +- .../gdc.test/fail_compilation/fail1900.d | 6 +- .../gdc.test/fail_compilation/fail19076.d | 5 +- .../gdc.test/fail_compilation/fail19103.d | 8 +- .../gdc.test/fail_compilation/fail196.d | 49 ++- .../gdc.test/fail_compilation/fail20637.d | 3 +- .../gdc.test/fail_compilation/fail22054.d | 10 +- .../gdc.test/fail_compilation/fail22529.d | 2 +- .../gdc.test/fail_compilation/fail23109.d | 2 + .../gdc.test/fail_compilation/fail61.d | 11 +- .../gdc.test/fail_compilation/fail7861.d | 3 +- .../gdc.test/fail_compilation/fail9.d | 3 +- .../gdc.test/fail_compilation/fail_scope.d | 30 +- .../fail_compilation/faildottypeinfo.d | 5 +- .../gdc.test/fail_compilation/fnconstraint.d | 11 +- .../gdc.test/fail_compilation/goto_skip.d | 57 +++ .../gdc.test/fail_compilation/ice10713.d | 3 +- .../gdc.test/fail_compilation/ice10938.d | 5 +- .../gdc.test/fail_compilation/ice11518.d | 6 +- .../gdc.test/fail_compilation/ice11982.d | 20 +- .../gdc.test/fail_compilation/ice8100.d | 7 +- .../gdc.test/fail_compilation/issue12652.d | 24 -- .../gdc.test/fail_compilation/issue22682.d | 18 + .../gdc.test/fail_compilation/lexer1.d | 4 +- .../gdc.test/fail_compilation/lexer2.d | 8 +- .../gdc.test/fail_compilation/main.d | 9 + .../fail_compilation/match_func_ptr.d | 17 + .../fail_compilation/misc_parser_err_cov1.d | 3 +- .../gdc.test/fail_compilation/nogc3.d | 18 +- .../gdc.test/fail_compilation/noreturn_expr.d | 16 + .../fail_compilation/noreturn_expr2.d | 14 + .../fail_compilation/operator_undefined.d | 20 + .../gdc.test/fail_compilation/parseStc.d | 6 +- .../gdc.test/fail_compilation/retscope.d | 2 +- .../gdc.test/fail_compilation/skip.d | 6 +- .../gdc.test/fail_compilation/switch_skip.d | 48 +++ .../gdc.test/fail_compilation/switches.d | 68 +--- .../gdc.test/fail_compilation/test13536.d | 7 +- .../gdc.test/fail_compilation/test15785.d | 5 +- .../gdc.test/fail_compilation/test15897.d | 3 +- .../gdc.test/fail_compilation/test16188.d | 1 + .../gdc.test/fail_compilation/test16193.d | 5 +- .../gdc.test/fail_compilation/test16365.d | 9 +- .../gdc.test/fail_compilation/test17380spec.d | 7 +- .../gdc.test/fail_compilation/test20655.d | 32 ++ .../gdc.test/fail_compilation/test21353.d | 13 +- .../gdc.test/fail_compilation/test21912.d | 20 +- .../gdc.test/fail_compilation/test22329.d | 3 +- .../gdc.test/fail_compilation/test23112.d | 3 +- .../gdc.test/fail_compilation/test24015.d | 20 + .../gdc.test/fail_compilation/test24036.d | 21 + .../gdc.test/fail_compilation/test24065.d | 18 + .../gdc.test/fail_compilation/test24084.d | 28 ++ .../gdc.test/fail_compilation/test24110.d | 12 + .../gdc.test/fail_compilation/testOpApply.d | 16 +- .../gdc.test/fail_compilation/testsemi.d | 3 +- gcc/testsuite/gdc.test/runnable/staticaa.d | 126 ++++++ gcc/testsuite/gdc.test/runnable/test24078.d | 6 + gcc/testsuite/gdc.test/runnable/test24139.d | 25 ++ gcc/testsuite/lib/gdc-utils.exp | 3 + libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/Makefile.am | 6 +- libphobos/libdruntime/Makefile.in | 37 +- libphobos/libdruntime/core/internal/newaa.d | 144 +++++++ libphobos/libdruntime/core/stdc/math.d | 13 +- libphobos/libdruntime/core/stdcpp/string.d | 6 +- libphobos/libdruntime/core/sys/posix/fcntl.d | 21 + libphobos/libdruntime/core/sys/posix/signal.d | 22 +- .../libdruntime/core/sys/posix/sys/resource.d | 35 +- libphobos/libdruntime/core/sys/windows/sql.d | 4 + .../libdruntime/core/sys/windows/sqlext.d | 4 + .../libdruntime/core/sys/windows/sqltypes.d | 4 + .../libdruntime/core/sys/windows/sqlucode.d | 4 + .../libdruntime/core/sys/windows/winnt.d | 2 +- libphobos/libdruntime/object.d | 8 + libphobos/libdruntime/rt/aaA.d | 19 + libphobos/libdruntime/rt/minfo.d | 14 +- libphobos/src/MERGE | 2 +- libphobos/src/std/int128.d | 46 ++- libphobos/src/std/string.d | 1 + .../testsuite/libphobos.hash/test_hash.d | 4 +- .../testsuite/libphobos.phobos/phobos.exp | 2 +- .../libphobos.phobos_shared/phobos_shared.exp | 2 +- 190 files changed, 2771 insertions(+), 1427 deletions(-) create mode 100644 gcc/testsuite/gdc.test/compilable/issue22682.d create mode 100644 gcc/testsuite/gdc.test/compilable/obsolete_body.d create mode 100644 gcc/testsuite/gdc.test/compilable/test24066.d create mode 100644 gcc/testsuite/gdc.test/compilable/test24107.d create mode 100644 gcc/testsuite/gdc.test/compilable/test24109.d create mode 100644 gcc/testsuite/gdc.test/compilable/test24118.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/aa_init.d delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/body.d delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/dephexstrings.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/goto_skip.d delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/issue12652.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/issue22682.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/main.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/match_func_ptr.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/noreturn_expr.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/noreturn_expr2.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/operator_undefined.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/switch_skip.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test20655.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test24015.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test24036.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test24065.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test24084.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test24110.d create mode 100644 gcc/testsuite/gdc.test/runnable/staticaa.d create mode 100644 gcc/testsuite/gdc.test/runnable/test24078.d create mode 100644 gcc/testsuite/gdc.test/runnable/test24139.d create mode 100644 libphobos/libdruntime/core/internal/newaa.d
merge.patch.xz
Description: application/xz