(variable_size): If global_bindings_p < 0, don't even make the
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 28 Feb 1994 12:37:26 +0000 (07:37 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 28 Feb 1994 12:37:26 +0000 (07:37 -0500)
SAVE_EXPR.

From-SVN: r6674

gcc/stor-layout.c

index 0977b840d093c0971d7012fe2712c6e058c98ad3..8b464a31b9e09c81f492af915ff7d1bbc2fa7d75 100644 (file)
@@ -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");