projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set svn:keywords property.
[libfirm]
/
ir
/
tr
/
entity.c
diff --git
a/ir/tr/entity.c
b/ir/tr/entity.c
index
2e10d6e
..
65af77b
100644
(file)
--- a/
ir/tr/entity.c
+++ b/
ir/tr/entity.c
@@
-530,7
+530,6
@@
void set_atomic_ent_value(ir_entity *entity, ir_node *val)
ir_initializer_t *initializer;
assert(is_atomic_entity(entity));
ir_initializer_t *initializer;
assert(is_atomic_entity(entity));
- assert(get_entity_peculiarity(entity) != peculiarity_description);
assert(is_Dummy(val) || get_irn_mode(val) == get_type_mode(entity->type));
initializer = create_initializer_const(val);
assert(is_Dummy(val) || get_irn_mode(val) == get_type_mode(entity->type));
initializer = create_initializer_const(val);
@@
-610,9
+609,7
@@
ir_node *copy_const_value(dbg_info *dbg, ir_node *n)
case iro_Unknown:
nn = new_Unknown(m); break;
default:
case iro_Unknown:
nn = new_Unknown(m); break;
default:
- assert(0 && "opcode invalid or not implemented");
- nn = NULL;
- break;
+ panic("opcode invalid or not implemented");
}
return nn;
} /* copy_const_value */
}
return nn;
} /* copy_const_value */
@@
-726,13
+723,17
@@
static void check_entity_initializer(ir_entity *entity)
{
#ifndef NDEBUG
ir_initializer_t *initializer = entity->initializer;
{
#ifndef NDEBUG
ir_initializer_t *initializer = entity->initializer;
+ ir_type *entity_tp = get_entity_type(entity);
switch (initializer->kind) {
case IR_INITIALIZER_COMPOUND:
switch (initializer->kind) {
case IR_INITIALIZER_COMPOUND:
- assert(is_compound_
entity(entity
));
+ assert(is_compound_
type(entity_tp
));
break;
case IR_INITIALIZER_CONST:
break;
case IR_INITIALIZER_CONST:
+ /* methods are initialized by a SymConst */
+ assert(is_atomic_type(entity_tp) || is_Method_type(entity_tp));
+ break;
case IR_INITIALIZER_TARVAL:
case IR_INITIALIZER_TARVAL:
- assert(is_atomic_
entity(entity
));
+ assert(is_atomic_
type(entity_tp
));
break;
case IR_INITIALIZER_NULL:
break;
break;
case IR_INITIALIZER_NULL:
break;