Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
1810c6a7
Commit
1810c6a7
authored
Apr 03, 2009
by
Michael Beck
Browse files
- add type flags for constructors/destructors
[r25785]
parent
69d11aa4
Changes
2
Hide whitespace changes
Inline
Side-by-side
ir/ir/irprog.c
View file @
1810c6a7
...
...
@@ -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
;
...
...
ir/tr/type_t.h
View file @
1810c6a7
...
...
@@ -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 */
};
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment