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
0bce04d8
Commit
0bce04d8
authored
Nov 03, 2011
by
Matthias Braun
Browse files
irverify: switch entry modes must match selector
parent
00ed6b06
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/ir/irverify.c
View file @
0bce04d8
...
...
@@ -882,6 +882,8 @@ static int verify_switch_table(const ir_node *n)
const
ir_switch_table
*
table
=
get_Switch_table
(
n
);
size_t
n_entries
=
ir_switch_table_get_n_entries
(
table
);
unsigned
n_outs
=
get_Switch_n_outs
(
n
);
ir_node
*
selector
=
get_Switch_selector
(
n
);
ir_mode
*
mode
=
get_irn_mode
(
selector
);
size_t
e
;
for
(
e
=
0
;
e
<
n_entries
;
++
e
)
{
...
...
@@ -891,6 +893,9 @@ static int verify_switch_table(const ir_node *n)
continue
;
ASSERT_AND_RET
(
entry
->
min
!=
NULL
&&
entry
->
max
!=
NULL
,
"switch table entry without min+max value"
,
0
);
ASSERT_AND_RET
(
get_tarval_mode
(
entry
->
min
)
==
mode
&&
get_tarval_mode
(
entry
->
max
)
==
mode
,
"switch table entry with wrong modes"
,
0
);
ASSERT_AND_RET
(
tarval_cmp
(
entry
->
min
,
entry
->
max
)
!=
ir_relation_greater
,
"switch table entry without min+max value"
,
0
);
ASSERT_AND_RET
(
entry
->
pn
>=
0
&&
entry
->
pn
<
(
long
)
n_outs
,
...
...
Write
Preview
Supports
Markdown
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