Commit 0a37d40c by Pierre-Marie de Rodat Committed by Pierre-Marie de Rodat

gimplify_modify_expr: avoid DECL_DEBUG_EXPR links across functions

An upcoming patch exposes a bug in gimplify_modify_expr.  There, we try
not to create DECL_DEBUG_EXPR links across functions, however we don't
check that *FROM_P actually belongs to the current function before
modifying it.  This patch fixes this oversight.

gcc/

	* gimplify.c (gimplify_modify_expr): Don't create a
	DECL_DEBUG_EXPR link if *FROM_P does not belong to the current
	function.

From-SVN: r248688
parent e2f35333
2017-05-30 Pierre-Marie de Rodat <derodat@adacore.com>
* gimplify.c (gimplify_modify_expr): Don't create a
DECL_DEBUG_EXPR link if *FROM_P does not belong to the current
function.
2017-05-30 Wilco Dijkstra <wdijkstr@arm.com> 2017-05-30 Wilco Dijkstra <wdijkstr@arm.com>
* config/arm/arm-builtins.c (arm_expand_builtin): Remove const. * config/arm/arm-builtins.c (arm_expand_builtin): Remove const.
......
...@@ -5580,7 +5580,8 @@ gimplify_modify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, ...@@ -5580,7 +5580,8 @@ gimplify_modify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
&& DECL_IGNORED_P (*from_p) && DECL_IGNORED_P (*from_p)
&& DECL_P (*to_p) && DECL_P (*to_p)
&& !DECL_IGNORED_P (*to_p) && !DECL_IGNORED_P (*to_p)
&& decl_function_context (*to_p) == current_function_decl) && decl_function_context (*to_p) == current_function_decl
&& decl_function_context (*from_p) == current_function_decl)
{ {
if (!DECL_NAME (*from_p) && DECL_NAME (*to_p)) if (!DECL_NAME (*from_p) && DECL_NAME (*to_p))
DECL_NAME (*from_p) DECL_NAME (*from_p)
......
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