X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firprog.c;h=5f7fdf5bc704499c183d1c7162b58a0b46fa0cf6;hb=a947c2090825c6a49b3fbfaafc00c8c34d649a40;hp=43ab84d1ac4db94ff140c12e1da7a7d019ba1698;hpb=464ca23e15b5059d4f7f3b00d220659996104476;p=libfirm diff --git a/ir/ir/irprog.c b/ir/ir/irprog.c index 43ab84d1a..5f7fdf5bc 100644 --- a/ir/ir/irprog.c +++ b/ir/ir/irprog.c @@ -26,9 +26,7 @@ */ #include "config.h" -#ifdef HAVE_STRING_H -# include -#endif +#include #include "irprog_t.h" #include "irgraph_t.h" @@ -63,10 +61,7 @@ static ir_prog *new_incomplete_ir_prog(void) res->last_region_nr = 0; res->last_label_nr = 1; /* 0 is reserved as non-label */ res->max_irg_idx = 0; - -#ifdef DEBUG_libfirm res->max_node_nr = 0; -#endif #ifndef NDEBUG res->reserved_resources = 0; #endif @@ -97,13 +92,14 @@ static ir_prog *complete_ir_prog(ir_prog *irp) { /* Set these flags for debugging. */ irp->segment_types[IR_SEGMENT_GLOBAL]->flags |= tf_global_type; irp->segment_types[IR_SEGMENT_THREAD_LOCAL]->flags |= tf_tls_type; + irp->segment_types[IR_SEGMENT_CONSTRUCTORS]->flags |= tf_constructors; + irp->segment_types[IR_SEGMENT_DESTRUCTORS]->flags |= tf_destructors; /* The global type is a class, but we cannot derive from it, so set the final property to assist optimizations that checks for it. */ set_class_final(irp->segment_types[IR_SEGMENT_GLOBAL], 1); - irp->const_code_irg = new_const_code_irg(); - + irp->const_code_irg = new_const_code_irg(); irp->phase_state = phase_building; irp->outs_state = outs_none; irp->ip_outedges = NULL; @@ -431,7 +427,7 @@ int get_irp_n_asms(void) { /* Return the global asm include at position pos. */ ident *get_irp_asm(int pos) { - assert(pos <= 0 && pos < get_irp_n_asms()); + assert(0 <= pos && pos < get_irp_n_asms()); return irp->global_asms[pos]; }