projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1ab0f17
)
Added warning if method without implementation is called.
author
Götz Lindenmaier
<goetz@ipd.info.uni-karlsruhe.de>
Thu, 20 Jun 2002 13:19:52 +0000
(13:19 +0000)
committer
Götz Lindenmaier
<goetz@ipd.info.uni-karlsruhe.de>
Thu, 20 Jun 2002 13:19:52 +0000
(13:19 +0000)
[r412]
ir/ana/cgana.c
patch
|
blob
|
history
diff --git
a/ir/ana/cgana.c
b/ir/ana/cgana.c
index
db38379
..
f117521
100644
(file)
--- a/
ir/ana/cgana.c
+++ b/
ir/ana/cgana.c
@@
-148,7
+148,16
@@
static void sel_methods_walker(ir_node * node, pmap * ldname_map) {
/* Die Sel-Operation kann nie einen Zeiger auf eine aufrufbare
* Methode zurückgeben. Damit ist sie insbesondere nicht
* ausführbar und nicht erreichbar. */
/* Die Sel-Operation kann nie einen Zeiger auf eine aufrufbare
* Methode zurückgeben. Damit ist sie insbesondere nicht
* ausführbar und nicht erreichbar. */
- exchange(node, new_Bad());
+ /* Gib eine Warnung aus wenn die Entitaet eine Beschreibung ist
+ fuer die es keine Implementierung gibt. */
+ if (get_entity_peculiarity(ent) == description) {
+ /* @@@ GL Methode um Fehler anzuzeigen aufrufen! */
+ xprintf("WARNING: Calling method description %I in method %I which has "
+ "no implementation!\n", get_entity_ident(ent),
+ get_entity_ident(get_irg_ent(current_ir_graph)));
+ } else {
+ exchange(node, new_Bad());
+ }
} else {
entity ** arr = get_entity_link(ent);
if (ARR_LEN(arr) == 1 && arr[0] != NULL) {
} else {
entity ** arr = get_entity_link(ent);
if (ARR_LEN(arr) == 1 && arr[0] != NULL) {
@@
-157,7
+166,8
@@
static void sel_methods_walker(ir_node * node, pmap * ldname_map) {
* Sel-Operation durch eine Const- bzw. SymConst-Operation
* ersetzen. */
if (get_entity_visibility(arr[0]) == external_allocated) {
* Sel-Operation durch eine Const- bzw. SymConst-Operation
* ersetzen. */
if (get_entity_visibility(arr[0]) == external_allocated) {
- exchange(node, new_SymConst((type_or_id_p) get_entity_ld_ident(arr[0]), linkage_ptr_info));
+ exchange(node, new_SymConst((type_or_id_p) get_entity_ld_ident(arr[0]),
+ linkage_ptr_info));
} else {
exchange(node, new_Const(mode_p, tarval_p_from_entity(arr[0])));
}
} else {
exchange(node, new_Const(mode_p, tarval_p_from_entity(arr[0])));
}