d: Fix run-time SIGSEGV reading ModuleInfo.flags()
The current forced alignment is not necessary, and is problematic on targets that have strict alignment rules. gcc/d/ChangeLog: 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. From-SVN: r270043
This commit is contained in:
parent
16216c7fbe
commit
1605fb3ed0
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue