projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e6fe124
)
BugFix: allow method entities to be initialized by an const_initializer.
author
Michael Beck
<beck@ipd.info.uni-karlsruhe.de>
Sat, 6 Mar 2010 02:29:41 +0000
(
02:29
+0000)
committer
Michael Beck
<beck@ipd.info.uni-karlsruhe.de>
Sat, 6 Mar 2010 02:29:41 +0000
(
02:29
+0000)
[r27255]
ir/tr/entity.c
patch
|
blob
|
history
diff --git
a/ir/tr/entity.c
b/ir/tr/entity.c
index
157b746
..
dddb2d1
100644
(file)
--- a/
ir/tr/entity.c
+++ b/
ir/tr/entity.c
@@
-725,13
+725,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;