aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/modules.cc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-06-04 22:36:26 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-06-04 23:27:12 +0200
commit2cbc99d18dc411ac3fdef94e22ce86859806e63c (patch)
tree82939940413c5e726889ccd97fa2afd33e0b06be /gcc/d/modules.cc
parent4e05c918d28e3fa66f5baaf556f6886447c68c9a (diff)
downloadgcc-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.cc29
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);