diff options
| -rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/ada/decl.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 76bb2c8c705..194dde5c00a 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 c2acdbcfc25..34a01cd275f 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)))) |

