public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/99071] New: [modules] ICE with initializer_list & iostream
@ 2021-02-11 14:33 nathan at gcc dot gnu.org
  2021-02-11 14:33 ` [Bug c++/99071] " nathan at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-02-11 14:33 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 99071
           Summary: [modules] ICE with initializer_list & iostream
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

build initializer_list as a header unit, then attempt to build iostream as one:

obj/x86_64/gcc/xg++ -Bobj/x86_64/gcc/ -nostdinc++
-Iobj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
-Iobj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include
-Isrc/libstdc++-v3/libsupc++ -Isrc/libstdc++-v3/include/backward  -std=c++17  
-x c++-system-header -fmodules-ts initializer_list -c
devvm1702:100>obj/x86_64/gcc/xg++ -Bobj/x86_64/gcc/ -nostdinc++
-Iobj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
-Iobj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include
-Isrc/libstdc++-v3/libsupc++ -Isrc/libstdc++-v3/include/backward  -std=c++17  
-x c++-system-header -fmodules-ts iostream -c
In file included from
obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/string:54,
                 from
obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/locale_classes.h:40,
                 from
obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/ios_base.h:41,
                 from
obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/ios:42,
                 from
obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/ostream:38,
                 from
obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/iostream:39:
obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/range_access.h:50:34:
internal compiler error: tree check: expected binding_vector, have overload in
maybe_record_mergeable_decl, at cp/name-lookup.c:3562
   50 |     begin(_Container& __cont) -> decltype(__cont.begin())
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
0x1d18ce2 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../../src/gcc/tree.c:9814
0xad1a11 tree_check(tree_node*, char const*, int, char const*, tree_code)
        ../../../src/gcc/tree.h:3349
0xd394c6 maybe_record_mergeable_decl
        ../../../src/gcc/cp/name-lookup.c:3562
0xd3aa63 do_pushdecl
        ../../../src/gcc/cp/name-lookup.c:3870
0xd3e485 do_pushdecl_with_scope
        ../../../src/gcc/cp/name-lookup.c:4894
0xd43815 pushdecl_namespace_level(tree_node*, bool)
        ../../../src/gcc/cp/name-lookup.c:6259
0xde89fe push_template_decl(tree_node*, bool)
        ../../../src/gcc/cp/pt.c:6054
0xc14f7c start_preparsed_function(tree_node*, tree_node*, int)
        ../../../src/gcc/cp/decl.c:16472
0xc17d7e start_function(cp_decl_specifier_seq*, cp_declarator const*,
tree_node*)
        ../../../src/gcc/cp/decl.c:16809
0xd9239f cp_parser_function_definition_from_specifiers_and_declarator
        ../../../src/gcc/cp/parser.c:29817
0xd817a2 cp_parser_init_declarator
        ../../../src/gcc/cp/parser.c:21564
0xd93cc2 cp_parser_single_declaration
        ../../../src/gcc/cp/parser.c:30441
0xd92947 cp_parser_template_declaration_after_parameters
        ../../../src/gcc/cp/parser.c:30013
0xd938bb cp_parser_explicit_template_declaration
        ../../../src/gcc/cp/parser.c:30279
0xd93915 cp_parser_template_declaration_after_export
        ../../../src/gcc/cp/parser.c:30298
0xd77a93 cp_parser_template_declaration
        ../../../src/gcc/cp/parser.c:16533
0xd73361 cp_parser_declaration
        ../../../src/gcc/cp/parser.c:14009
0xd73774 cp_parser_toplevel_declaration
        ../../../src/gcc/cp/parser.c:14107
0xd72f15 cp_parser_declaration_seq_opt
        ../../../src/gcc/cp/parser.c:13895
0xd7edf3 cp_parser_namespace_body
        ../../../src/gcc/cp/parser.c:20395
Please submit a full bug report,

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

* [Bug c++/99071] [modules] ICE with initializer_list & iostream
  2021-02-11 14:33 [Bug c++/99071] New: [modules] ICE with initializer_list & iostream nathan at gcc dot gnu.org
@ 2021-02-11 14:33 ` nathan at gcc dot gnu.org
  2021-02-16 21:14 ` nathan at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-02-11 14:33 UTC (permalink / raw)
  To: gcc-bugs

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

Nathan Sidwell <nathan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2021-02-11
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |nathan at gcc dot gnu.org

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

* [Bug c++/99071] [modules] ICE with initializer_list & iostream
  2021-02-11 14:33 [Bug c++/99071] New: [modules] ICE with initializer_list & iostream nathan at gcc dot gnu.org
  2021-02-11 14:33 ` [Bug c++/99071] " nathan at gcc dot gnu.org
