re PR middle-end/22375 (fold_builtins creates mis-matched types)
PR middle-end/22375 * trans.c (gfc_trans_runtime_check): Promote the arguments of __builtin_expect to the correct types, and the result back to boolean_type_node. From-SVN: r112547
This commit is contained in:
parent
7d30b888b5
commit
240c7c0274
|
@ -1,3 +1,10 @@
|
|||
2006-03-30 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR middle-end/22375
|
||||
* trans.c (gfc_trans_runtime_check): Promote the arguments of
|
||||
__builtin_expect to the correct types, and the result back to
|
||||
boolean_type_node.
|
||||
|
||||
2006-03-29 Carlos O'Donell <carlos@codesourcery.com>
|
||||
|
||||
* Make-lang.in: Rename docdir to gcc_docdir.
|
||||
|
|
|
@ -340,9 +340,11 @@ gfc_trans_runtime_check (tree cond, tree msg, stmtblock_t * pblock)
|
|||
else
|
||||
{
|
||||
/* Tell the compiler that this isn't likely. */
|
||||
cond = fold_convert (long_integer_type_node, cond);
|
||||
tmp = gfc_chainon_list (NULL_TREE, cond);
|
||||
tmp = gfc_chainon_list (tmp, integer_zero_node);
|
||||
tmp = gfc_chainon_list (tmp, build_int_cst (long_integer_type_node, 0));
|
||||
cond = build_function_call_expr (built_in_decls[BUILT_IN_EXPECT], tmp);
|
||||
cond = fold_convert (boolean_type_node, cond);
|
||||
|
||||
tmp = build3_v (COND_EXPR, cond, body, build_empty_stmt ());
|
||||
gfc_add_expr_to_block (pblock, tmp);
|
||||
|
|
Loading…
Reference in New Issue