From 5f7834550ee1954f17ad662cf51928e0a85dc414 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Fri, 21 May 2021 10:26:50 +0200 Subject: [PATCH] Fix incorrect SLOC on instruction This puts the missing SLOC on a statement generated by a return. gcc/ada/ * gcc-interface/trans.c (gnat_to_gnu) : Put a SLOC on the assignment from the return value to the return object in the copy-in/copy-out case. --- gcc/ada/gcc-interface/trans.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 5a55ca4f29ef..8d63d03079f9 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -7525,8 +7525,10 @@ gnat_to_gnu (Node_Id gnat_node) if (gnu_return_label_stack->last ()) { if (gnu_ret_val) - add_stmt (build_binary_op (MODIFY_EXPR, NULL_TREE, gnu_ret_obj, - gnu_ret_val)); + add_stmt_with_node (build_binary_op (MODIFY_EXPR, + NULL_TREE, gnu_ret_obj, + gnu_ret_val), + gnat_node); gnu_result = build1 (GOTO_EXPR, void_type_node, gnu_return_label_stack->last ()); -- 2.47.3