Hi,

This patch merges the D front-end/run-time library with upstream dmd
d579c467c1, and standard library with phobos 88aa69b14.

D front-end changes:

    - Throwing from contracts of `nothrow' functions has been
      deprecated, as this breaks the guarantees of `nothrow'.
    - Added language support for initializing the interior pointer of
      associative arrays using `new' keyword.

Phobos changes:

    - The std.digest.digest module has been removed.
    - The std.xml module has been removed.

Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32,
committed to mainline.

Regards,
Iain.

---
gcc/d/ChangeLog:

        * dmd/MERGE: Merge upstream dmd d579c467c1.
        * decl.cc (layout_struct_initializer): Update for new front-end
        interface.
        * expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array
        assignments.
        (ExprVisitor::visit (NewExp *)): Add new lowering of new'ing
        associative arrays to an _aaNew() library call.
        * runtime.def (ARRAYSETASSIGN): Remove.
        (AANEW): Define.

libphobos/ChangeLog:

        * libdruntime/MERGE: Merge upstream druntime d579c467c1.
        * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Remove
        rt/arrayassign.d.
        * libdruntime/Makefile.in: Regenerate.
        * src/MERGE: Merge upstream phobos 88aa69b14.
        * src/Makefile.am (PHOBOS_DSOURCES): Remove std/digest/digest.d,
        std/xml.d.
        * src/Makefile.in: Regenerate.
---
 gcc/d/decl.cc                                 |    2 +-
 gcc/d/dmd/MERGE                               |    2 +-
 gcc/d/dmd/aggregate.d                         |   13 +-
 gcc/d/dmd/aggregate.h                         |    2 +-
 gcc/d/dmd/apply.d                             |   25 +-
 gcc/d/dmd/arrayop.d                           |   12 +-
 gcc/d/dmd/attrib.d                            |    4 +-
 gcc/d/dmd/canthrow.d                          |    6 +-
 gcc/d/dmd/chkformat.d                         |  600 +---
 gcc/d/dmd/clone.d                             |    6 +-
 gcc/d/dmd/cparse.d                            |   19 +-
 gcc/d/dmd/dcast.d                             |    4 +-
 gcc/d/dmd/declaration.h                       |    4 +-
 gcc/d/dmd/dimport.d                           |    7 +-
 gcc/d/dmd/dinterpret.d                        |   12 +-
 gcc/d/dmd/dmangle.d                           |   17 +
 gcc/d/dmd/doc.d                               |    4 +-
 gcc/d/dmd/dsymbol.d                           |    6 +
 gcc/d/dmd/dsymbol.h                           |    2 +-
 gcc/d/dmd/dsymbolsem.d                        |   48 +-
 gcc/d/dmd/dtemplate.d                         |   71 +-
 gcc/d/dmd/escape.d                            |    5 +-
 gcc/d/dmd/expression.d                        |   20 +
 gcc/d/dmd/expression.h                        |   22 +-
 gcc/d/dmd/expressionsem.d                     |   92 +-
 gcc/d/dmd/func.d                              |   19 +-
 gcc/d/dmd/iasmgcc.d                           |    8 +-
 gcc/d/dmd/id.d                                |    2 +
 gcc/d/dmd/init.d                              |    1 +
 gcc/d/dmd/init.h                              |    1 +
 gcc/d/dmd/initsem.d                           |  553 +--
 gcc/d/dmd/lexer.d                             |    9 +-
 gcc/d/dmd/module.h                            |    2 +-
 gcc/d/dmd/mtype.d                             |  649 ++--
 gcc/d/dmd/mtype.h                             |    4 +-
 gcc/d/dmd/opover.d                            |    9 +-
 gcc/d/dmd/parse.d                             |  102 +-
 gcc/d/dmd/root/object.h                       |    2 +-
 gcc/d/dmd/semantic3.d                         |   40 +-
 gcc/d/dmd/transitivevisitor.d                 |   73 +-
 gcc/d/dmd/typesem.d                           |   18 +-
 gcc/d/expr.cc                                 |   33 +-
 gcc/d/runtime.def                             |    5 +-
 .../gdc.test/compilable/commontype.d          |   20 +-
 .../gdc.test/compilable/imports/cimports2a.i  |    4 +
 .../gdc.test/compilable/imports/cimports2b.i  |    4 +
 .../gdc.test/compilable/imports/format23327.d |    7 +
 .../compilable/imports/format23327/write.d    |    0
 .../gdc.test/compilable/segfaultgolf.d        |   50 +
 .../gdc.test/compilable/statictemplatethis.d  |   45 +
 gcc/testsuite/gdc.test/compilable/test13123.d |   38 +
 gcc/testsuite/gdc.test/compilable/test21243.d |   21 +
 gcc/testsuite/gdc.test/compilable/test21956.d |   16 +
 gcc/testsuite/gdc.test/compilable/test22674.d |   10 +
 gcc/testsuite/gdc.test/compilable/test23173.d |    6 +
 gcc/testsuite/gdc.test/compilable/test23258.d |   21 +
 gcc/testsuite/gdc.test/compilable/test23306.d |    7 +
 gcc/testsuite/gdc.test/compilable/test23327.d |    3 +
 gcc/testsuite/gdc.test/compilable/vararg.d    |   20 +
 .../gdc.test/fail_compilation/diag10169.d     |    2 +-
 .../gdc.test/fail_compilation/diag10783.d     |    2 +-
 .../gdc.test/fail_compilation/diag13528.d     |    6 +-
 .../gdc.test/fail_compilation/diag14145.d     |    2 +-
 .../gdc.test/fail_compilation/diag15713.d     |    2 +-
 .../gdc.test/fail_compilation/diag23355.d     |   16 +
 .../gdc.test/fail_compilation/diag3438.d      |    5 +-
 .../gdc.test/fail_compilation/diag3438b.d     |    9 -
 .../gdc.test/fail_compilation/diag8894.d      |    8 +-
 .../gdc.test/fail_compilation/dip22a.d        |    8 +-
 .../gdc.test/fail_compilation/e15876_1.d      |   15 +-
 .../gdc.test/fail_compilation/e15876_3.d      |   30 +-
 .../gdc.test/fail_compilation/e15876_4.d      |   26 +-
 .../gdc.test/fail_compilation/fail10968.d     |   31 +-
 .../gdc.test/fail_compilation/fail121.d       |    4 +-
 .../gdc.test/fail_compilation/fail13123.d     |   21 +
 .../gdc.test/fail_compilation/fail17646.d     |    5 +-
 .../gdc.test/fail_compilation/fail18892.d     |    4 +-
 .../gdc.test/fail_compilation/fail18970.d     |    4 +-
 .../gdc.test/fail_compilation/fail18979.d     |    2 +-
 .../gdc.test/fail_compilation/fail19103.d     |    4 +-
 .../gdc.test/fail_compilation/fail19687.d     |    2 +-
 .../gdc.test/fail_compilation/fail19913.d     |    2 +-
 .../gdc.test/fail_compilation/fail21243.d     |   19 +
 .../gdc.test/fail_compilation/fail23109.d     |    4 +-
 .../gdc.test/fail_compilation/fail7372.d      |   13 +
 .../fail_compilation/faildottypeinfo.d        |    2 +-
 .../gdc.test/fail_compilation/failoffset.d    |    2 +-
 .../gdc.test/fail_compilation/ice10938.d      |    2 +-
 .../gdc.test/fail_compilation/ice12174.d      |    2 +-
 .../gdc.test/fail_compilation/ice15855.d      |   24 +-
 .../gdc.test/fail_compilation/ice18469.d      |    2 +-
 .../gdc.test/fail_compilation/ice19755.d      |    2 +-
 .../fail_compilation/imports/fail7372.d       |    9 +
 .../fail_compilation/misc_parser_err_cov1.d   |    1 -
 .../gdc.test/fail_compilation/mixinprop.d     |   13 +
 .../gdc.test/fail_compilation/test15785.d     |    2 +-
 .../gdc.test/fail_compilation/test15897.d     |    2 +-
 .../gdc.test/fail_compilation/test16188.d     |    2 +-
 .../gdc.test/fail_compilation/test17380spec.d |    2 +-
 .../gdc.test/fail_compilation/test21096.d     |    6 +-
 .../gdc.test/fail_compilation/test22680.d     |   17 +
 gcc/testsuite/gdc.test/runnable/newaa.d       |   23 +
 gcc/testsuite/gdc.test/runnable/test23234.d   |   22 +
 gcc/testsuite/gdc.test/runnable/testassign.d  |   16 +
 libphobos/libdruntime/MERGE                   |    2 +-
 libphobos/libdruntime/Makefile.am             |   10 +-
 libphobos/libdruntime/Makefile.in             |   21 +-
 libphobos/libdruntime/__builtins.di           |    2 +-
 libphobos/libdruntime/core/demangle.d         |  250 +-
 .../core/internal/array/arrayassign.d         |  148 +
 libphobos/libdruntime/core/internal/dassert.d |    2 +-
 libphobos/libdruntime/core/internal/utf.d     |   21 +-
 libphobos/libdruntime/core/simd.d             |    2 +-
 libphobos/libdruntime/core/stdc/fenv.d        |    2 +-
 libphobos/libdruntime/core/stdc/math.d        |   11 +-
 .../libdruntime/core/sys/darwin/mach/loader.d |    2 +-
 libphobos/libdruntime/core/sys/linux/fcntl.d  |    2 +-
 libphobos/libdruntime/core/sys/posix/dlfcn.d  |    4 +-
 libphobos/libdruntime/core/sys/posix/mqueue.d |    4 +-
 libphobos/libdruntime/core/sys/posix/setjmp.d |   16 +
 libphobos/libdruntime/core/sys/posix/stdlib.d |   20 +-
 .../libdruntime/core/sys/posix/sys/types.d    |   12 +
 .../libdruntime/core/sys/windows/stacktrace.d |    3 +-
 libphobos/libdruntime/core/time.d             |    2 +-
 libphobos/libdruntime/object.d                |    3 +-
 libphobos/libdruntime/rt/arrayassign.d        |   60 -
 libphobos/libdruntime/rt/lifetime.d           |   60 -
 libphobos/src/MERGE                           |    2 +-
 libphobos/src/Makefile.am                     |    8 +-
 libphobos/src/Makefile.in                     |   14 +-
 libphobos/src/index.dd                        |    4 -
 libphobos/src/std/algorithm/comparison.d      |   20 +-
 libphobos/src/std/algorithm/iteration.d       |   17 +
 libphobos/src/std/algorithm/searching.d       |   76 +-
 libphobos/src/std/algorithm/sorting.d         |    4 +-
 libphobos/src/std/compiler.d                  |    2 +-
 libphobos/src/std/concurrency.d               |    7 +-
 libphobos/src/std/container/array.d           |   31 +-
 libphobos/src/std/container/dlist.d           |    2 +-
 libphobos/src/std/conv.d                      |   15 +-
 libphobos/src/std/datetime/stopwatch.d        |    2 +-
 libphobos/src/std/datetime/timezone.d         |    3 +-
 libphobos/src/std/digest/crc.d                |    8 +-
 libphobos/src/std/digest/digest.d             |    3 -
 .../building_blocks/affix_allocator.d         |    4 +-
 .../building_blocks/aligned_block_list.d      |   10 +-
 .../building_blocks/allocator_list.d          |   20 +-
 .../building_blocks/fallback_allocator.d      |   14 +-
 .../allocator/building_blocks/free_list.d     |    4 +-
 .../allocator/building_blocks/free_tree.d     |    4 +-
 .../allocator/building_blocks/quantizer.d     |    8 +-
 .../allocator/building_blocks/region.d        | 1111 +++---
 .../building_blocks/scoped_allocator.d        |    6 +-
 .../allocator/building_blocks/segregator.d    |    8 +-
 .../building_blocks/stats_collector.d         |    8 +-
 .../src/std/experimental/allocator/package.d  |   14 +-
 libphobos/src/std/file.d                      |    2 +-
 libphobos/src/std/format/package.d            |    2 +-
 .../src/std/internal/math/gammafunction.d     |    2 +-
 libphobos/src/std/logger/core.d               |   21 +-
 libphobos/src/std/net/curl.d                  |    8 +-
 libphobos/src/std/numeric.d                   |    4 +-
 libphobos/src/std/path.d                      |   29 +-
 libphobos/src/std/range/primitives.d          |   13 +-
 libphobos/src/std/socket.d                    |    4 +-
 libphobos/src/std/stdio.d                     |    5 +-
 libphobos/src/std/sumtype.d                   |   47 -
 libphobos/src/std/typecons.d                  |   40 +
 libphobos/src/std/uni/package.d               |    2 +-
 libphobos/src/std/utf.d                       |    2 +-
 libphobos/src/std/xml.d                       | 3113 -----------------
 171 files changed, 3282 insertions(+), 5304 deletions(-)
 create mode 100644 gcc/testsuite/gdc.test/compilable/imports/cimports2a.i
 create mode 100644 gcc/testsuite/gdc.test/compilable/imports/cimports2b.i
 create mode 100644 gcc/testsuite/gdc.test/compilable/imports/format23327.d
 create mode 100644 
gcc/testsuite/gdc.test/compilable/imports/format23327/write.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/segfaultgolf.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/statictemplatethis.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test13123.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test21243.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test21956.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test22674.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test23173.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test23258.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test23306.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test23327.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/vararg.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/diag23355.d
 delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/diag3438b.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail13123.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail21243.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail7372.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/imports/fail7372.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/mixinprop.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test22680.d
 create mode 100644 gcc/testsuite/gdc.test/runnable/newaa.d
 create mode 100644 gcc/testsuite/gdc.test/runnable/test23234.d
 delete mode 100644 libphobos/libdruntime/rt/arrayassign.d
 delete mode 100644 libphobos/src/std/digest/digest.d
 delete mode 100644 libphobos/src/std/xml.d

Attachment: merge.patch.gz
Description: application/gzip

Reply via email to