@ 2021-02-16 21:14 ` nathan at gcc dot gnu.org
  2021-02-17 13:45 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-02-16 21:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
Reduced testcase:

// 99071_a.H
template<typename T>
void begin (T *);

// 99071_b.H
import "99071_a.H";

template<typename T>
void begin(T &);

./cc1plus -fmodule-header -quiet -std=c++17 99071_a.H
./cc1plus -fmodule-header -quiet -std=c++17 99071_b.H

99071_b.H:4:15: internal compiler error: tree check: expected binding_vector,
have overload in maybe_record_mergeable_decl, at cp/name-lookup.c:3528
    4 | void begin(T &);
      |               ^
0x1c561e8 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../../src/gcc/tree.c:9814
0xa0e321 tree_check(tree_node*, char const*, int, char const*, tree_code)
        ../../../src/gcc/tree.h:3349
0xc75e3b maybe_record_mergeable_decl
        ../../../src/gcc/cp/name-lookup.c:3528
0xc7780c do_pushdecl
        ../../../src/gcc/cp/name-lookup.c:3850
0xc7b29d do_pushdecl_with_scope
        ../../../src/gcc/cp/name-lookup.c:4850
0xc805d8 pushdecl_namespace_level(tree_node*, bool)
        ../../../src/gcc/cp/name-lookup.c:6212

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

* [Bug c++/99071] [modules] ICE with initializer_list & iostream
  2021-02-11 14:33 [Bug c++/99071] New: [modules] ICE with initializer_list & iostream nathan at gcc dot gnu.org
  2021-02-11 14:33 ` [Bug c++/99071] " nathan at gcc dot gnu.org
  2021-02-16 21:14 ` nathan at gcc dot gnu.org
@ 2021-02-17 13:45 ` cvs-commit at gcc dot gnu.org
  2021-02-17 13:46 ` nathan at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-02-17 13:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathan Sidwell <nathan@gcc.gnu.org>:

https://gcc.gnu.org/g:d46c7e2c546b26d036856cf570694b832d3b1f54

commit r11-7265-gd46c7e2c546b26d036856cf570694b832d3b1f54
Author: Nathan Sidwell <nathan@acm.org>
Date:   Wed Feb 17 05:28:09 2021 -0800

    c++: ICE with header-units [PR 99071]

    This ICE was caused by dereferencing the wrong pointer and not finding the
    expected thing there.  Pointers are like that.

            PR c++/99071
            gcc/cp/
            * name-lookup.c (maybe_record_mergeable_decl): Deref the correct
            pointer.
            gcc/testsuite/
            * g++.dg/modules/pr99071_a.H: New.
            * g++.dg/modules/pr99071_b.H: New.

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

* [Bug c++/99071] [modules] ICE with initializer_list & iostream
  2021-02-11 14:33 [Bug c++/99071] New: [modules] ICE with initializer_list & iostream nathan at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-02-17 13:45 ` cvs-commit at gcc dot gnu.org
@ 2021-02-17 13:46 ` nathan at gcc dot gnu.org
  2021-02-17 13:48 ` nathan at gcc dot gnu.org
  2021-02-17 18:52 ` nathan at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-02-17 13:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
d46c7e2c546 2021-02-17 | c++: ICE with header-units [PR 99071] 

but there's now an ICE in write_defines.  (reported elsewhere too)

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

* [Bug c++/99071] [modules] ICE with initializer_list & iostream
  2021-02-11 14:33 [Bug c++/99071] New: [modules] ICE with initializer_list & iostream nathan at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-02-17 13:46 ` nathan at gcc dot gnu.org
@ 2021-02-17 13:48 ` nathan at gcc dot gnu.org
  2021-02-17 18:52 ` nathan at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-02-17 13:48 UTC (permalink / raw)
  To: gcc-bugs

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

Nathan Sidwell <nathan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |SUSPENDED

--- Comment #4 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
believed dup of 99023 remains

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

* [Bug c++/99071] [modules] ICE with initializer_list & iostream
  2021-02-11 14:33 [Bug c++/99071] New: [modules] ICE with initializer_list & iostream nathan at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-02-17 13:48 ` nathan at gcc dot gnu.org
@ 2021-02-17 18:52 ` nathan at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-02-17 18:52 UTC (permalink / raw)
  To: gcc-bugs

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

Nathan Sidwell <nathan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|SUSPENDED                   |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
yup, same secondary issue

d8889c99aab 2021-02-17 | c++: Macros need to be GTY-reachable [PR 99023]

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

end of thread, other threads:[~2021-02-17 18:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-11 14:33 [Bug c++/99071] New: [modules] ICE with initializer_list & iostream nathan at gcc dot gnu.org
2021-02-11 14:33 ` [Bug c++/99071] " nathan at gcc dot gnu.org
2021-02-16 21:14 ` nathan at gcc dot gnu.org
2021-02-17 13:45 ` cvs-commit at gcc dot gnu.org
2021-02-17 13:46 ` nathan at gcc dot gnu.org
2021-02-17 13:48 ` nathan at gcc dot gnu.org
2021-02-17 18:52 ` nathan 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).