From 1ed0d9f8ded4cfcff1c0409b183c5b64f69200be Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@redhat.com>
Date: Tue, 24 Sep 2019 23:27:26 -0400
Subject: [PATCH] Fix location of dependent member CALL_EXPR.

The break here was skipping over the code that sets EXPR_LOCATION on the
call expressions, for no good reason.

	* parser.c (cp_parser_postfix_expression): Do set location of
	dependent member call.

From-SVN: r276112
---
 gcc/cp/ChangeLog | 5 +++++
 gcc/cp/parser.c  | 5 +----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index f4c87c56b1c7..e5edd806947c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2019-09-24  Jason Merrill  <jason@redhat.com>
+
+	* parser.c (cp_parser_postfix_expression): Do set location of
+	dependent member call.
+
 2019-09-24  Marek Polacek  <polacek@redhat.com>
 
 	PR c++/91868 - improve -Wshadow location.
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index da0ffacc2186..44082f7a05fb 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -7375,11 +7375,8 @@ cp_parser_postfix_expression (cp_parser *parser, bool address_p, bool cast_p,
 		    maybe_generic_this_capture (instance, fn);
 		    postfix_expression
 		      = build_min_nt_call_vec (postfix_expression, args);
-		    release_tree_vector (args);
-		    break;
 		  }
-
-		if (BASELINK_P (fn))
+		else if (BASELINK_P (fn))
 		  {
 		  postfix_expression
 		    = (build_new_method_call
-- 
GitLab