Commit 1810c6a7 authored by Michael Beck's avatar Michael Beck
Browse files

- add type flags for constructors/destructors

[r25785]
parent 69d11aa4
......@@ -92,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;
......
......@@ -139,13 +139,15 @@ typedef union {
/** Additional type flags. */
enum type_flags {
tf_none = 0, /**< No flags. */
tf_frame_type = 1, /**< Set if this is a frame type. */
tf_value_param_type = 2, /**< Set if this is a value param type. */
tf_lowered_type = 4, /**< Set if this is a lowered type. */
tf_layout_fixed = 8, /**< Set if the layout of a type is fixed */
tf_global_type = 16, /**< Set only for the global type */
tf_tls_type = 32, /**< Set only for the tls type */
tf_none = 0, /**< No flags. */
tf_frame_type = 1, /**< Set if this is a frame type. */
tf_value_param_type = 2, /**< Set if this is a value param type. */
tf_lowered_type = 4, /**< Set if this is a lowered type. */
tf_layout_fixed = 8, /**< Set if the layout of a type is fixed */
tf_global_type = 16, /**< Set only for the global type */
tf_tls_type = 32, /**< Set only for the tls type */
tf_constructors = 64, /**< Set only for the constructors segment type */
tf_destructors = 128, /**< Set only for the destructors segment type */
};
/**
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment