]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR c/91192 (non-deterministic ICE on invalid)
authorJakub Jelinek <jakub@redhat.com>
Thu, 1 Aug 2019 06:31:54 +0000 (08:31 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 1 Aug 2019 06:31:54 +0000 (08:31 +0200)
Backported from mainline
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.

From-SVN: r273967

gcc/c/ChangeLog
gcc/c/c-parser.c

index 0411099523c96af48f21b01c6a62328daed6f303..9455a8f68e103e0d86a0843f24145197f7f6409f 100644 (file)
@@ -1,3 +1,13 @@
+2019-08-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       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-20  Richard Sandiford  <richard.sandiford@arm.com>
 
        Backport from mainline
index 854cd6ce8c60ef096f61f91326123f559a85a533..f8d1fb3fa7814d1625b497ecd5074c487674fa4d 100644 (file)
@@ -7471,8 +7471,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;
 }