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
dmd48d704f08.patch.gz
Description: application/gzip