From 76ffb3a0be0adcb96cfddc7cbd5bc1576386ee3d Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sun, 11 Jun 1995 13:59:56 -0400 Subject: [PATCH] (variable_size): Do nothing if SIZE is constant. From-SVN: r9925 --- gcc/stor-layout.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 745a0c7b999..782ac07a7b9 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -80,7 +80,7 @@ get_pending_sizes () return chain; } -/* Given a size SIZE that isn't constant, return a SAVE_EXPR +/* Given a size SIZE that may not be a constant, return a SAVE_EXPR to serve as the actual size-expression for a type or decl. */ tree @@ -90,7 +90,8 @@ variable_size (size) /* If the language-processor is to take responsibility for variable-sized items (e.g., languages which have elaboration procedures like Ada), just return SIZE unchanged. Likewise for self-referential sizes. */ - if (global_bindings_p () < 0 || contains_placeholder_p (size)) + if (TREE_CONSTANT (size) + || global_bindings_p () < 0 || contains_placeholder_p (size)) return size; size = save_expr (size); -- 2.30.2