Hi,

This patch merges the D front-end implementation with upstream dmd
47ed0330f.  Updates the Array interface in dmd/root/array to use a
DArray<TYPE> internally.  Splits out BitArray into a separate header.

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

Regards
Iain.


gcc/d/ChangeLog:

        * dmd/MERGE: Merge upstream dmd 48d704f08.
        * d-attribs.cc (build_attributes): Use new field name.
        * d-builtins.cc (build_frontend_type): Likewise.
        (maybe_set_builtin_1): Likewise.
        (d_maybe_set_builtin): Likewise.
        * d-codegen.cc (build_interface_binfo): Likewise.
        (identity_compare_p): Likewise.
        (lower_struct_comparison): Likewise.
        (build_struct_comparison): Likewise.
        (d_build_call): Likewise.
        (build_frame_type): Likewise.
        (build_closure): Likewise.
        * d-compiler.cc (Compiler::paintAsType): Likewise.
        (Compiler::loadModule): Likewise.
        * d-incpath.cc (add_globalpaths): Likewise.
        (add_filepaths): Likewise.
        (add_import_paths): Likewise.
        * d-lang.cc (deps_write): Likewise.
        (d_parse_file): Likewise.
        * decl.cc (gcc_attribute_p): Likewise.
        (base_vtable_offset): Likewise.
        (get_vtable_decl): Likewise.
        (build_class_instance): Likewise.
        * expr.cc (class ExprVisitor): Likewise.
        * modules.cc (layout_moduleinfo_fields): Likewise.
        (layout_moduleinfo): Likewise.
        (build_module_tree): Likewise.
        * toir.cc (class IRVisitor): Likewise.
        * typeinfo.cc (class TypeInfoVisitor): Likewise.
        (layout_classinfo_interfaces): Likewise.
        * types.cc (layout_aggregate_members): Likewise.
        (layout_aggregate_type): Likewise.
---
 gcc/d/d-attribs.cc           |   4 +-
 gcc/d/d-builtins.cc          |   8 +-
 gcc/d/d-codegen.cc           |  28 +--
 gcc/d/d-compiler.cc          |   8 +-
 gcc/d/d-incpath.cc           |  10 +-
 gcc/d/d-lang.cc              |  38 ++--
 gcc/d/decl.cc                |  44 ++--
 gcc/d/dmd/MERGE              |   2 +-
 gcc/d/dmd/access.c           |   6 +-
 gcc/d/dmd/apply.c            |   2 +-
 gcc/d/dmd/arrayop.c          |   6 +-
 gcc/d/dmd/arraytypes.h       |   3 +-
 gcc/d/dmd/attrib.c           |  90 ++++----
 gcc/d/dmd/blockexit.c        |   8 +-
 gcc/d/dmd/canthrow.c         |   8 +-
 gcc/d/dmd/clone.c            |  36 +--
 gcc/d/dmd/compiler.h         |   1 +
 gcc/d/dmd/cond.c             |   8 +-
 gcc/d/dmd/constfold.c        |  56 ++---
 gcc/d/dmd/cppmangle.c        |  14 +-
 gcc/d/dmd/ctfeexpr.c         |  90 ++++----
 gcc/d/dmd/dcast.c            |  48 ++--
 gcc/d/dmd/dclass.c           |  82 +++----
 gcc/d/dmd/declaration.c      |  62 ++----
 gcc/d/dmd/denum.c            |  20 +-
 gcc/d/dmd/dimport.c          |  24 +-
 gcc/d/dmd/dinterpret.c       | 170 +++++++--------
 gcc/d/dmd/dmangle.c          |   6 +-
 gcc/d/dmd/dmodule.c          |  62 +++---
 gcc/d/dmd/doc.c              |  52 ++---
 gcc/d/dmd/dscope.c           |   8 +-
 gcc/d/dmd/dstruct.c          |  48 ++--
 gcc/d/dmd/dsymbol.c          |  40 ++--
 gcc/d/dmd/dtemplate.c        | 410 +++++++++++++++++------------------
 gcc/d/dmd/escape.c           |  54 ++---
 gcc/d/dmd/expression.c       | 108 ++++-----
 gcc/d/dmd/expressionsem.c    | 110 +++++-----
 gcc/d/dmd/func.c             |  96 ++++----
 gcc/d/dmd/hdrgen.c           | 110 +++++-----
 gcc/d/dmd/iasmgcc.c          |   6 +-
 gcc/d/dmd/init.c             |  30 +--
 gcc/d/dmd/initsem.c          |  36 +--
 gcc/d/dmd/json.c             |  34 +--
 gcc/d/dmd/mtype.c            | 114 +++++-----
 gcc/d/dmd/mtype.h            |   2 +-
 gcc/d/dmd/nogc.c             |   4 +-
 gcc/d/dmd/nspace.c           |  18 +-
 gcc/d/dmd/opover.c           |  40 ++--
 gcc/d/dmd/optimize.c         |  18 +-
 gcc/d/dmd/parse.c            |  38 ++--
 gcc/d/dmd/root/array.h       | 227 +++++++++----------
 gcc/d/dmd/root/bitarray.h    |  32 +++
 gcc/d/dmd/root/dcompat.h     |  12 +
 gcc/d/dmd/root/filename.c    |   4 +-
 gcc/d/dmd/root/rmem.h        |  11 +-
 gcc/d/dmd/root/stringtable.h |   2 +-
 gcc/d/dmd/sapply.c           |   6 +-
 gcc/d/dmd/statement.c        |  44 ++--
 gcc/d/dmd/statementsem.c     |  96 ++++----
 gcc/d/dmd/traits.c           |  34 +--
 gcc/d/dmd/typesem.c          |   2 +-
 gcc/d/expr.cc                |  64 +++---
 gcc/d/modules.cc             |  29 +--
 gcc/d/toir.cc                |  24 +-
 gcc/d/typeinfo.cc            |  56 ++---
 gcc/d/types.cc               |  16 +-
 66 files changed, 1503 insertions(+), 1476 deletions(-)
 create mode 100644 gcc/d/dmd/root/bitarray.h

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

Reply via email to