* tree.c (build_target_expr): Copy the location from value.
authorJason Merrill <jason@redhat.com>
Tue, 4 Aug 2015 15:18:40 +0000 (11:18 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 4 Aug 2015 15:18:40 +0000 (11:18 -0400)
From-SVN: r226580

gcc/cp/ChangeLog
gcc/cp/tree.c

index ca3be9f127d29f6a0df59bdac827ce43522f3caa..e53e00d088bb889d17629aa240e6549df564dd66 100644 (file)
@@ -1,3 +1,7 @@
+2015-08-04  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (build_target_expr): Copy the location from value.
+
 2015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
 
        * parser.c (cp_parser_selection_statement): Move handling of
index 149c37da908c724fdec94525e55f450bea32c9a8..46818b43e816faf4868ea08e6e842083baef802c 100644 (file)
@@ -338,6 +338,8 @@ build_target_expr (tree decl, tree value, tsubst_flags_t complain)
   if (t == error_mark_node)
     return error_mark_node;
   t = build4 (TARGET_EXPR, type, decl, value, t, NULL_TREE);
+  if (EXPR_HAS_LOCATION (value))
+    SET_EXPR_LOCATION (t, EXPR_LOCATION (value));
   /* We always set TREE_SIDE_EFFECTS so that expand_expr does not
      ignore the TARGET_EXPR.  If there really turn out to be no
      side-effects, then the optimizer should be able to get rid of