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 | |
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
-rw-r--r-- | gcc/c/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c/c-parser.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index d07051b..18c4e41 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,10 @@ +2019-07-31 Jakub Jelinek <jakub@redhat.com> + + 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-25 Martin Liska <mliska@suse.cz> Dominik Infuhr <dominik.infuehr@theobroma-systems.com> 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; } |