diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-28 07:37:26 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-28 07:37:26 -0500 |
commit | 68de38314c2ee87564672eeb4e3cbb6d634d1442 (patch) | |
tree | 05c3a66cf723f258f22f0d64cfc682256422a7bf /gcc | |
parent | 72ba655679d88cd4f5bb2bbd716a6c44e2170394 (diff) | |
download | gcc-68de38314c2ee87564672eeb4e3cbb6d634d1442.zip gcc-68de38314c2ee87564672eeb4e3cbb6d634d1442.tar.gz gcc-68de38314c2ee87564672eeb4e3cbb6d634d1442.tar.bz2 |
(variable_size): If global_bindings_p < 0, don't even make the
SAVE_EXPR.
From-SVN: r6674
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/stor-layout.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 0977b84..8b464a3 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -1,5 +1,5 @@ /* C-compiler utilities for types and variables storage layout - Copyright (C) 1987, 1988, 1992, 1993 Free Software Foundation, Inc. + Copyright (C) 1987, 1988, 1992, 1993, 1994 Free Software Foundation, Inc. This file is part of GNU CC. @@ -82,15 +82,15 @@ tree variable_size (size) tree size; { - size = save_expr (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. */ if (global_bindings_p () < 0) return size; - else if (global_bindings_p ()) + size = save_expr (size); + + if (global_bindings_p ()) { if (TREE_CONSTANT (size)) error ("type size can't be explicitly evaluated"); |