[Bug bootstrap/81216] [8 Regression] bootstrap failed on i386 and powerpc64le

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 27 06:38:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81216

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
--- parser.c~   2017-06-26 12:21:40.000000000 +0200
+++ parser.c    2017-06-27 08:19:49.317629661 +0200
@@ -12438,7 +12438,7 @@ cp_parser_already_scoped_statement (cp_p
     {
       token_indent_info body_tinfo
        = get_token_indent_info (cp_lexer_peek_token (parser->lexer));
-      location_t loc_after_labels;
+      location_t loc_after_labels = (location_t) 0xaaaaaaaaU;

       cp_parser_statement (parser, NULL_TREE, false, if_p, NULL,
                           &loc_after_labels);
@@ -12447,9 +12447,12 @@ cp_parser_already_scoped_statement (cp_p
       warn_for_misleading_indentation (guard_tinfo, body_tinfo, next_tinfo);

       if (next_tinfo.type != CPP_SEMICOLON)
+{
+gcc_assert (loc_after_labels != (location_t) 0xaaaaaaaaU);
        warn_for_multistatement_macros (loc_after_labels, next_tinfo.location,
                                        guard_tinfo.location,
                                        guard_tinfo.keyword);
+}
     }
   else
     {

is what I've tried and it ICEs on that.  So, either just initializing
loc_after_labels to UNKNOWN_LOCATION and calling warn_for_multistatement_macros
only if loc_after_labels != UNKNOWN_LOCATION like done in other spots should
cure it, or we want to figure out why cp_parser_statement doesn't store
anything.


More information about the Gcc-bugs mailing list