varasm.c (force_const_mem): Handle alignment of constants not representable as a type in the front-end language.

* varasm.c (force_const_mem): Handle alignment of constants not
	representable as a type in the front-end language.

From-SVN: r67416
This commit is contained in:
Roger Sayle 2003-06-04 04:36:53 +00:00 committed by Roger Sayle
parent 120c6dca56
commit 1063147cc0
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2003-06-03 Roger Sayle <roger@eyesopen.com>
* varasm.c (force_const_mem): Handle alignment of constants not
representable as a type in the front-end language.
2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
* flow.c (initialize_uninitialized_subregs): Use

View File

@ -3061,8 +3061,11 @@ force_const_mem (mode, x)
/* Align the location counter as required by EXP's data type. */
align = GET_MODE_ALIGNMENT (mode == VOIDmode ? word_mode : mode);
#ifdef CONSTANT_ALIGNMENT
align = CONSTANT_ALIGNMENT (make_tree ((*lang_hooks.types.type_for_mode)
(mode, 0), x), align);
{
tree type = (*lang_hooks.types.type_for_mode) (mode, 0);
if (type != NULL_TREE)
align = CONSTANT_ALIGNMENT (make_tree (type, x), align);
}
#endif
pool_offset += (align / BITS_PER_UNIT) - 1;