aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gnat.com>2001-10-10 21:48:38 +0000
committerGeert Bosch <bosch@gcc.gnu.org>2001-10-10 23:48:38 +0200
commitc2d7fe594673b58bcf1424ee3b0cfd8a180ba3b3 (patch)
treec7f7c2bcb76c9f454d8ad2d41ce302c26f0419d3 /gcc
parentfb75e1008f0b178cc11814e5c868fa3407b6f8cd (diff)
downloadgcc-c2d7fe594673b58bcf1424ee3b0cfd8a180ba3b3.zip
gcc-c2d7fe594673b58bcf1424ee3b0cfd8a180ba3b3.tar.gz
gcc-c2d7fe594673b58bcf1424ee3b0cfd8a180ba3b3.tar.bz2
decl.c: (gnat_to_gnu_entity...
* decl.c: (gnat_to_gnu_entity, case object): Also materialize VAR_DECL for constant if not Is_Public but -O0. From-SVN: r46160
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/decl.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 76bb2c8..194dde5 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * decl.c: (gnat_to_gnu_entity, case object): Also materialize
+ VAR_DECL for constant if not Is_Public but -O0.
+
2001-10-10 Richard Kenner <kenner@gnat.com>
* misc.c (struct lang_hooks): Add new initializer to match GCC change.
diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c
index c2acdbc..34a01cd 100644
--- a/gcc/ada/decl.c
+++ b/gcc/ada/decl.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * $Revision: 1.3 $
+ * $Revision$
* *
* Copyright (C) 1992-2001, Free Software Foundation, Inc. *
* *
@@ -1033,11 +1033,13 @@ gnat_to_gnu_entity (gnat_entity, gnu_expr, definition)
STACK_CHECK_MAX_VAR_SIZE))))
update_setjmp_buf (TREE_VALUE (gnu_block_stack));
- /* If this is a public constant and we're not making a VAR_DECL for
- it, make one just for export or debugger use. Likewise if
- the address is taken or if the object or type is aliased. */
+ /* If this is a public constant or we're not optimizing and we're not
+ making a VAR_DECL for it, make one just for export or debugger
+ use. Likewise if the address is taken or if the object or type is
+ aliased. */
if (definition && TREE_CODE (gnu_decl) == CONST_DECL
&& (Is_Public (gnat_entity)
+ || optimize == 0
|| Address_Taken (gnat_entity)
|| Is_Aliased (gnat_entity)
|| Is_Aliased (Etype (gnat_entity))))