public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
@ 2021-03-09  7:48 alexander.lelyakin at googlemail dot com
  2021-03-11  8:09 ` [Bug c++/99484] " alexander.lelyakin at googlemail dot com
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: alexander.lelyakin at googlemail dot com @ 2021-03-09  7:48 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 99484
           Summary: [modules] ICE same canonical type node for different
                    types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: alexander.lelyakin at googlemail dot com
  Target Milestone: ---

g++ -std=c++20 -fmodules-ts -x c++-system-header cstdalign
g++ -std=c++20 -fmodules-ts -x c++-system-header cuchar
g++ -std=c++20 -fmodules-ts -x c++-system-header filesystem
g++ -std=c++20 -fmodules-ts -x c++-system-header type_traits
g++ -std=c++20 -fmodules-ts -x c++-system-header clocale
g++ -std=c++20 -fmodules-ts -x c++-system-header cstdarg
g++ -std=c++20 -fmodules-ts -x c++-system-header complex
g++ -std=c++20 -fmodules-ts -x c++-system-header cfloat
g++ -std=c++20 -fmodules-ts -x c++-system-header iomanip
----
In module /usr/local/include/c++/11.0.1/type_traits, imported at
/usr/local/include/c++/11.0.1/bits/move.h:57,
        included from /usr/local/include/c++/11.0.1/bits/stl_pair.h:59,
                 from /usr/local/include/c++/11.0.1/bits/stl_algobase.h:64,
                 from /usr/local/include/c++/11.0.1/bits/char_traits.h:39,
                 from /usr/local/include/c++/11.0.1/string:40,
                 from /usr/local/include/c++/11.0.1/bits/locale_classes.h:40,
                 from /usr/local/include/c++/11.0.1/bits/ios_base.h:41,
                 from /usr/local/include/c++/11.0.1/iomanip:40:
/usr/local/include/c++/11.0.1/type_traits: In substitution of ‘template<class
_Default, template<class ...> class _Op, class ... _Args> using __detected_or_t
= typename std::__detected_or<_Default, _Op, _Args ...>::type [with _Default =
typename std::__get_first_arg<_Tp>::type; _Op =
std::pointer_traits<_Ptr>::__element_type; _Args = {_Ptr}]’:
/usr/local/include/c++/11.0.1/bits/ptr_traits.h:105:65:   required from here
/usr/local/include/c++/11.0.1/type_traits:2565:11: internal compiler error:
same canonical type node for different types ‘void’ and
‘std::__void_t<_Op<_Args ...> >’
 2565 |     using __detected_or_t
      |           ^~~~~~~~~~~~~~~
0xb7f5fd comptypes(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/typeck.c:1554
0xae491f template_args_equal(tree_node*, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:9207
0xae4478 template_args_equal(tree_node*, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:9170
0xae4478 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**,
bool)
        ../../gcc/gcc/cp/pt.c:9254
0xae4478 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**,
bool)
        ../../gcc/gcc/cp/pt.c:9234
0xaedd93 spec_hasher::equal(spec_entry*, spec_entry*)
        ../../gcc/gcc/cp/pt.c:1725
0xb338b6 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry*
const&, unsigned int)
        ../../gcc/gcc/hash-table.h:1032
0xb33e5e hash_table<spec_hasher, false,
xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int,
insert_option)
        ../../gcc/gcc/hash-table.h:968
0xaf0d3b add_mergeable_specialization(bool, spec_entry*, tree_node*, unsigned
int)
        ../../gcc/gcc/cp/pt.c:30018
0xa6ec5f trees_in::decl_value()
        ../../gcc/gcc/cp/module.cc:8068
0xa66d17 trees_in::tree_node(bool)
        ../../gcc/gcc/cp/module.cc:9174
0xa6d36b module_state::read_cluster(unsigned int)
        ../../gcc/gcc/cp/module.cc:14858
0xa6d86d module_state::load_section(unsigned int, binding_slot*)
        ../../gcc/gcc/cp/module.cc:18125
0xa6d92f module_state::lazy_load(unsigned int, binding_slot*)
        ../../gcc/gcc/cp/module.cc:18779
0xa70b67 lazy_load_pendings(tree_node*)
        ../../gcc/gcc/cp/module.cc:18872
0xb2017f lookup_template_class_1
        ../../gcc/gcc/cp/pt.c:9799
0xb22516 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        ../../gcc/gcc/cp/pt.c:10237
0xb22516 tsubst_aggr_type
        ../../gcc/gcc/cp/pt.c:13572
0xb16883 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/gcc/cp/pt.c:16033
0xb012a0 tsubst_decl
        ../../gcc/gcc/cp/pt.c:14798
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
----
g++ (GCC) 11.0.1 20210308 (experimental)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

* [Bug c++/99484] [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
  2021-03-09  7:48 [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’ alexander.lelyakin at googlemail dot com
@ 2021-03-11  8:09 ` alexander.lelyakin at googlemail dot com
  2021-03-11 11:06 ` alexander.lelyakin at googlemail dot com
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: alexander.lelyakin at googlemail dot com @ 2021-03-11  8:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Alexander Lelyakin <alexander.lelyakin at googlemail dot com> ---
In current version 20210310 I have seen another, but very similar error
message:

g++ -std=c++20 -fmodules-ts -x c++-system-header memory_resource
g++ -std=c++20 -fmodules-ts -x c++-system-header thread
g++ -std=c++20 -fmodules-ts -x c++-system-header version
g++ -std=c++20 -fmodules-ts -x c++-system-header array
g++ -std=c++20 -fmodules-ts -x c++-system-header latch
g++ -std=c++20 -fmodules-ts -x c++-system-header syncstream
g++ -std=c++20 -fmodules-ts -x c++-system-header cstddef
g++ -std=c++20 -fmodules-ts -x c++-system-header type_traits
g++ -std=c++20 -fmodules-ts -x c++-system-header list
g++ -std=c++20 -fmodules-ts -x c++-system-header unordered_map
----
In module /usr/local/include/c++/11.0.1/type_traits, imported at
/usr/local/include/c++/11.0.1/unordered_map:38:
/usr/local/include/c++/11.0.1/type_traits: In instantiation of ‘struct
std::is_copy_assignable<bool>’:
/usr/local/include/c++/11.0.1/type_traits:138:12:   required from ‘struct
std::__and_<std::is_copy_assignable<bool>, std::is_copy_assignable<long
unsigned int> >’
/usr/local/include/c++/11.0.1/bits/stl_pair.h:390:7:   required from ‘struct
std::pair<bool, long unsigned int>’
/usr/local/include/c++/11.0.1/bits/hashtable_policy.h:577:5:   required from
here
/usr/local/include/c++/11.0.1/type_traits:1057:12: internal compiler error:
same canonical type node for different types ‘void’ and ‘std::__void_t<_Tp&>’
 1057 |     struct is_copy_assignable
      |            ^~~~~~~~~~~~~~~~~~
0xb7f8dd comptypes(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/typeck.c:1554
0xae4bff template_args_equal(tree_node*, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:9207
0xae4758 template_args_equal(tree_node*, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:9170
0xae4758 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**,
bool)
        ../../gcc/gcc/cp/pt.c:9254
0xae4758 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**,
bool)
        ../../gcc/gcc/cp/pt.c:9234
0xaee073 spec_hasher::equal(spec_entry*, spec_entry*)
        ../../gcc/gcc/cp/pt.c:1725
0xb3400e hash_table<spec_hasher, false,
xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int,
insert_option)
        ../../gcc/gcc/hash-table.h:981
0xaf101b add_mergeable_specialization(bool, spec_entry*, tree_node*, unsigned
int)
        ../../gcc/gcc/cp/pt.c:30018
0xa6ef5f trees_in::decl_value()
        ../../gcc/gcc/cp/module.cc:8068
0xa67017 trees_in::tree_node(bool)
        ../../gcc/gcc/cp/module.cc:9174
0xa6d66b module_state::read_cluster(unsigned int)
        ../../gcc/gcc/cp/module.cc:14858
0xa6db6d module_state::load_section(unsigned int, binding_slot*)
        ../../gcc/gcc/cp/module.cc:18129
0xa6dc2f module_state::lazy_load(unsigned int, binding_slot*)
        ../../gcc/gcc/cp/module.cc:18783
0xa70e67 lazy_load_pendings(tree_node*)
        ../../gcc/gcc/cp/module.cc:18876
0xb2045f lookup_template_class_1
        ../../gcc/gcc/cp/pt.c:9799
0xb227f6 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        ../../gcc/gcc/cp/pt.c:10237
0xb227f6 tsubst_aggr_type
        ../../gcc/gcc/cp/pt.c:13572
0xaf87ad tsubst_qualified_id
        ../../gcc/gcc/cp/pt.c:16365
0xafab79 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc/gcc/cp/pt.c:19865
0xb04508 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:19115
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
----
g++ (GCC) 11.0.1 20210310 (experimental)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

* [Bug c++/99484] [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
  2021-03-09  7:48 [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’ alexander.lelyakin at googlemail dot com
  2021-03-11  8:09 ` [Bug c++/99484] " alexander.lelyakin at googlemail dot com
