diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-07-31 16:32:24 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-07-31 16:32:24 +0200 |
commit | a28351e7f54cb63ed19e2fa67de8f91101260d94 (patch) | |
tree | b0e43fee11a6942344169c97003cfd06d877846e /gcc/c/c-parser.c | |
parent | 2153fa7b60a430970cfebade3b04c6a4dd3e83f6 (diff) | |
download | gcc-a28351e7f54cb63ed19e2fa67de8f91101260d94.zip gcc-a28351e7f54cb63ed19e2fa67de8f91101260d94.tar.gz gcc-a28351e7f54cb63ed19e2fa67de8f91101260d94.tar.bz2 |
re PR c/91192 (non-deterministic ICE on invalid)
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: r273935
Diffstat (limited to 'gcc/c/c-parser.c')
-rw-r--r-- | gcc/c/c-parser.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index 6721049..c7c13a6 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -7477,8 +7477,9 @@ c_parser_sizeof_expression (c_parser *parser) error_at (expr_loc, "%<sizeof%> 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; } |