aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2019-09-24 23:27:26 -0400
committerJason Merrill <jason@gcc.gnu.org>2019-09-24 23:27:26 -0400
commit1ed0d9f8ded4cfcff1c0409b183c5b64f69200be (patch)
tree9f494615c8781d86a08879a86565c5968dcf07a2
parenta20673a560fa520d7ac8da146dcb4b64c574a011 (diff)
downloadgcc-1ed0d9f8ded4cfcff1c0409b183c5b64f69200be.zip
gcc-1ed0d9f8ded4cfcff1c0409b183c5b64f69200be.tar.gz
gcc-1ed0d9f8ded4cfcff1c0409b183c5b64f69200be.tar.bz2
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
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/parser.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index f4c87c5..e5edd80 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 da0ffac..44082f7 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