@ 2021-03-11 11:06 ` alexander.lelyakin at googlemail dot com
  2021-03-15 12:41 ` nathan at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: alexander.lelyakin at googlemail dot com @ 2021-03-11 11:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Alexander Lelyakin <alexander.lelyakin at googlemail dot com> ---
One more similar, but not the same message;

g++ -std=c++20 -fmodules-ts -x c++-system-header any
g++ -std=c++20 -fmodules-ts -x c++-system-header vector
g++ -std=c++20 -fmodules-ts -x c++-system-header sstream
g++ -std=c++20 -fmodules-ts -x c++-system-header shared_mutex
g++ -std=c++20 -fmodules-ts -x c++-system-header version
g++ -std=c++20 -fmodules-ts -x c++-system-header unordered_set
g++ -std=c++20 -fmodules-ts -x c++-system-header string_view
g++ -std=c++20 -fmodules-ts -x c++-system-header new
g++ -std=c++20 -fmodules-ts -x c++-system-header complex
----
In file included from /usr/local/include/c++/11.0.1/istream:39,
                 from /usr/local/include/c++/11.0.1/sstream:38,
of module /usr/local/include/c++/11.0.1/sstream, imported at
/usr/local/include/c++/11.0.1/complex:45:
/usr/local/include/c++/11.0.1/ostream: In instantiation of ‘struct
std::__is_convertible_to_basic_ostream<std::basic_ostream<char>&>’:
/usr/local/include/c++/11.0.1/ostream:773:5:   required by substitution of
‘template<class _Ostream, class _Tp> typename
std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >,
std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename
std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void>
>::value, typename
std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type
std::operator<<(_Ostream&&, const _Tp&) [with _Ostream =
std::basic_ostream<char>&; _Tp = std::complex<float>]’
/usr/local/include/c++/11.0.1/complex:1539:70:   required from here
/usr/local/include/c++/11.0.1/ostream:732:12: internal compiler error: same
canonical type node for different types ‘void’ and ‘std::__void_t<decltype
(std::__is_convertible_to_basic_ostream_test(declval<typename
std::remove_reference<_Tp>::type*>()))>’
  732 |     struct __is_convertible_to_basic_ostream
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0xb7f8dd comptypes(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/typeck.c:1554
0xae4bff template_args_equal(tree_node*, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:9207
0xae4758 template_args_equal(tree_node*, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:9170
0xae4758 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**,
bool)
        ../../gcc/gcc/cp/pt.c:9254
0xae4758 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**,
bool)
        ../../gcc/gcc/cp/pt.c:9234
0xaee073 spec_hasher::equal(spec_entry*, spec_entry*)
        ../../gcc/gcc/cp/pt.c:1725
0xb33b96 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry*
const&, unsigned int)
        ../../gcc/gcc/hash-table.h:1032
