c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
* c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR. * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR. * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR. (fold): Kill BIT_ANDTC_EXPR and label bit_and. * tree.def (BIT_ANDTC_EXPR): Kill. * error.c (dump_expr): Kill BIT_ANDTC_EXPR. * lex.c (init_operators): Kill BIT_ANDTC_EXPR. * pt.c (tsubst_copy): Kill BIT_ANDTC_EXPR. * typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR. (tsubst_copy_and_build): Kill BIT_ANDTC_EXPR. * com.c (ffecom_overlap_): Kill BIT_ANDTC_EXPR. (ffecom_tree_canonize_ref_): Kill BIT_ANDTC_EXPR. From-SVN: r70972
This commit is contained in:
parent
754c707721
commit
31934da71a
12 changed files with 30 additions and 33 deletions
|
@ -1,3 +1,11 @@
|
|||
2003-09-01 Josef Zlomek <zlomekj@suse.cz>
|
||||
|
||||
* c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
|
||||
* convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
|
||||
* fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
|
||||
(fold): Kill BIT_ANDTC_EXPR and label bit_and.
|
||||
* tree.def (BIT_ANDTC_EXPR): Kill.
|
||||
|
||||
2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure.in: Remove uses of "for x in .. ${foo}" idiom.
|
||||
|
|
|
@ -6623,7 +6623,6 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
|
|||
break;
|
||||
|
||||
case BIT_AND_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE)
|
||||
|
|
|
@ -473,7 +473,6 @@ convert_to_integer (tree type, tree expr)
|
|||
case BIT_AND_EXPR:
|
||||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
trunc1:
|
||||
{
|
||||
tree arg0 = get_unwidened (TREE_OPERAND (expr, 0), type);
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2003-09-01 Josef Zlomek <zlomekj@suse.cz>
|
||||
|
||||
* error.c (dump_expr): Kill BIT_ANDTC_EXPR.
|
||||
* lex.c (init_operators): Kill BIT_ANDTC_EXPR.
|
||||
* pt.c (tsubst_copy): Kill BIT_ANDTC_EXPR.
|
||||
* typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
|
||||
(tsubst_copy_and_build): Kill BIT_ANDTC_EXPR.
|
||||
|
||||
2003-08-29 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/12093
|
||||
|
|
|
@ -1486,7 +1486,6 @@ dump_expr (tree t, int flags)
|
|||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
case BIT_AND_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
case TRUTH_ANDIF_EXPR:
|
||||
case TRUTH_ORIF_EXPR:
|
||||
case LT_EXPR:
|
||||
|
|
|
@ -206,7 +206,6 @@ init_operators (void)
|
|||
operator_name_info [(int) ROUND_MOD_EXPR].name = "(round %)";
|
||||
operator_name_info [(int) ABS_EXPR].name = "abs";
|
||||
operator_name_info [(int) FFS_EXPR].name = "ffs";
|
||||
operator_name_info [(int) BIT_ANDTC_EXPR].name = "&~";
|
||||
operator_name_info [(int) TRUTH_AND_EXPR].name = "strict &&";
|
||||
operator_name_info [(int) TRUTH_OR_EXPR].name = "strict ||";
|
||||
operator_name_info [(int) IN_EXPR].name = "in";
|
||||
|
|
|
@ -7302,7 +7302,6 @@ tsubst_copy (tree t, tree args, tsubst_flags_t complain, tree in_decl)
|
|||
case ROUND_DIV_EXPR:
|
||||
case EXACT_DIV_EXPR:
|
||||
case BIT_AND_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
case TRUNC_MOD_EXPR:
|
||||
|
@ -7985,7 +7984,6 @@ tsubst_copy_and_build (tree t,
|
|||
case ROUND_DIV_EXPR:
|
||||
case EXACT_DIV_EXPR:
|
||||
case BIT_AND_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
case TRUNC_MOD_EXPR:
|
||||
|
|
|
@ -2808,7 +2808,6 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
|
|||
break;
|
||||
|
||||
case BIT_AND_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2003-09-01 Josef Zlomek <zlomekj@suse.cz>
|
||||
|
||||
* com.c (ffecom_overlap_): Kill BIT_ANDTC_EXPR.
|
||||
(ffecom_tree_canonize_ref_): Kill BIT_ANDTC_EXPR.
|
||||
|
||||
Thu Jul 31 01:47:27 2003 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* com.c (ffecom_init_0): Use `dconsthalf'.
|
||||
|
|
|
@ -1581,7 +1581,6 @@ ffecom_overlap_ (tree dest_decl, tree dest_offset, tree dest_size,
|
|||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
case BIT_AND_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
case BIT_NOT_EXPR:
|
||||
case TRUTH_ANDIF_EXPR:
|
||||
case TRUTH_ORIF_EXPR:
|
||||
|
@ -8891,7 +8890,6 @@ ffecom_tree_canonize_ref_ (tree *decl, tree *offset, tree *size, tree t)
|
|||
case BIT_IOR_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
case BIT_AND_EXPR:
|
||||
case BIT_ANDTC_EXPR:
|
||||
case BIT_NOT_EXPR:
|
||||
case TRUTH_ANDIF_EXPR:
|
||||
case TRUTH_ORIF_EXPR:
|
||||
|
|
|
@ -1108,10 +1108,6 @@ int_const_binop (enum tree_code code, tree arg1, tree arg2, int notrunc)
|
|||
low = int1l & int2l, hi = int1h & int2h;
|
||||
break;
|
||||
|
||||
case BIT_ANDTC_EXPR:
|
||||
low = int1l & ~int2l, hi = int1h & ~int2h;
|
||||
break;
|
||||
|
||||
case RSHIFT_EXPR:
|
||||
int2l = -int2l;
|
||||
case LSHIFT_EXPR:
|
||||
|
@ -6316,7 +6312,6 @@ fold (tree expr)
|
|||
goto bit_rotate;
|
||||
|
||||
case BIT_AND_EXPR:
|
||||
bit_and:
|
||||
if (integer_all_onesp (arg1))
|
||||
return non_lvalue (convert (type, arg0));
|
||||
if (integer_zerop (arg1))
|
||||
|
@ -6354,19 +6349,6 @@ fold (tree expr)
|
|||
|
||||
goto associate;
|
||||
|
||||
case BIT_ANDTC_EXPR:
|
||||
if (integer_all_onesp (arg0))
|
||||
return non_lvalue (convert (type, arg1));
|
||||
if (integer_zerop (arg0))
|
||||
return omit_one_operand (type, arg0, arg1);
|
||||
if (TREE_CODE (arg1) == INTEGER_CST)
|
||||
{
|
||||
arg1 = fold (build1 (BIT_NOT_EXPR, type, arg1));
|
||||
code = BIT_AND_EXPR;
|
||||
goto bit_and;
|
||||
}
|
||||
goto binary;
|
||||
|
||||
case RDIV_EXPR:
|
||||
/* Don't touch a floating-point divide by zero unless the mode
|
||||
of the constant can represent infinity. */
|
||||
|
@ -6649,7 +6631,6 @@ fold (tree expr)
|
|||
permute the two operations. */
|
||||
if (code == RROTATE_EXPR && TREE_CODE (arg1) == INTEGER_CST
|
||||
&& (TREE_CODE (arg0) == BIT_AND_EXPR
|
||||
|| TREE_CODE (arg0) == BIT_ANDTC_EXPR
|
||||
|| TREE_CODE (arg0) == BIT_IOR_EXPR
|
||||
|| TREE_CODE (arg0) == BIT_XOR_EXPR)
|
||||
&& TREE_CODE (TREE_OPERAND (arg0, 1)) == INTEGER_CST)
|
||||
|
@ -7418,8 +7399,11 @@ fold (tree expr)
|
|||
&& TREE_CODE (arg1) == INTEGER_CST
|
||||
&& TREE_CODE (TREE_OPERAND (arg0, 1)) == INTEGER_CST)
|
||||
{
|
||||
tree dandnotc = fold (build (BIT_ANDTC_EXPR, TREE_TYPE (arg0),
|
||||
arg1, TREE_OPERAND (arg0, 1)));
|
||||
tree dandnotc
|
||||
= fold (build (BIT_AND_EXPR, TREE_TYPE (arg0),
|
||||
arg1, build1 (BIT_NOT_EXPR,
|
||||
TREE_TYPE (TREE_OPERAND (arg0, 1)),
|
||||
TREE_OPERAND (arg0, 1))));
|
||||
tree rslt = code == EQ_EXPR ? integer_zero_node : integer_one_node;
|
||||
if (integer_nonzerop (dandnotc))
|
||||
return omit_one_operand (type, rslt, arg0);
|
||||
|
@ -7432,8 +7416,10 @@ fold (tree expr)
|
|||
&& TREE_CODE (arg1) == INTEGER_CST
|
||||
&& TREE_CODE (TREE_OPERAND (arg0, 1)) == INTEGER_CST)
|
||||
{
|
||||
tree candnotd = fold (build (BIT_ANDTC_EXPR, TREE_TYPE (arg0),
|
||||
TREE_OPERAND (arg0, 1), arg1));
|
||||
tree candnotd
|
||||
= fold (build (BIT_AND_EXPR, TREE_TYPE (arg0),
|
||||
TREE_OPERAND (arg0, 1),
|
||||
build1 (BIT_NOT_EXPR, TREE_TYPE (arg1), arg1)));
|
||||
tree rslt = code == EQ_EXPR ? integer_zero_node : integer_one_node;
|
||||
if (integer_nonzerop (candnotd))
|
||||
return omit_one_operand (type, rslt, arg0);
|
||||
|
|
|
@ -638,7 +638,6 @@ DEFTREECODE (RROTATE_EXPR, "rrotate_expr", '2', 2)
|
|||
DEFTREECODE (BIT_IOR_EXPR, "bit_ior_expr", '2', 2)
|
||||
DEFTREECODE (BIT_XOR_EXPR, "bit_xor_expr", '2', 2)
|
||||
DEFTREECODE (BIT_AND_EXPR, "bit_and_expr", '2', 2)
|
||||
DEFTREECODE (BIT_ANDTC_EXPR, "bit_andtc_expr", '2', 2)
|
||||
DEFTREECODE (BIT_NOT_EXPR, "bit_not_expr", '1', 1)
|
||||
|
||||
/* ANDIF and ORIF allow the second operand not to be computed if the
|
||||
|
|
Loading…
Add table
Reference in a new issue