aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/d/ChangeLog6
-rw-r--r--gcc/d/modules.cc4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index 39df9b8..bb2a2370 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -1,3 +1,9 @@
+2019-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/88462
+ * modules.cc (layout_moduleinfo_fields): Properly align ModuleInfo,
+ instead of forcing alignment to be 1.
+
2019-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/89017
diff --git a/gcc/d/modules.cc b/gcc/d/modules.cc
index a1fc534..e9bd441 100644
--- a/gcc/d/modules.cc
+++ b/gcc/d/modules.cc
@@ -534,7 +534,9 @@ layout_moduleinfo_fields (Module *decl, tree type)
layout_moduleinfo_field (make_array_type (Type::tchar, namelen),
type, offset);
- finish_aggregate_type (offset, 1, type, NULL);
+ size_t alignsize = MAX (TYPE_ALIGN_UNIT (type),
+ TYPE_ALIGN_UNIT (ptr_type_node));
+ finish_aggregate_type (offset, alignsize, type, NULL);
return type;
}