Commit ba436c3b by Eric Botcazou Committed by Eric Botcazou

decl.c (gnat_to_gnu_entity): Do not force BIGGEST_ALIGNMENT when capping the…

decl.c (gnat_to_gnu_entity): Do not force BIGGEST_ALIGNMENT when capping the alignment of records with...

	* decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
	BIGGEST_ALIGNMENT when capping the alignment of records with
	strict alignment and size clause.

From-SVN: r133031
parent 6ab36dac
2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
* decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
BIGGEST_ALIGNMENT when capping the alignment of records with
strict alignment and size clause.
2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
* lang-specs.h: Pass -gnatwa if -Wall is passed.
* misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
and -Wuninitialized.
......@@ -2575,8 +2575,9 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
&& Known_Static_Esize (gnat_entity))
{
unsigned int raw_size = UI_To_Int (Esize (gnat_entity));
TYPE_ALIGN (gnu_type)
= MIN (BIGGEST_ALIGNMENT, raw_size & -raw_size);
unsigned int raw_align = raw_size & -raw_size;
if (raw_align < BIGGEST_ALIGNMENT)
TYPE_ALIGN (gnu_type) = raw_align;
}
else
TYPE_ALIGN (gnu_type) = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment