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
08043557
Commit
08043557
authored
Apr 29, 2004
by
Michael Beck
Browse files
Removed depency of USE_GCC_INLINE, fixed inlining (hopefully)
[r2814]
parent
837b1cd3
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
ir/adt/pdeq.c
View file @
08043557
...
...
@@ -32,14 +32,6 @@
/** Size of pdeq block cache */
#define TUNE_NSAVED_PDEQS 16
#ifndef INLINE
#ifdef USE_GCC_INLINE
#define INLINE inline
#else
#define INLINE
#endif
#endif
/* # of data items in block */
#define NDATA ((int)((PREF_MALLOC_SIZE - offsetof (pdeq, data)) / sizeof (void *)))
...
...
ir/adt/set.c
View file @
08043557
...
...
@@ -36,14 +36,6 @@
# include <config.h>
#endif
#ifndef INLINE
#ifdef USE_GCC_INLINE
#define INLINE inline
#else
#define INLINE
#endif
#endif
/* bcopy is not ISO C *
#define bcopy(X, Y, Z) memcpy((Y), (X), (Z))
*/
...
...
ir/ana/irouts.h
View file @
08043557
...
...
@@ -41,17 +41,17 @@
int
get_irn_n_outs
(
ir_node
*
node
);
/** Get predecessor n */
INLINE
ir_node
*
get_irn_out
(
ir_node
*
node
,
int
pos
);
ir_node
*
get_irn_out
(
ir_node
*
node
,
int
pos
);
/** Set predecessor n */
INLINE
void
set_irn_out
(
ir_node
*
node
,
int
pos
,
ir_node
*
out
);
void
set_irn_out
(
ir_node
*
node
,
int
pos
,
ir_node
*
out
);
/* Methods to iterate through the control flow graph. Iterate from 0 to
i < get_Block_cfg_outs(block). No order of successors guaranteed. */
int
get_Block_n_cfg_outs
(
ir_node
*
node
);
/** Access predecessor n. */
INLINE
ir_node
*
get_Block_cfg_out
(
ir_node
*
node
,
int
pos
);
ir_node
*
get_Block_cfg_out
(
ir_node
*
node
,
int
pos
);
#ifndef _IRG_WALK_FUNC_TYPEDEF_
#define _IRG_WALK_FUNC_TYPEDEF_
...
...
ir/common/firm_common.h
View file @
08043557
...
...
@@ -21,14 +21,6 @@
# ifndef _FIRM_COMMON_H_
# define _FIRM_COMMON_H_
#ifndef INLINE
#ifdef USE_GCC_INLINE
#define INLINE inline
#else
#define INLINE
#endif
#endif
/** a list of firm kinds
@@@ not all datatypes are tagged yet. */
typedef
enum
{
...
...
ir/debug/dbginfo.c
View file @
08043557
...
...
@@ -21,12 +21,12 @@
#include "entity_t.h"
INLINE
void
void
dbg_info_merge_pair
(
ir_node
*
nw
,
ir_node
*
old
,
dbg_action
info
)
{
set_irn_dbg_info
(
nw
,
get_irn_dbg_info
(
old
));
}
INLINE
void
void
dbg_info_merge_sets
(
ir_node
**
new_nodes
,
int
n_new_nodes
,
ir_node
**
old_nodes
,
int
n_old_nodes
,
dbg_action
info
)
{
...
...
@@ -49,12 +49,12 @@ void dbg_init( merge_pair_func *mpf, merge_sets_func *msf )
}
INLINE
void
void
set_irn_dbg_info
(
ir_node
*
n
,
struct
dbg_info
*
db
)
{
n
->
dbi
=
db
;
}
INLINE
struct
dbg_info
*
struct
dbg_info
*
get_irn_dbg_info
(
ir_node
*
n
)
{
return
n
->
dbi
;
}
...
...
@@ -62,17 +62,17 @@ get_irn_dbg_info(ir_node *n) {
/* Routines to access the field of an entity containing the
debugging information. */
INLINE
void
set_entity_dbg_info
(
entity
*
ent
,
dbg_info
*
db
)
{
void
set_entity_dbg_info
(
entity
*
ent
,
dbg_info
*
db
)
{
ent
->
dbi
=
db
;
}
INLINE
dbg_info
*
get_entity_dbg_info
(
entity
*
ent
)
{
dbg_info
*
get_entity_dbg_info
(
entity
*
ent
)
{
return
ent
->
dbi
;
}
/* Routines to access the field of a type containing the
debugging information. */
INLINE
void
set_type_dbg_info
(
type
*
tp
,
dbg_info
*
db
)
{
void
set_type_dbg_info
(
type
*
tp
,
dbg_info
*
db
)
{
tp
->
dbi
=
db
;
}
INLINE
dbg_info
*
get_type_dbg_info
(
type
*
tp
)
{
dbg_info
*
get_type_dbg_info
(
type
*
tp
)
{
return
tp
->
dbi
;
}
ir/debug/dbginfo.h
View file @
08043557
...
...
@@ -66,32 +66,32 @@ typedef struct dbg_info dbg_info;
/**
* Sets the debug information of a node.
*/
INLINE
void
set_irn_dbg_info
(
ir_node
*
n
,
dbg_info
*
db
);
void
set_irn_dbg_info
(
ir_node
*
n
,
dbg_info
*
db
);
/**
* Returns the debug information of an node.
*/
INLINE
dbg_info
*
get_irn_dbg_info
(
ir_node
*
n
);
dbg_info
*
get_irn_dbg_info
(
ir_node
*
n
);
/**
* Sets the debug information of an entity.
*/
INLINE
void
set_entity_dbg_info
(
entity
*
ent
,
dbg_info
*
db
);
void
set_entity_dbg_info
(
entity
*
ent
,
dbg_info
*
db
);
/**
* Returns the debug information of an entity.
*/
INLINE
dbg_info
*
get_entity_dbg_info
(
entity
*
ent
);
dbg_info
*
get_entity_dbg_info
(
entity
*
ent
);
/**
* Sets the debug information of a type.
*/
INLINE
void
set_type_dbg_info
(
type
*
tp
,
dbg_info
*
db
);
void
set_type_dbg_info
(
type
*
tp
,
dbg_info
*
db
);
/**
* Returns the debug information of a type.
*/
INLINE
dbg_info
*
get_type_dbg_info
(
type
*
tp
);
dbg_info
*
get_type_dbg_info
(
type
*
tp
);
/**
* An enumeration indicating the action performed by a transformation.
...
...
@@ -120,10 +120,10 @@ typedef enum {
* Converts enum values to strings.
*/
#ifdef __GNUC__
INLINE
static
const
char
*
dbg_action_2_str
(
dbg_action
)
__attribute__
((
unused
));
static
const
char
*
dbg_action_2_str
(
dbg_action
)
__attribute__
((
unused
));
#endif
INLINE
static
const
char
*
dbg_action_2_str
(
dbg_action
a
)
{
static
const
char
*
dbg_action_2_str
(
dbg_action
a
)
{
switch
(
a
)
{
case
dbg_error
:
return
"dbg_error"
;
break
;
case
dbg_opt_ssa
:
return
"dbg_opt_ssa"
;
break
;
...
...
ir/ident/ident.h
View file @
08043557
...
...
@@ -64,7 +64,7 @@ ident *new_id_from_str (const char *str);
*
* @see new_get_id_str(), get_id_strlen()
*/
INLINE
ident
*
id_from_str
(
const
char
*
str
,
int
len
);
ident
*
id_from_str
(
const
char
*
str
,
int
len
);
/**
* Returns a string represented by an ident.
...
...
@@ -78,7 +78,7 @@ INLINE ident *id_from_str (const char *str, int len);
*
* @see new_get_id_str(), id_from_str(), get_id_strlen()
*/
INLINE
const
char
*
get_id_str
(
ident
*
id
);
const
char
*
get_id_str
(
ident
*
id
);
#define id_to_str get_id_str
/**
...
...
@@ -90,7 +90,7 @@ INLINE const char *get_id_str (ident *id);
*
* @see new_get_id_str(), id_from_str(), get_id_str()
*/
INLINE
int
get_id_strlen
(
ident
*
id
);
int
get_id_strlen
(
ident
*
id
);
#define id_to_strlen get_id_strlen
/**
* Returns true if prefix is a prefix of an ident.
...
...
ir/ir/irflag.c
View file @
08043557
...
...
@@ -186,91 +186,3 @@ void restore_optimization_state(const optimization_state_t *state)
{
libFIRM_opt
=
*
state
;
}
/* repeat 'inline' methods here */
# ifndef USE_GCC_INLINE
/** Returns constant folding optimization setting. */
int
get_opt_cse
(
void
)
/* iropt.c */
{
return
libFIRM_opt
&
OPT_CSE
;
}
/** Returns constant subexpression elimination setting. */
int
get_opt_global_cse
(
void
)
/* irgopt.c iropt.c */
{
return
libFIRM_opt
&
OPT_GLOBAL_CSE
;
}
/** Returns global constant subexpression elimination setting. */
int
get_opt_constant_folding
(
void
)
/* iropt.c */
{
return
libFIRM_opt
&
OPT_CONSTANT_FOLDING
;
}
/** Returns unreachable code elimination setting. */
int
get_opt_unreachable_code
(
void
)
/* iropt.c */
{
return
libFIRM_opt
&
OPT_UNREACHABLE_CODE
;
}
/** Returns Straightening setting. */
int
get_opt_control_flow_straightening
(
void
)
/* iropt.c, irgopt.c */
{
return
libFIRM_opt
&
OPT_CONTROL_FLOW_STRAIGHTENING
;
}
/** Returns if simplifications in local optimizations setting. */
int
get_opt_control_flow_weak_simplification
(
void
)
/* iropt.c, irgopt.c */
{
return
libFIRM_opt
&
OPT_CONTROL_FLOW_WEAK_SIMPLIFICATION
;
}
/** Returns strong if and loop simplification setting */
int
get_opt_control_flow_strong_simplification
(
void
)
/* irgopt.c */
{
return
libFIRM_opt
&
OPT_CONTROL_FLOW_STRONG_SIMPLIFICATION
;
}
/** Returns whether critical edges are removed */
int
get_opt_critical_edges
(
void
)
/* irgopt.c */
{
return
libFIRM_opt
&
OPT_CRITICAL_EDGES
;
}
/** Returns reassociation setting. */
int
get_opt_reassociation
(
void
)
/* iropt.c */
{
return
libFIRM_opt
&
OPT_REASSOCIATION
;
}
/** Returns dead node elimination setting. */
int
get_opt_dead_node_elimination
(
void
)
/* irgopt.c */
{
return
libFIRM_opt
&
OPT_DEAD_NODE_ELIMINATION
;
}
/** Returns global optimization setting */
int
get_opt_optimize
(
void
)
/* iropt.c, irgopt.c */
{
return
libFIRM_opt
&
OPT_OPTIMIZED
;
}
/** Returns inlining setting. */
/* how appropriate */
int
get_opt_inline
(
void
)
/* irgopt.c */
{
return
libFIRM_opt
&
OPT_INLINE
;
}
int
get_opt_dyn_meth_dispatch
(
void
)
/* cgana.c */
{
return
libFIRM_opt
&
OPT_DYN_METH_DISPATCH
;
}
int
get_opt_normalize
(
void
)
/* irgopt.c, irnode.c, iropt.c */
{
return
libFIRM_opt
&
OPT_NORMALIZE
;
}
# endif
/* not defined USE_GCC_INLINE */
ir/ir/irgraph.h
View file @
08043557
...
...
@@ -174,7 +174,7 @@ void set_irg_unknown (ir_graph *irg, ir_node *node);
int
get_irg_n_locs
(
ir_graph
*
irg
);
INLINE
long
get_irg_graph_nr
(
ir_graph
*
irg
);
long
get_irg_graph_nr
(
ir_graph
*
irg
);
/********************************************************************************/
/* States of an ir_graph. */
...
...
ir/ir/irnode.c
View file @
08043557
This diff is collapsed.
Click to expand it.
ir/ir/irnode.h
View file @
08043557
This diff is collapsed.
Click to expand it.
ir/ir/irop.c
View file @
08043557
...
...
@@ -272,34 +272,3 @@ void set_op_pinned(ir_op *op, op_pinned pinned) {
if
(
op
==
op_Block
||
op
==
op_Phi
||
is_cfopcode
(
op
))
return
;
op
->
pinned
=
pinned
;
}
/* repeat 'inline' methods here */
# ifndef USE_GCC_INLINE
/** Returns the attribute size of nodes of this opcode.
@note Use not encouraged, internal feature. */
int
get_op_attr_size
(
const
ir_op
*
op
)
{
/* used in irnode.c */
return
op
->
attr_size
;
}
/** Returns non-zero if op is one of Start, End, Jmp, Cond, Return, Raise or Bad. */
int
is_cfopcode
(
const
ir_op
*
op
)
{
/* used in irnode.c */
return
op
->
flags
&
irop_flag_cfopcode
;
}
/** Returns true if the operation manipulates interprocedural control flow:
CallBegin, EndReg, EndExcept */
int
is_ip_cfopcode
(
const
ir_op
*
op
)
{
/* used in irnode.c */
return
op
->
flags
&
irop_flag_ip_cfopcode
;
}
/* Returns non-zero if operation is commutative */
int
is_op_commutative
(
const
ir_op
*
op
)
{
/* used in iropt.c */
return
op
->
flags
&
irop_flag_commutative
;
}
/* Returns non-zero if operation is fragile */
int
is_op_fragile
(
const
ir_op
*
op
)
{
/* used in irnode.c */
return
op
->
flags
&
irop_flag_fragile
;
}
# endif
/* not defined USE_GCC_INLINE */
ir/tr/entity.c
View file @
08043557
...
...
@@ -36,16 +36,11 @@ init_entity (void)
{
}
/*******************************************************************/
/** ENTITY **/
/*******************************************************************/
/* redeclared to declare INLINE. */
INLINE
entity
*
get_entity_overwrites
(
entity
*
ent
,
int
pos
);
INLINE
entity
*
get_entity_overwrittenby
(
entity
*
ent
,
int
pos
);
INLINE
type
*
get_entity_owner
(
entity
*
ent
);
/*-----------------------------------------------------------------*/
/* ENTITY */
/*-----------------------------------------------------------------*/
INLINE
void
insert_entity_in_owner
(
entity
*
ent
)
{
void
insert_entity_in_owner
(
entity
*
ent
)
{
type
*
owner
=
ent
->
owner
;
switch
(
get_type_tpop_code
(
owner
))
{
case
tpo_class
:
{
...
...
@@ -123,13 +118,13 @@ new_d_entity (type *owner, ident *name, type *type, dbg_info *db) {
return
res
;
}
INLINE
void
free_compound_graph_path
(
compound_graph_path
*
gr
);
INLINE
int
is_compound_graph_path
(
void
*
thing
);
INLINE
int
get_compound_graph_path_length
(
compound_graph_path
*
gr
);
INLINE
entity
*
get_compound_graph_path_node
(
compound_graph_path
*
gr
,
int
pos
);
INLINE
int
get_compound_ent_n_values
(
entity
*
ent
);
void
free_compound_graph_path
(
compound_graph_path
*
gr
);
int
is_compound_graph_path
(
void
*
thing
);
int
get_compound_graph_path_length
(
compound_graph_path
*
gr
);
entity
*
get_compound_graph_path_node
(
compound_graph_path
*
gr
,
int
pos
);
int
get_compound_ent_n_values
(
entity
*
ent
);
INLINE
void
free_entity_attrs
(
entity
*
ent
)
{
void
free_entity_attrs
(
entity
*
ent
)
{
int
i
;
assert
(
ent
);
if
(
get_type_tpop
(
get_entity_owner
(
ent
))
==
type_class
)
{
...
...
@@ -214,7 +209,7 @@ free_entity (entity *ent) {
}
/* Outputs a unique number for this node */
INLINE
long
long
get_entity_nr
(
entity
*
ent
)
{
assert
(
ent
);
#ifdef DEBUG_libfirm
...
...
@@ -224,7 +219,7 @@ get_entity_nr(entity *ent) {
#endif
}
INLINE
const
char
*
const
char
*
get_entity_name
(
entity
*
ent
)
{
assert
(
ent
);
return
get_id_str
(
get_entity_ident
(
ent
));
...
...
@@ -241,18 +236,18 @@ void set_entitye_ld_name (entity *, char *ld_name);
void set_entity_ld_ident (entity *, ident *ld_ident);
*/
INLINE
type
*
type
*
get_entity_owner
(
entity
*
ent
)
{
return
ent
->
owner
=
skip_tid
(
ent
->
owner
);
}
INLINE
void
void
set_entity_owner
(
entity
*
ent
,
type
*
owner
)
{
assert_legal_owner_of_ent
(
owner
);
ent
->
owner
=
owner
;
}
INLINE
void
/* should this go into type.c? */
void
/* should this go into type.c? */
assert_legal_owner_of_ent
(
type
*
owner
)
{
assert
(
get_type_tpop_code
(
owner
)
==
tpo_class
||
get_type_tpop_code
(
owner
)
==
tpo_union
||
...
...
@@ -261,7 +256,7 @@ assert_legal_owner_of_ent(type *owner) {
-- to select fields! */
}
INLINE
ident
*
ident
*
get_entity_ld_ident
(
entity
*
ent
)
{
if
(
ent
->
ld_name
==
NULL
)
...
...
@@ -269,12 +264,12 @@ get_entity_ld_ident (entity *ent)
return
ent
->
ld_name
;
}
INLINE
void
void
set_entity_ld_ident
(
entity
*
ent
,
ident
*
ld_ident
)
{
ent
->
ld_name
=
ld_ident
;
}
INLINE
const
char
*
const
char
*
get_entity_ld_name
(
entity
*
ent
)
{
return
get_id_str
(
get_entity_ld_ident
(
ent
));
}
...
...
@@ -284,23 +279,23 @@ char *get_entity_ld_name (entity *);
void set_entity_ld_name (entity *, char *ld_name);
*/
INLINE
type
*
type
*
get_entity_type
(
entity
*
ent
)
{
return
ent
->
type
=
skip_tid
(
ent
->
type
);
}
INLINE
void
void
set_entity_type
(
entity
*
ent
,
type
*
type
)
{
ent
->
type
=
type
;
}
INLINE
ent_allocation
ent_allocation
get_entity_allocation
(
entity
*
ent
)
{
return
ent
->
allocation
;
}
INLINE
void
void
set_entity_allocation
(
entity
*
ent
,
ent_allocation
al
)
{
ent
->
allocation
=
al
;
}
...
...
@@ -320,12 +315,12 @@ const char *get_allocation_name(ent_allocation all)
}
INLINE
ent_visibility
ent_visibility
get_entity_visibility
(
entity
*
ent
)
{
return
ent
->
visibility
;
}
INLINE
void
void
set_entity_visibility
(
entity
*
ent
,
ent_visibility
vis
)
{
if
(
vis
!=
visibility_local
)
assert
((
ent
->
allocation
==
allocation_static
)
||
...
...
@@ -348,12 +343,12 @@ const char *get_visibility_name(ent_visibility vis)
#undef X
}
INLINE
ent_variability
ent_variability
get_entity_variability
(
entity
*
ent
)
{
return
ent
->
variability
;
}
INLINE
void
void
set_entity_variability
(
entity
*
ent
,
ent_variability
var
)
{
if
(
var
==
variability_part_constant
)
...
...
@@ -389,13 +384,13 @@ const char *get_variability_name(ent_variability var)
#undef X
}
INLINE
ent_volatility
ent_volatility
get_entity_volatility
(
entity
*
ent
)
{
assert
(
ent
);
return
ent
->
volatility
;
}
INLINE
void
void
set_entity_volatility
(
entity
*
ent
,
ent_volatility
vol
)
{
assert
(
ent
);
ent
->
volatility
=
vol
;
...
...
@@ -413,13 +408,13 @@ const char *get_volatility_name(ent_volatility var)
#undef X
}
INLINE
peculiarity
peculiarity
get_entity_peculiarity
(
entity
*
ent
)
{
assert
(
ent
);
return
ent
->
peculiarity
;
}
INLINE
void
void
set_entity_peculiarity
(
entity
*
ent
,
peculiarity
pec
)
{
assert
(
ent
);
/* @@@ why peculiarity only for methods? */
...
...
@@ -441,7 +436,7 @@ const char *get_peculiarity_name(peculiarity var)
}
/* Set has no effect for existent entities of type method. */
INLINE
ir_node
*
ir_node
*
get_atomic_ent_value
(
entity
*
ent
)
{
assert
(
ent
);
...
...
@@ -450,7 +445,7 @@ get_atomic_ent_value(entity *ent)
return
ent
->
value
;
}
INLINE
void
void
set_atomic_ent_value
(
entity
*
ent
,
ir_node
*
val
)
{
assert
(
ent
&&
is_atomic_entity
(
ent
)
&&
(
ent
->
variability
!=
variability_uninitialized
));
if
(
is_method_type
(
ent
->
type
)
&&
(
ent
->
peculiarity
==
peculiarity_existent
))
...
...
@@ -525,21 +520,21 @@ new_compound_graph_path(type *tp, int length) {
return
res
;
}
INLINE
void
void
free_compound_graph_path
(
compound_graph_path
*
gr
)
{
assert
(
gr
&&
is_compound_graph_path
(
gr
));
gr
->
kind
=
k_BAD
;
free
(
gr
);
}
INLINE
int
int
is_compound_graph_path
(
void
*
thing
)
{
return
(
get_kind
(
thing
)
==
k_ir_compound_graph_path
);
}
/* checks whether nodes 0..pos are correct (all lie on a path.) */
/* @@@ not implemented */
INLINE
int
is_proper_compound_graph_path
(
compound_graph_path
*
gr
,
int
pos
)
{
int
is_proper_compound_graph_path
(
compound_graph_path
*
gr
,
int
pos
)
{
int
i
;
entity
*
node
;
type
*
owner
=
gr
->
tp
;
...
...
@@ -553,20 +548,20 @@ INLINE int is_proper_compound_graph_path(compound_graph_path *gr, int pos) {
return
true
;
}
INLINE
int
int
get_compound_graph_path_length
(
compound_graph_path
*
gr
)
{
assert
(
gr
&&
is_compound_graph_path
(
gr
));
return
gr
->
len
;
}
INLINE
entity
*
entity
*
get_compound_graph_path_node
(
compound_graph_path
*
gr
,
int
pos
)
{
assert
(
gr
&&
is_compound_graph_path
(
gr
));
assert
(
pos
>=
0
&&
pos
<
gr
->
len
);
return
gr
->
nodes
[
pos
];
}
INLINE
void
void
set_compound_graph_path_node
(
compound_graph_path
*
gr
,
int
pos
,
entity
*
node
)
{
assert
(
gr
&&
is_compound_graph_path
(
gr
));
assert
(
pos
>=
0
&&
pos
<
gr
->
len
);
...
...
@@ -577,33 +572,33 @@ set_compound_graph_path_node(compound_graph_path *gr, int pos, entity *node) {
/* A value of a compound entity is a pair of value and the corresponding path to a member of
the compound. */
INLINE
void
void
add_compound_ent_value_w_path
(
entity
*
ent
,
ir_node
*
val
,
compound_graph_path
*
path
)
{
assert
(
ent
&&
is_compound_entity
(
ent
)
&&
(
ent
->
variability
!=
variability_uninitialized
));
ARR_APP1
(
ir_node
*
,
ent
->
values
,
val
);
ARR_APP1
(
compound_graph_path
*
,
ent
->
val_paths
,
path
);
}
INLINE
void
void
set_compound_ent_value_w_path
(
entity
*
ent
,
ir_node
*
val
,
compound_graph_path
*
path
,
int
pos
)
{
assert
(
ent
&&
is_compound_entity
(
ent
)
&&
(
ent
->
variability
!=
variability_uninitialized
));
ent
->
values
[
pos
]
=
val
;
ent
->
val_paths
[
pos
]
=
path
;
}
INLINE
int
int
get_compound_ent_n_values
(
entity
*
ent
)
{
assert
(
ent
&&
is_compound_entity
(
ent
)
&&
(
ent
->
variability
!=
variability_uninitialized
));
return
(
ARR_LEN
(
ent
->
values
));
}
INLINE
ir_node
*
ir_node
*
get_compound_ent_value
(
entity
*
ent
,
int
pos
)
{
assert
(
ent
&&
is_compound_entity
(
ent
)
&&
(
ent
->
variability
!=
variability_uninitialized
));
return
ent
->
values
[
pos
];
}
INLINE
compound_graph_path
*
compound_graph_path
*
get_compound_ent_value_path
(
entity
*
ent
,
int
pos
)
{
assert
(
ent
&&
is_compound_entity
(
ent
)
&&
(
ent
->
variability
!=
variability_uninitialized
));
return
ent
->
val_paths
[
pos
];
...
...
@@ -627,7 +622,7 @@ remove_compound_ent_value(entity *ent, entity *value_ent) {
}