From: Richard Kenner Date: Sun, 11 Jun 1995 17:59:56 +0000 (-0400) Subject: (variable_size): Do nothing if SIZE is constant. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=76ffb3a0be0adcb96cfddc7cbd5bc1576386ee3d;p=gcc.git (variable_size): Do nothing if SIZE is constant. From-SVN: r9925 --- 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);