From 1063147cc08d7f22bad9ad3bc0bf758b070611ca Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Wed, 4 Jun 2003 04:36:53 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/varasm.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e84b39f54ba..9b20061921e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-03 Roger Sayle + + * varasm.c (force_const_mem): Handle alignment of constants not + representable as a type in the front-end language. + 2003-06-03 Kazu Hirata * flow.c (initialize_uninitialized_subregs): Use diff --git a/gcc/varasm.c b/gcc/varasm.c index cf2722cf2e8..fec16d53196 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -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; -- 2.30.2