Commit c9019218 by Jakub Jelinek Committed by Jakub Jelinek

re PR bootstrap/45700 (--enable-checking=fold bootstrap failures)

	PR bootstrap/45700
	* tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
	build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
	(build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
	build6_loc): Define.
	* fold-const.c (protected_set_expr_location_unshare): New inline.
	(fold_convert_loc, pedantic_non_lvalue_loc): Use it.
	(negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
	pedantic_omit_one_operand_loc, omit_two_operands_loc,
	fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
	optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
	build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
	fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
	instead of buildN followed by SET_EXPR_LOCATION or
	protected_set_expr_location.
	(fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
	Use buildN_stat_loc instead of buildN_stat followed by
	SET_EXPR_LOCATION.

	* trans.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
	build4_stat_loc): Removed.
	(build1_loc, build2_loc, build3_loc, build4_loc): Removed.

From-SVN: r167168
parent 93b39277
2010-11-26 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/45700
* tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
(build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
build6_loc): Define.
* fold-const.c (protected_set_expr_location_unshare): New inline.
(fold_convert_loc, pedantic_non_lvalue_loc): Use it.
(negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
pedantic_omit_one_operand_loc, omit_two_operands_loc,
fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
instead of buildN followed by SET_EXPR_LOCATION or
protected_set_expr_location.
(fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
Use buildN_stat_loc instead of buildN_stat followed by
SET_EXPR_LOCATION.
2010-11-26 Basile Starynkevitch <basile@starynkevitch.net> 2010-11-26 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in (s-tm-texi): Remove spurous tab. * Makefile.in (s-tm-texi): Remove spurous tab.
...@@ -756,51 +756,6 @@ struct GTY((variable_size)) lang_decl { ...@@ -756,51 +756,6 @@ struct GTY((variable_size)) lang_decl {
(TYPE_LANG_SPECIFIC(node)->base_decl[(internal)]) (TYPE_LANG_SPECIFIC(node)->base_decl[(internal)])
/* Create _loc version of build[0-9]. */
static inline tree
build1_stat_loc (location_t loc, enum tree_code code, tree type,
tree op MEM_STAT_DECL)
{
tree t = build1_stat (code, type, op PASS_MEM_STAT);
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build1_loc(l,c,t1,t2) build1_stat_loc (l,c,t1,t2 MEM_STAT_INFO)
static inline tree
build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree op MEM_STAT_DECL)
{
tree t = build2_stat (code, type, arg0, op PASS_MEM_STAT);
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build2_loc(l,c,t1,t2,t3) build2_stat_loc (l,c,t1,t2,t3 MEM_STAT_INFO)
static inline tree
build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree arg1, tree op MEM_STAT_DECL)
{
tree t = build3_stat (code, type, arg0, arg1, op PASS_MEM_STAT);
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build3_loc(l,c,t1,t2,t3,t4) \
build3_stat_loc (l,c,t1,t2,t3,t4 MEM_STAT_INFO)
static inline tree
build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree arg1, tree arg2, tree op MEM_STAT_DECL)
{
tree t = build4_stat (code, type, arg0, arg1, arg2, op PASS_MEM_STAT);
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build4_loc(l,c,t1,t2,t3,t4,t5) \
build4_stat_loc (l,c,t1,t2,t3,t4,t5 MEM_STAT_INFO)
/* Build an expression with void type. */ /* Build an expression with void type. */
#define build1_v(code, arg) \ #define build1_v(code, arg) \
fold_build1_loc (input_location, code, void_type_node, arg) fold_build1_loc (input_location, code, void_type_node, arg)
......
2010-11-26 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/45700
* trans.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
build4_stat_loc): Removed.
(build1_loc, build2_loc, build3_loc, build4_loc): Removed.
2010-11-25 Janus Weil <janus@gcc.gnu.org> 2010-11-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/46581 PR fortran/46581
......
...@@ -4034,6 +4034,81 @@ extern tree build6_stat (enum tree_code, tree, tree, tree, tree, tree, ...@@ -4034,6 +4034,81 @@ extern tree build6_stat (enum tree_code, tree, tree, tree, tree, tree,
#define build6(c,t1,t2,t3,t4,t5,t6,t7) \ #define build6(c,t1,t2,t3,t4,t5,t6,t7) \
build6_stat (c,t1,t2,t3,t4,t5,t6,t7 MEM_STAT_INFO) build6_stat (c,t1,t2,t3,t4,t5,t6,t7 MEM_STAT_INFO)
/* _loc versions of build[1-6]. */
static inline tree
build1_stat_loc (location_t loc, enum tree_code code, tree type,
tree arg1 MEM_STAT_DECL)
{
tree t = build1_stat (code, type, arg1 PASS_MEM_STAT);
if (CAN_HAVE_LOCATION_P (t))
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build1_loc(l,c,t1,t2) build1_stat_loc (l,c,t1,t2 MEM_STAT_INFO)
static inline tree
build2_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree arg1 MEM_STAT_DECL)
{
tree t = build2_stat (code, type, arg0, arg1 PASS_MEM_STAT);
if (CAN_HAVE_LOCATION_P (t))
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build2_loc(l,c,t1,t2,t3) build2_stat_loc (l,c,t1,t2,t3 MEM_STAT_INFO)
static inline tree
build3_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree arg1, tree arg2 MEM_STAT_DECL)
{
tree t = build3_stat (code, type, arg0, arg1, arg2 PASS_MEM_STAT);
if (CAN_HAVE_LOCATION_P (t))
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build3_loc(l,c,t1,t2,t3,t4) \
build3_stat_loc (l,c,t1,t2,t3,t4 MEM_STAT_INFO)
static inline tree
build4_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree arg1, tree arg2, tree arg3 MEM_STAT_DECL)
{
tree t = build4_stat (code, type, arg0, arg1, arg2, arg3 PASS_MEM_STAT);
if (CAN_HAVE_LOCATION_P (t))
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build4_loc(l,c,t1,t2,t3,t4,t5) \
build4_stat_loc (l,c,t1,t2,t3,t4,t5 MEM_STAT_INFO)
static inline tree
build5_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree arg1, tree arg2, tree arg3, tree arg4 MEM_STAT_DECL)
{
tree t = build5_stat (code, type, arg0, arg1, arg2, arg3,
arg4 PASS_MEM_STAT);
if (CAN_HAVE_LOCATION_P (t))
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build5_loc(l,c,t1,t2,t3,t4,t5,t6) \
build5_stat_loc (l,c,t1,t2,t3,t4,t5,t6 MEM_STAT_INFO)
static inline tree
build6_stat_loc (location_t loc, enum tree_code code, tree type, tree arg0,
tree arg1, tree arg2, tree arg3, tree arg4,
tree arg5 MEM_STAT_DECL)
{
tree t = build6_stat (code, type, arg0, arg1, arg2, arg3, arg4,
arg5 PASS_MEM_STAT);
if (CAN_HAVE_LOCATION_P (t))
SET_EXPR_LOCATION (t, loc);
return t;
}
#define build6_loc(l,c,t1,t2,t3,t4,t5,t6,t7) \
build6_stat_loc (l,c,t1,t2,t3,t4,t5,t6,t7 MEM_STAT_INFO)
extern tree build_var_debug_value_stat (tree, tree MEM_STAT_DECL); extern tree build_var_debug_value_stat (tree, tree MEM_STAT_DECL);
#define build_var_debug_value(t1,t2) \ #define build_var_debug_value(t1,t2) \
build_var_debug_value_stat (t1,t2 MEM_STAT_INFO) build_var_debug_value_stat (t1,t2 MEM_STAT_INFO)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment