]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c: Fix up uninitialized next.original_type use in #embed optimization
authorJakub Jelinek <jakub@redhat.com>
Wed, 16 Oct 2024 15:45:19 +0000 (17:45 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 16 Oct 2024 15:45:19 +0000 (17:45 +0200)
Jonathan pointed me at a diagnostic from an unnamed static analyzer
which found that next.original_type isn't initialized for the CPP_EMBED
case when it is parsed in a comma expression, yet
  expr.original_type = next.original_type;
is done a few lines later and the expr is returned.

2024-10-16  Jakub Jelinek  <jakub@redhat.com>

* c-parser.cc (c_parser_expression): Initialize next.original_type
to integer_type_node for the CPP_EMBED case.

gcc/c/c-parser.cc

index 120f2b289c0b7783040d05520366455d81a446ed..e4381044e5cb14b91f7da3249c3c7db3a2d00255 100644 (file)
@@ -13299,6 +13299,7 @@ c_parser_expression (c_parser *parser)
          next.value = build_int_cst (TREE_TYPE (val),
                                      ((const unsigned char *)
                                       RAW_DATA_POINTER (val))[last]);
+         next.original_type = integer_type_node;
          c_parser_consume_token (parser);
        }
       else