diff options
| author | Richard Kenner <kenner@gnat.com> | 2001-10-26 16:01:07 +0000 |
|---|---|---|
| committer | Geert Bosch <bosch@gcc.gnu.org> | 2001-10-26 18:01:07 +0200 |
| commit | 7a3a8c068bfe942e28089b7a07a32690edad14ea (patch) | |
| tree | ed4707cd5dcbe013280768918cb414abc1be1092 /gcc/ada/trans.c | |
| parent | b403bd177c82c7ec36f72c07caa0f08bf5a49d93 (diff) | |
| download | gcc-7a3a8c068bfe942e28089b7a07a32690edad14ea.zip gcc-7a3a8c068bfe942e28089b7a07a32690edad14ea.tar.gz gcc-7a3a8c068bfe942e28089b7a07a32690edad14ea.tar.bz2 | |
decl.c (gnat_to_gnu_entity, [...]): Make constant variant of designated type for Is_Access_Constant.
* decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
Make constant variant of designated type for Is_Access_Constant.
Call update_pointer_to with main variant.
* trans.c (process_freeze_entity, process_type):
Call update_pointer_to on main variant.
* utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
If main variant, update all other variants.
* utils2.c (build_unary_op, case INDIRECT_REF): No longer set
TREE_STATIC.
From-SVN: r46547
Diffstat (limited to 'gcc/ada/trans.c')
| -rw-r--r-- | gcc/ada/trans.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ada/trans.c b/gcc/ada/trans.c index 861c3ea..61f90f9 100644 --- a/gcc/ada/trans.c +++ b/gcc/ada/trans.c @@ -4048,7 +4048,8 @@ process_freeze_entity (gnat_node) if (gnu_old != 0) { DECL_NAME (gnu_new) = DECL_NAME (gnu_old); - update_pointer_to (TREE_TYPE (gnu_old), TREE_TYPE (gnu_new)); + update_pointer_to (TYPE_MAIN_VARIANT (TREE_TYPE (gnu_old)), + TREE_TYPE (gnu_new)); } } @@ -4725,7 +4726,8 @@ process_type (gnat_entity) /* If we have an old type and we've made pointers to this type, update those pointers. */ if (gnu_old != 0) - update_pointer_to (TREE_TYPE (gnu_old), TREE_TYPE (gnu_new)); + update_pointer_to (TYPE_MAIN_VARIANT (TREE_TYPE (gnu_old)), + TREE_TYPE (gnu_new)); /* If this is a record type corresponding to a task or protected type that is a completion of an incomplete type, perform a similar update @@ -4744,7 +4746,8 @@ process_type (gnat_entity) save_gnu_tree (Corresponding_Concurrent_Type (gnat_entity), gnu_new, 0); - update_pointer_to (TREE_TYPE (gnu_task_old), TREE_TYPE (gnu_new)); + update_pointer_to (TYPE_MAIN_VARIANT (TREE_TYPE (gnu_task_old)), + TREE_TYPE (gnu_new)); } } |
