On Fri, May 08, 2020 at 11:48:34AM -0400, Nathan Sidwell wrote:
> 2020-05-08  Nathan Sidwell  <nat...@acm.org>
> 
>       gcc/cp/
>       * parser.c (cp_lexer_set_source_position_from_token): EOF has a
>       location too.

This change:

> --- c/gcc/cp/parser.c
> +++ w/gcc/cp/parser.c
> @@ -895,10 +895,7 @@ cp_lexer_get_preprocessor_token (cp_lexer *lexer, 
> cp_token *token)
>  static inline void
>  cp_lexer_set_source_position_from_token (cp_token *token)
>  {
> -  if (token->type != CPP_EOF)
> -    {
> -      input_location = token->location;
> -    }
> +  input_location = token->location;
>  }
>  
>  /* Update the globals input_location and the input file stack from LEXER.  */

seems to have regressed:
+FAIL: obj-c++.dg/syntax-error-10.mm -fgnu-runtime  (test for errors, line 1)
+FAIL: obj-c++.dg/syntax-error-10.mm -fgnu-runtime (test for excess errors)
+FAIL: obj-c++.dg/syntax-error-8.mm -fgnu-runtime  (test for errors, line 1)
+FAIL: obj-c++.dg/syntax-error-8.mm -fgnu-runtime (test for excess errors)
+FAIL: obj-c++.dg/syntax-error-9.mm -fgnu-runtime  (test for errors, line 2)
+FAIL: obj-c++.dg/syntax-error-9.mm -fgnu-runtime (test for excess errors)
+FAIL: obj-c++.dg/property/property-neg-6.mm -fgnu-runtime  (test for errors, 
line 8)
+FAIL: obj-c++.dg/property/property-neg-6.mm -fgnu-runtime (test for excess 
errors)

E.g. on syntax-error-8.mm, cc1objplus used to emit:
syntax-error-8.mm:1:12: error: expected ‘@end’ at end of input
    1 | @interface A /* { dg-error "expected ..end." } */
      |            ^
and now it emits:
syntax-error-8.mm:1: error: expected ‘@end’ at end of input
    1 | @interface A /* { dg-error "expected ..end." } */
      | 
instead (no column at all).

        Jakub

Reply via email to