0xb3413e hash_table<spec_hasher, false,
xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int,
insert_option)
        ../../gcc/gcc/hash-table.h:968
0xaf101b add_mergeable_specialization(bool, spec_entry*, tree_node*, unsigned
int)
        ../../gcc/gcc/cp/pt.c:30018
0xa6ef5f trees_in::decl_value()
        ../../gcc/gcc/cp/module.cc:8068
0xa67017 trees_in::tree_node(bool)
        ../../gcc/gcc/cp/module.cc:9174
0xa6d66b module_state::read_cluster(unsigned int)
        ../../gcc/gcc/cp/module.cc:14858
0xa6db6d module_state::load_section(unsigned int, binding_slot*)
        ../../gcc/gcc/cp/module.cc:18129
0xa6dc2f module_state::lazy_load(unsigned int, binding_slot*)
        ../../gcc/gcc/cp/module.cc:18783
0xa70e67 lazy_load_pendings(tree_node*)
        ../../gcc/gcc/cp/module.cc:18876
0xb2045f lookup_template_class_1
        ../../gcc/gcc/cp/pt.c:9799
0xb227f6 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        ../../gcc/gcc/cp/pt.c:10237
0xb227f6 tsubst_aggr_type
        ../../gcc/gcc/cp/pt.c:13572
