This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/82531] ICE: Segmentation fault (-std=c++1z -fconcepts)


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

Arturs Zoldners <gcc-bugs at deta dot lv> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #42363|0                           |1
        is obsolete|                            |

--- Comment #3 from Arturs Zoldners <gcc-bugs at deta dot lv> ---
Created attachment 42368
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42368&action=edit
testcase archive

Correction: it was still an invalid code in my previous post. Substitution
"auto" -> [some concept] creates invalid code in variadic context.

While trying to create a test case with a valid code, I encountered another
ICE, I believe on a valid code (at least to my understanding of N3580 section
4.5.1). The substitution typename -> [some concept] triggers an ICE, but with a
back-trace similar to bug #68372:

------------------------

testcase.cpp: In instantiation of ‘struct _map_impl<std::integer_sequence<long
unsigned int, 0, 1> >’:
testcase.cpp:29:56:   required from here
testcase.cpp:17:34: internal compiler error: in tsubst_constraint, at
cp/constraint.cc:1956
  static constexpr decltype(auto) function(auto const& fun, TUPLES const&...
tuples)
                                  ^~~~~~~~
0x71ba6d tsubst_constraint(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/constraint.cc:1956
0x71bb19 tsubst_constraint_info(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/constraint.cc:1918
0x628070 tsubst_decl
        ../../gcc/cp/pt.c:12440
0x6145df tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/pt.c:13404
0x627ad0 tsubst_decl
        ../../gcc/cp/pt.c:12214
0x6145df tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/pt.c:13404
0x62f2e0 instantiate_class_template_1
        ../../gcc/cp/pt.c:10546
0x62f2e0 instantiate_class_template(tree_node*)
        ../../gcc/cp/pt.c:10880
0x6926e5 complete_type(tree_node*)
        ../../gcc/cp/typeck.c:133
0x67a092 cp_parser_nested_name_specifier_opt
        ../../gcc/cp/parser.c:6158
0x67ce55 cp_parser_simple_type_specifier
        ../../gcc/cp/parser.c:16849
0x673dc8 cp_parser_postfix_expression
        ../../gcc/cp/parser.c:6704
0x67499d cp_parser_unary_expression
        ../../gcc/cp/parser.c:8108
0x675743 cp_parser_cast_expression
        ../../gcc/cp/parser.c:8786
0x675eb7 cp_parser_binary_expression
        ../../gcc/cp/parser.c:8887
0x676584 cp_parser_assignment_expression
        ../../gcc/cp/parser.c:9174
0x67977a cp_parser_expression
        ../../gcc/cp/parser.c:9343
0x66b864 cp_parser_jump_statement
        ../../gcc/cp/parser.c:12160
0x66b864 cp_parser_statement
        ../../gcc/cp/parser.c:10594
0x66be4d cp_parser_statement_seq_opt
        ../../gcc/cp/parser.c:11040
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.

------------------------

If this is related and relevant to bug #68372, please forward.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]