Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
92f36789
Commit
92f36789
authored
Jun 28, 2002
by
Götz Lindenmaier
Browse files
Added support for prculiarity "inherited"
[r422]
parent
b774ac26
Changes
3
Hide whitespace changes
Inline
Side-by-side
ir/tr/entity.c
View file @
92f36789
...
...
@@ -147,7 +147,7 @@ get_entity_ident (entity *ent) {
}
/*
void set_entity_ld_name (entity *, char *ld_name);
void set_entity
e
_ld_name (entity *, char *ld_name);
void set_entity_ld_ident (entity *, ident *ld_ident);
*/
...
...
ir/tr/entity.h
View file @
92f36789
...
...
@@ -85,6 +85,7 @@ typedef struct ir_graph ir_graph;
* external_visible, external_allocated)
* variability A flag indicating the variability of this entity (values:
* uninitialized, initalized, part_constant, constant)
* volatility @@@
* offset The offset of the entity within the compound object. Only set
* if the owner in the state "layout_fixed".
* overwrites A list of entities overwritten by this entity. This list is only
...
...
@@ -177,7 +178,8 @@ typedef enum {
be static_allocated. */
external_allocated
/* The entity is defined and allocated externally. This compilation
must not allocate memory for this entity. The entity must
be static_allocated. */
be static_allocated. This can also be an external defined
method. */
}
ent_visibility
;
ent_visibility
get_entity_visibility
(
entity
*
ent
);
...
...
ir/tr/type.h
View file @
92f36789
...
...
@@ -94,7 +94,7 @@ typedef struct ir_node ir_node;
* A fixed layout for enumeration types means that each enumeration
* is associated with an implementation value.
* visit A counter for walks of the type information.
* link A void* to associate some additional infor
a
mtion with the type.
* link A void* to associate some additional inform
a
tion with the type.
*
* These fields can only be accessed via access functions.
*
...
...
@@ -209,7 +209,11 @@ int is_type (void *thing);
* peculiarity The peculiarity of this class. If the class is of peculiarity
* "description" it only is a description of requirememts to a class,
* as, e.g., a Java interface. The class will never be allocated.
* Values: description, existent. Default: existent.
* Peculiatity inherited is only possible for entities. An entity
* is of peculiarity inherited if the compiler generated the entity
* to explicitly resolve inheritance. An inherited method entity has
* no value for irg.
* Values: description, existent, inherited. Default: existent.
*
* SOURCE
*/
...
...
@@ -273,6 +277,11 @@ void remove_class_supertype(type *clss, type *supertype);
typedef
enum
peculiarity
{
description
,
/* Represents only a description. The entity/type is never
allocated, no code/data exists for this entity/type. */
inherited
,
/* Describes explicitly that other entities are inherited
to the owner of this entity. Overwrites must refer to
at least one other entity. If this is a method entity
there exists no irg for this entity, only for one of
the overwritten ones. */
existent
/* The entity/type (can) exist. */
}
peculiarity
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment