aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-parser.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-07-31 16:32:24 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-07-31 16:32:24 +0200
commita28351e7f54cb63ed19e2fa67de8f91101260d94 (patch)
treeb0e43fee11a6942344169c97003cfd06d877846e /gcc/c/c-parser.c
parent2153fa7b60a430970cfebade3b04c6a4dd3e83f6 (diff)
downloadgcc-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.c5
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;
}