diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index 7241d666d224..a1f7ebef4006 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -43,8 +43,7 @@ never after. #include "diagnostic-core.h" /* Usage of TREE_LANG_FLAG_?: - 0: TREE_NEGATED_INT (in INTEGER_CST). - IDENTIFIER_MARKED (used by search routines). + 0: IDENTIFIER_MARKED (used by search routines). DECL_PRETTY_FUNCTION_P (in VAR_DECL) C_MAYBE_CONST_EXPR_INT_OPERANDS (in C_MAYBE_CONST_EXPR, for C) 1: C_DECLARED_LABEL_FLAG (in LABEL_DECL) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4cd3ff9b3aa2..e9173050249c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2011-09-30 Jason Merrill + + * cp-tree.h (TREE_NEGATED_INT): Remove. + * semantics.c (finish_unary_op_expr): Don't set it. + 2011-09-30 Janis Johnson PR c++/44473 diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 0f7deb66b603..7e5aac750f3d 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -2989,10 +2989,6 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter) #define TYPENAME_IS_RESOLVING_P(NODE) \ (TREE_LANG_FLAG_2 (TYPENAME_TYPE_CHECK (NODE))) -/* Nonzero in INTEGER_CST means that this int is negative by dint of - using a twos-complement negated operand. */ -#define TREE_NEGATED_INT(NODE) TREE_LANG_FLAG_0 (INTEGER_CST_CHECK (NODE)) - /* [class.virtual] A class that declares or inherits a virtual function is called a diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 89c76d5a1264..7ad1e8d5ebd1 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -2312,19 +2312,6 @@ tree finish_unary_op_expr (enum tree_code code, tree expr) { tree result = build_x_unary_op (code, expr, tf_warning_or_error); - /* Inside a template, build_x_unary_op does not fold the - expression. So check whether the result is folded before - setting TREE_NEGATED_INT. */ - if (code == NEGATE_EXPR && TREE_CODE (expr) == INTEGER_CST - && TREE_CODE (result) == INTEGER_CST - && !TYPE_UNSIGNED (TREE_TYPE (result)) - && INT_CST_LT (result, integer_zero_node)) - { - /* RESULT may be a cached INTEGER_CST, so we must copy it before - setting TREE_NEGATED_INT. */ - result = copy_node (result); - TREE_NEGATED_INT (result) = 1; - } if (TREE_OVERFLOW_P (result) && !TREE_OVERFLOW_P (expr)) overflow_warning (input_location, result);