On Tue, Mar 14, 2017 at 9:05 PM, David Malcolm <dmalc...@redhat.com> wrote: > OK for trunk now, or should this wait until stage 1?
Stage 1. > + cp_token *close_paren = cp_parser_require (parser, CPP_CLOSE_PAREN, > + RT_CLOSE_PAREN); > + location_t end_loc = close_paren ? > + close_paren->location : UNKNOWN_LOCATION; > /* If all went well, simply lookup the type-id. */ > if (cp_parser_parse_definitely (parser)) > postfix_expression = get_typeid (type, tf_warning_or_error); > @@ -6527,13 +6530,23 @@ cp_parser_postfix_expression (cp_parser *parser, bool > address_p, bool cast_p, > /* Compute its typeid. */ > postfix_expression = build_typeid (expression, > tf_warning_or_error); > /* Look for the `)' token. */ > - cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN); > + close_paren > + = cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN); > + end_loc = close_paren ? close_paren->location : UNKNOWN_LOCATION; In both cases you're setting end_loc from close_paren, so how about only computing it once, closer to where it's used? Jason