]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
trans.c (call_to_gnu): Always set the source location on the call expression.
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 14 Nov 2007 18:31:57 +0000 (18:31 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 14 Nov 2007 18:31:57 +0000 (18:31 +0000)
* trans.c (call_to_gnu): Always set the source location on the call
expression.  If the function returns-by-target, also set it on the
address expression.

From-SVN: r130184

gcc/ada/ChangeLog
gcc/ada/trans.c

index cefae39a68653c32051cc1dc0f9ccac8c0acf59f..c90fe05c504c5ea696eca19c5a7894fb84bc45f2 100644 (file)
@@ -1,3 +1,9 @@
+2007-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (call_to_gnu): Always set the source location on the call
+       expression.  If the function returns-by-target, also set it on the
+       address expression.
+
 2007-11-14  Samuel Tardieu  <sam@rfc1149.net>
 
        * adaint.c init.c initialize.c link.c: Remove system-specific
index 65d45b04da0e61485916d7178d3fb6df9e91bbea..cd3c6a6be0f18772db46f0da55ab09952245c28c 100644 (file)
@@ -2311,6 +2311,7 @@ call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target)
   gnu_subprog_call = build_call_list (TREE_TYPE (gnu_subprog_type),
                                      gnu_subprog_addr,
                                      nreverse (gnu_actual_list));
+  set_expr_location_from_node (gnu_subprog_call, gnat_node);
 
   /* If we return by passing a target, the result is the target after the
      call.  We must not emit the call directly here because this might be
@@ -2336,6 +2337,7 @@ call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target)
 
       tree gnu_target_address
        = build_unary_op (ADDR_EXPR, NULL_TREE, gnu_target);
+      set_expr_location_from_node (gnu_target_address, gnat_node);
 
       gnu_result
        = build2 (COMPOUND_EXPR, TREE_TYPE (gnu_target_address),
@@ -2491,10 +2493,7 @@ call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target)
          }
        }
   else
-    {
-      set_expr_location_from_node (gnu_subprog_call, gnat_node);
-      append_to_statement_list (gnu_subprog_call, &gnu_before_list);
-    }
+    append_to_statement_list (gnu_subprog_call, &gnu_before_list);
 
   append_to_statement_list (gnu_after_list, &gnu_before_list);
   return gnu_before_list;