0xb2f505 instantiate_class_template_1
        ../../gcc/gcc/cp/pt.c:11882
0xb30f32 instantiate_class_template(tree_node*)
        ../../gcc/gcc/cp/pt.c:12264
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
----
g++ (GCC) 11.0.1 20210310 (experimental)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

* [Bug c++/99484] [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
  2021-03-09  7:48 [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’ alexander.lelyakin at googlemail dot com
  2021-03-11  8:09 ` [Bug c++/99484] " alexander.lelyakin at googlemail dot com
  2021-03-11 11:06 ` alexander.lelyakin at googlemail dot com
@ 2021-03-15 12:41 ` nathan at gcc dot gnu.org
  2021-03-15 12:46 ` nathan at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-03-15 12:41 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #3 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
most likely dup of 99496

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

* [Bug c++/99484] [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
  2021-03-09  7:48 [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’ alexander.lelyakin at googlemail dot com
                   ` (2 preceding siblings ...)
  2021-03-15 12:41 ` nathan at gcc dot gnu.org
@ 2021-03-15 12:46 ` nathan at gcc dot gnu.org
  2021-03-23  8:23 ` alexander.lelyakin at googlemail dot com
  2021-03-23 11:37 ` nathan at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-03-15 12:46 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2021-03-15

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

* [Bug c++/99484] [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
  2021-03-09  7:48 [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’ alexander.lelyakin at googlemail dot com
                   ` (3 preceding siblings ...)
  2021-03-15 12:46 ` nathan at gcc dot gnu.org
@ 2021-03-23  8:23 ` alexander.lelyakin at googlemail dot com
  2021-03-23 11:37 ` nathan at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: alexander.lelyakin at googlemail dot com @ 2021-03-23  8:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Alexander Lelyakin <alexander.lelyakin at googlemail dot com> ---
Not seen anymore. At least in version 20210322.

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

* [Bug c++/99484] [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’
  2021-03-09  7:48 [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’ alexander.lelyakin at googlemail dot com
                   ` (4 preceding siblings ...)
  2021-03-23  8:23 ` alexander.lelyakin at googlemail dot com
@ 2021-03-23 11:37 ` nathan at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-03-23 11:37 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #5 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
great, closing

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

end of thread, other threads:[~2021-03-23 11:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-09  7:48 [Bug c++/99484] New: [modules] ICE same canonical type node for different types ‘void’ and ‘std::__void_t<_Op<_Args ...> >’ alexander.lelyakin at googlemail dot com
2021-03-11  8:09 ` [Bug c++/99484] " alexander.lelyakin at googlemail dot com
2021-03-11 11:06 ` alexander.lelyakin at googlemail dot com
2021-03-15 12:41 ` nathan at gcc dot gnu.org
2021-03-15 12:46 ` nathan at gcc dot gnu.org
2021-03-23  8:23 ` alexander.lelyakin at googlemail dot com
2021-03-23 11:37 ` 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).