* methods that are 'free', i.e., their adress is handled by
* the program directly, or they are visible external.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
-#ifdef HAVE_STRING_H
# include <string.h>
-#endif
#include "cgana.h"
#include "rta.h"
#include "irdump.h"
-#include "irhooks.h"
-
-
-
/* unambiguous address used as a mark. */
static void *MARK = &MARK;
* op_Tuple oder ein Knoten, der in "free_ana_walker" behandelt
* wird. */
ir_node * pred = get_Proj_pred(node);
- if (get_irn_link(pred) != MARK && get_irn_op(pred) == op_Tuple) {
+ if (get_irn_link(pred) != MARK && is_Tuple(pred)) {
free_mark_proj(get_Tuple_pred(pred, get_Proj_proj(node)), n, set);
} else {
/* nothing: da in "free_ana_walker" behandelt. */
if (is_method_entity(ent)) {
eset_insert(set, ent);
}
- } else {
- assert(get_SymConst_kind(node) == symconst_addr_name);
- /* nothing: SymConst points to extern method */
}
break;
/* Finally, transform the set into an array. */
*length = eset_count(free_set);
- arr = xmalloc(sizeof(ir_entity *) * (*length));
+ arr = XMALLOCN(ir_entity*, *length);
for (i = 0, ent = eset_first(free_set); ent; ent = eset_next(free_set)) {
arr[i++] = ent;
}