public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug preprocessor/96940] New: ICE in linemap_compare_locations, at libcpp/line-map.c:1359
@ 2020-09-04 16:08 jan.smets at nokia dot com
  2020-09-04 17:56 ` [Bug preprocessor/96940] " jan.smets at nokia dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: jan.smets at nokia dot com @ 2020-09-04 16:08 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 96940
           Summary: ICE in linemap_compare_locations, at
                    libcpp/line-map.c:1359
           Product: gcc
           Version: 10.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jan.smets at nokia dot com
  Target Milestone: ---

Target: x86_64-linux-gnu
Configured with: /usr/src/gcc/configure --build=x86_64-linux-gnu
--disable-multilib --enable-languages=c,c++,fortran,go

Reproduces with:
 10.2, 10.1

Works with:
 9.3, 9.1

Bisect traced it to

commit 4593483f15ca2a82049500b9434e736996bb0891
Author: Paolo Carlini <paolo.carlini@oracle.com>
Date:   Tue May 14 11:43:55 2019 +0000

    Reapply r270597.

    2019-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

            PR preprocessor/90382
            * decl.c (grokdeclarator): Fix value assigned to typespec_loc, use
            min_location.
    2019-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

            PR preprocessor/90382
            * g++.dg/diagnostic/trailing1.C: New test.

    From-SVN: r271164




/x/bcm_sdk/sdk/include/shared/bitop.h:73: internal compiler error: in
linemap_compare_locations, at libcpp/line-map.c:1359
   73 |                                  CONST SHR_BITDCL *c,
      |
0x2233e01 linemap_compare_locations(line_maps*, unsigned int, unsigned int)
        /jasmets/git/tools/gcc/libcpp/line-map.c:1359
0x9b9bbb linemap_location_before_p(line_maps*, unsigned int, unsigned int)
        /jasmets/git/tools/gcc/gcc/../libcpp/include/line-map.h:1247
0x9a6998 min_location
        /jasmets/git/tools/gcc/gcc/cp/decl.c:10641
0x9a6a67 smallest_type_location
        /jasmets/git/tools/gcc/gcc/cp/decl.c:10673
0x9a759e grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
        /jasmets/git/tools/gcc/gcc/cp/decl.c:11009
0xa6115d cp_parser_parameter_declaration_list
        /jasmets/git/tools/gcc/gcc/cp/parser.c:22618
0xa60fd2 cp_parser_parameter_declaration_clause
        /jasmets/git/tools/gcc/gcc/cp/parser.c:22531
0xa5ea98 cp_parser_direct_declarator
        /jasmets/git/tools/gcc/gcc/cp/parser.c:21203
0xa5e8a5 cp_parser_declarator
        /jasmets/git/tools/gcc/gcc/cp/parser.c:21069
0xa5da7b cp_parser_init_declarator
        /jasmets/git/tools/gcc/gcc/cp/parser.c:20570
0xa5281d cp_parser_simple_declaration
        /jasmets/git/tools/gcc/gcc/cp/parser.c:13749
0xa5240a cp_parser_block_declaration
        /jasmets/git/tools/gcc/gcc/cp/parser.c:13566
0xa52105 cp_parser_declaration
        /jasmets/git/tools/gcc/gcc/cp/parser.c:13438
0xa521ea cp_parser_toplevel_declaration
        /jasmets/git/tools/gcc/gcc/cp/parser.c:13466
0xa40e07 cp_parser_translation_unit
        /jasmets/git/tools/gcc/gcc/cp/parser.c:4734
0xa926f8 c_parse_file()
        /jasmets/git/tools/gcc/gcc/cp/parser.c:44001
0xbc9712 c_common_parse_file()
        /jasmets/git/tools/gcc/gcc/c-family/c-opts.c:1190

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug preprocessor/96940] ICE in linemap_compare_locations, at libcpp/line-map.c:1359
  2020-09-04 16:08 [Bug preprocessor/96940] New: ICE in linemap_compare_locations, at libcpp/line-map.c:1359 jan.smets at nokia dot com
@ 2020-09-04 17:56 ` jan.smets at nokia dot com
  2020-09-04 19:42 ` jan.smets at nokia dot com
  2021-02-10 20:24 ` dmalcolm at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: jan.smets at nokia dot com @ 2020-09-04 17:56 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Jan Smets <jan.smets at nokia dot com> ---
Likely duplicate of Bug 96391
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96391)
That one has a testcase for i686-w64-mingw32

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug preprocessor/96940] ICE in linemap_compare_locations, at libcpp/line-map.c:1359
  2020-09-04 16:08 [Bug preprocessor/96940] New: ICE in linemap_compare_locations, at libcpp/line-map.c:1359 jan.smets at nokia dot com
  2020-09-04 17:56 ` [Bug preprocessor/96940] " jan.smets at nokia dot com
@ 2020-09-04 19:42 ` jan.smets at nokia dot com
  2021-02-10 20:24 ` dmalcolm at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: jan.smets at nokia dot com @ 2020-09-04 19:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jan Smets <jan.smets at nokia dot com> ---
This is the workaround I currently have. It avoids calling min_location().

diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 90111e4c786..f49019e81d0 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -11005,8 +11005,11 @@ grokdeclarator (const cp_declarator *declarator,
   if (initialized > 1)
     funcdef_flag = true;

-  location_t typespec_loc = smallest_type_location (type_quals,
+  location_t typespec_loc = smallest_type_quals_location (type_quals,
                                                    declspecs->locations);
+  // using smallest_type_quals_location() iso. smallest_type_quals_location()
+  //  basically removes the usage of min_location on the result of
smallest_type_quals_location().
+  // typespec_loc = min_location (typespec_loc,
declspecs->locations[ds_type_spec]);
   if (typespec_loc == UNKNOWN_LOCATION)
     typespec_loc = input_location;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug preprocessor/96940] ICE in linemap_compare_locations, at libcpp/line-map.c:1359
  2020-09-04 16:08 [Bug preprocessor/96940] New: ICE in linemap_compare_locations, at libcpp/line-map.c:1359 jan.smets at nokia dot com
  2020-09-04 17:56 ` [Bug preprocessor/96940] " jan.smets at nokia dot com
  2020-09-04 19:42 ` jan.smets at nokia dot com
@ 2021-02-10 20:24 ` dmalcolm at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2021-02-10 20:24 UTC (permalink / raw)
  To: gcc-bugs

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

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |dmalcolm at gcc dot gnu.org
         Resolution|---                         |DUPLICATE

--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
This does indeed look like a duplicate of bug 96391; note the missing column
number, and the two declspecs in different macros here:

/x/bcm_sdk/sdk/include/shared/bitop.h:73: internal compiler error: in
linemap_compare_locations, at libcpp/line-map.c:1359
   73 |                                  CONST SHR_BITDCL *c,
      |

*** This bug has been marked as a duplicate of bug 96391 ***

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-02-10 20:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-04 16:08 [Bug preprocessor/96940] New: ICE in linemap_compare_locations, at libcpp/line-map.c:1359 jan.smets at nokia dot com
2020-09-04 17:56 ` [Bug preprocessor/96940] " jan.smets at nokia dot com
2020-09-04 19:42 ` jan.smets at nokia dot com
2021-02-10 20:24 ` dmalcolm at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).