From 361e71bf2dd50e6fcc20ea6e676d316d78916c5b Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 1 Aug 2019 08:31:54 +0200 Subject: [PATCH] backport: re PR c/91192 (non-deterministic ICE on invalid) Backported from mainline 2019-07-31 Jakub Jelinek PR c/91192 * c-parser.c (c_parser_sizeof_expression): Call set_c_expr_source_range even if finish is UNKNOWN_LOCATION, just use start as finish in that case. From-SVN: r273967 --- gcc/c/ChangeLog | 10 ++++++++++ gcc/c/c-parser.c | 5 +++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 0411099523c9..9455a8f68e10 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,13 @@ +2019-08-01 Jakub Jelinek + + Backported from mainline + 2019-07-31 Jakub Jelinek + + PR c/91192 + * c-parser.c (c_parser_sizeof_expression): Call set_c_expr_source_range + even if finish is UNKNOWN_LOCATION, just use start as finish in that + case. + 2019-07-20 Richard Sandiford Backport from mainline diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index 854cd6ce8c60..f8d1fb3fa781 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -7471,8 +7471,9 @@ c_parser_sizeof_expression (c_parser *parser) error_at (expr_loc, "% applied to a bit-field"); result = c_expr_sizeof_expr (expr_loc, expr); } - if (finish != UNKNOWN_LOCATION) - set_c_expr_source_range (&result, start, finish); + if (finish == UNKNOWN_LOCATION) + finish = start; + set_c_expr_source_range (&result, start, finish); return result; } -- 2.47.2