From 1ed0d9f8ded4cfcff1c0409b183c5b64f69200be Mon Sep 17 00:00:00 2001 From: Jason Merrill 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 f4c87c56b1c..e5edd806947 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2019-09-24 Jason Merrill + + * parser.c (cp_parser_postfix_expression): Do set location of + dependent member call. + 2019-09-24 Marek Polacek PR c++/91868 - improve -Wshadow location. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index da0ffacc218..44082f7a05f 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 -- 2.30.2