[Bug c++/84647] New: internal compiler error: Segmentation fault (standard_conversion())

vegard.nossum at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Mar 1 12:22:00 GMT 2018


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

            Bug ID: 84647
           Summary: internal compiler error: Segmentation fault
                    (standard_conversion())
           Product: gcc
           Version: 8.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vegard.nossum at gmail dot com
  Target Milestone: ---

Input:

void (*a)(auto b = c());

Output:

xgcc -x c++ -S -fpermissive -
<stdin>:1:20: warning: there are no arguments to 'c' that depend on a template
parameter, so a declaration of 'c' must be available [-fpermissive]
<stdin>:1:18: warning: default arguments are only permitted for function
parameters [-fpermissive]
<stdin>:1:23: internal compiler error: Segmentation fault
0x3155789 crash_signal
        /home/vegard/git/gcc/gcc/toplev.c:325
0x8d2e4f standard_conversion
        /home/vegard/git/gcc/gcc/cp/call.c:1107
0x8fb4f0 implicit_conversion
        /home/vegard/git/gcc/gcc/cp/call.c:1840
0x8e9ce6 perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
        /home/vegard/git/gcc/gcc/cp/call.c:10561
0xb530ec check_default_argument(tree_node*, tree_node*, int)
        /home/vegard/git/gcc/gcc/cp/decl.c:12644
0xb5488f grokparms(tree_node*, tree_node**)
        /home/vegard/git/gcc/gcc/cp/decl.c:12817
0xbfca21 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
        /home/vegard/git/gcc/gcc/cp/decl.c:11247
0xc19118 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
        /home/vegard/git/gcc/gcc/cp/decl.c:5002
0xfa391c cp_parser_init_declarator
        /home/vegard/git/gcc/gcc/cp/parser.c:19591
0xfa9757 cp_parser_simple_declaration
        /home/vegard/git/gcc/gcc/cp/parser.c:13063
0xfaf948 cp_parser_block_declaration
        /home/vegard/git/gcc/gcc/cp/parser.c:12881
0x1002c05 cp_parser_declaration
        /home/vegard/git/gcc/gcc/cp/parser.c:12778
0xff9bdb cp_parser_declaration_seq_opt
        /home/vegard/git/gcc/gcc/cp/parser.c:12654
0xffb203 cp_parser_translation_unit
        /home/vegard/git/gcc/gcc/cp/parser.c:4561
0xffb203 c_parse_file()
        /home/vegard/git/gcc/gcc/cp/parser.c:38986
0x15a6ba5 c_common_parse_file()
        /home/vegard/git/gcc/gcc/c-family/c-opts.c:1132

$ xgcc --version
xgcc (GCC) 8.0.1 20180301 (experimental)

Built from git c435a9e730c6e8f10da09d58b4fc9aaeb401b0d5 (r258097).

It seems to have been introduced between 5.5.0 and 6.1.0.

Test case was minimised by C-Reduce.


More information about the Gcc-bugs mailing list