From fc2690f1f29cc89ad0688edadb1826455853e656 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=B6tz=20Lindenmaier?= Date: Wed, 4 Jul 2001 12:02:11 +0000 Subject: [PATCH] set routine for entity mangled name. [r216] --- ir/tr/entity.c | 12 ++++++++---- ir/tr/entity.h | 10 +++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/ir/tr/entity.c b/ir/tr/entity.c index 001060282..6c94473de 100644 --- a/ir/tr/entity.c +++ b/ir/tr/entity.c @@ -102,16 +102,20 @@ assert_legal_owner_of_ent(type *owner) { } inline ident * -get_entity_ld_name (entity *ent) +get_entity_ld_ident (entity *ent) { - if (ent->ld_name != NULL) return ent->ld_name; - return mangle_entity (ent); + if (ent->ld_name == NULL) + ent->ld_name = mangle_entity (ent); + return ent->ld_name; +} + +void set_entity_ld_ident (entity *, ident *ld_ident) { + ent->ld_name = ld_ident; } /* char *get_entity_ld_name (entity *); void set_entity_ld_name (entity *, char *ld_name); -void set_entity_ld_ident (entity *, ident *ld_ident); */ inline type * diff --git a/ir/tr/entity.h b/ir/tr/entity.h index 1239ba3f7..ad18f75a7 100644 --- a/ir/tr/entity.h +++ b/ir/tr/entity.h @@ -79,15 +79,15 @@ entity *new_entity (type *owner, ident *name, type *type); /* manipulate fields of entity */ const char *get_entity_name (entity *ent); ident *get_entity_ident (entity *ent); -/* returns the mangled name of the entity */ -ident *get_entity_ld_name (entity *ent); +/* returns the mangled name of the entity. If the mangled name is + set it returns the existing name. Else it generates a name + with mangle_entity() and remembers this new name internally. */ +ident *get_entity_ld_ident (entity *ent); +void set_entity_ld_ident (entity *ent, ident *ld_ident); /* char *get_entity_ld_name (entity *ent); void set_entity_ld_name (entity *ent, char *ld_name); - -ident *get_entity_ld_ident (entity *ent); -void set_entity_ld_ident (entity *ent, ident *ld_ident); */ type *get_entity_owner (entity *ent); -- 2.20.1