diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-06-04 22:36:26 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-06-04 23:27:12 +0200 |
commit | 2cbc99d18dc411ac3fdef94e22ce86859806e63c (patch) | |
tree | 82939940413c5e726889ccd97fa2afd33e0b06be /gcc/d/modules.cc | |
parent | 4e05c918d28e3fa66f5baaf556f6886447c68c9a (diff) | |
download | gcc-2cbc99d18dc411ac3fdef94e22ce86859806e63c.zip gcc-2cbc99d18dc411ac3fdef94e22ce86859806e63c.tar.gz gcc-2cbc99d18dc411ac3fdef94e22ce86859806e63c.tar.bz2 |
d: Merge upstream dmd 48d704f08
Updates the Array interface in dmd/root/array.h to use a DArray<TYPE>
internally. Splits out BitArray into a separate header.
Reviewed-on: https://github.com/dlang/dmd/pull/11219
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.
Diffstat (limited to 'gcc/d/modules.cc')
-rw-r--r-- | gcc/d/modules.cc | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/gcc/d/modules.cc b/gcc/d/modules.cc index 4f54190..0ff4163 100644 --- a/gcc/d/modules.cc +++ b/gcc/d/modules.cc @@ -506,8 +506,8 @@ layout_moduleinfo_fields (Module *decl, tree type) /* Array of module imports is laid out as a length field, followed by a static array of ModuleInfo pointers. */ - size_t aimports_dim = decl->aimports.dim; - for (size_t i = 0; i < decl->aimports.dim; i++) + size_t aimports_dim = decl->aimports.length; + for (size_t i = 0; i < decl->aimports.length; i++) { Module *mi = decl->aimports[i]; if (!mi->needmoduleinfo) @@ -523,16 +523,17 @@ layout_moduleinfo_fields (Module *decl, tree type) /* Array of local ClassInfo decls are laid out in the same way. */ ClassDeclarations aclasses; - for (size_t i = 0; i < decl->members->dim; i++) + for (size_t i = 0; i < decl->members->length; i++) { Dsymbol *member = (*decl->members)[i]; member->addLocalClass (&aclasses); } - if (aclasses.dim) + if (aclasses.length) { layout_moduleinfo_field (size_type_node, type, offset); - layout_moduleinfo_field (make_array_type (Type::tvoidptr, aclasses.dim), + layout_moduleinfo_field (make_array_type (Type::tvoidptr, + aclasses.length), type, offset); } @@ -556,14 +557,14 @@ layout_moduleinfo (Module *decl) ClassDeclarations aclasses; FuncDeclaration *sgetmembers; - for (size_t i = 0; i < decl->members->dim; i++) + for (size_t i = 0; i < decl->members->length; i++) { Dsymbol *member = (*decl->members)[i]; member->addLocalClass (&aclasses); } - size_t aimports_dim = decl->aimports.dim; - for (size_t i = 0; i < decl->aimports.dim; i++) + size_t aimports_dim = decl->aimports.length; + for (size_t i = 0; i < decl->aimports.length; i++) { Module *mi = decl->aimports[i]; if (!mi->needmoduleinfo) @@ -589,7 +590,7 @@ layout_moduleinfo (Module *decl) flags |= MIunitTest; if (aimports_dim) flags |= MIimportedModules; - if (aclasses.dim) + if (aclasses.length) flags |= MIlocalClasses; if (!decl->needmoduleinfo) flags |= MIstandalone; @@ -652,7 +653,7 @@ layout_moduleinfo (Module *decl) tree satype = make_array_type (Type::tvoidptr, aimports_dim); size_t idx = 0; - for (size_t i = 0; i < decl->aimports.dim; i++) + for (size_t i = 0; i < decl->aimports.length; i++) { Module *mi = decl->aimports[i]; if (mi->needmoduleinfo) @@ -671,16 +672,16 @@ layout_moduleinfo (Module *decl) if (flags & MIlocalClasses) { vec<constructor_elt, va_gc> *elms = NULL; - tree satype = make_array_type (Type::tvoidptr, aclasses.dim); + tree satype = make_array_type (Type::tvoidptr, aclasses.length); - for (size_t i = 0; i < aclasses.dim; i++) + for (size_t i = 0; i < aclasses.length; i++) { ClassDeclaration *cd = aclasses[i]; CONSTRUCTOR_APPEND_ELT (elms, size_int (i), build_address (get_classinfo_decl (cd))); } - CONSTRUCTOR_APPEND_ELT (minit, NULL_TREE, size_int (aclasses.dim)); + CONSTRUCTOR_APPEND_ELT (minit, NULL_TREE, size_int (aclasses.length)); CONSTRUCTOR_APPEND_ELT (minit, NULL_TREE, build_constructor (satype, elms)); } @@ -722,7 +723,7 @@ build_module_tree (Module *decl) /* Layout module members. */ if (decl->members) { - for (size_t i = 0; i < decl->members->dim; i++) + for (size_t i = 0; i < decl->members->length; i++) { Dsymbol *s = (*decl->members)[i]; build_decl_tree (s); |