[this is output from just compiling the one line creduce output] instantiate_predef_macros.pp.cpp:1:21: internal compiler error: in splice_late_return_type, at cp/pt.c:29095 1 | template decltype(0) | ^~~~~~~~~~~ 0x5c36e6 splice_late_return_type(tree_node*, tree_node*) /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/pt.c:29095 0x679691 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/decl.c:12132 0x70f6e9 cp_parser_template_parameter /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/parser.c:16339 0x70f6e9 cp_parser_template_parameter_list /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/parser.c:15900 0x717a1e cp_parser_explicit_template_declaration /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/parser.c:29310 0x71acd9 cp_parser_declaration /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/parser.c:13382 0x71b302 cp_parser_translation_unit /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/parser.c:4734 0x71b302 c_parse_file() /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/parser.c:43975 0x7ebef3 c_common_parse_file() /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/c-family/c-opts.c:1190 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. ----------------------- GNU gdb (Gentoo 9.1 vanilla) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from x86_64-pc-linux-gnu-g++... Expanding full symbols from x86_64-pc-linux-gnu-g++... Breakpoint 1 at 0x432a60: file /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/diagnostic.c, line 1706. (gdb) b /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/pt.c:29095 Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 2 (/var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/pt.c:29095) pending. (gdb) r Starting program: /usr/bin/x86_64-pc-linux-gnu-g++ -fvisibility-inlines-hidden -Os -pipe -fomit-frame-pointer -std=c++14 -fPIC -m64 -pthread -finline-functions -Wno-inline -Wall -fvisibility=hidden -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DNDEBUG -c -o instantiate_predef_macros.o instantiate_predef_macros.pp.cpp [New inferior 2 (process 12860)] [Inferior 1 (process 12856) detached] process 12860 is executing new program: /usr/libexec/gcc/x86_64-pc-linux-gnu/10.1.0/cc1plus [Switching to process 12860] Thread 2.1 "cc1plus" hit Breakpoint 2, 0x000000000072ad8c in splice_late_return_type(tree_node*, tree_node*) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 86 return ret; (gdb) i b Num Type Disp Enb Address What 1 breakpoint keep y 0x00000000015af320 in internal_error(char const*, ...) at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/diagnostic.c:1706 inf 1, 2 2 breakpoint keep y 0x000000000072ad8c /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/cp/pt.c:29095 inf 1, 2 breakpoint already hit 1 time (gdb) bt #0 0x000000000072ad8c in splice_late_return_type(tree_node*, tree_node*) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #1 0x0000000000679692 in grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #2 0x000000000070f6ea in cp_parser_template_parameter_list(cp_parser*) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #3 0x0000000000717a1f in cp_parser_explicit_template_declaration(cp_parser*, bool) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #4 0x000000000071acda in cp_parser_declaration(cp_parser*) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #5 0x000000000071b303 in c_parse_file() () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #6 0x00000000007ebef4 in c_common_parse_file() () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #7 0x0000000000c760c3 in compile_file () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/toplev.c:458 #8 0x00000000006005e5 in toplev::main(int, char**) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #9 0x00000000006040cc in main (argc=30, argv=0x7fffffffd518) at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/main.c:39 (gdb) disassemble /s Dump of assembler code for function _Z23splice_late_return_typeP9tree_nodeS0_: /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h: 86 return ret; 0x000000000072ad70 <+0>: push %r13 0x000000000072ad72 <+2>: push %r12 0x000000000072ad74 <+4>: push %rbp 0x000000000072ad75 <+5>: push %rbx 0x000000000072ad76 <+6>: sub $0x18,%rsp 0x000000000072ad7a <+10>: mov %rdi,0x8(%rsp) 0x000000000072ad7f <+15>: callq 0x725960 <_Z7is_autoPK9tree_node> 0x000000000072ad84 <+20>: test %rsi,%rsi 0x000000000072ad87 <+23>: je 0x72adc0 <_Z23splice_late_return_typeP9tree_nodeS0_+80> 0x000000000072ad89 <+25>: mov %rsi,%rbx => 0x000000000072ad8c <+28>: test %al,%al 0x000000000072ad8e <+30>: je 0x72adb0 <_Z23splice_late_return_typeP9tree_nodeS0_+64> 0x000000000072ad90 <+32>: mov %rbx,%r12 0x000000000072ad93 <+35>: add $0x18,%rsp 0x000000000072ad97 <+39>: mov %r12,%rax 0x000000000072ad9a <+42>: pop %rbx 0x000000000072ad9b <+43>: pop %rbp 0x000000000072ad9c <+44>: pop %r12 0x000000000072ad9e <+46>: pop %r13 0x000000000072ada0 <+48>: retq 0x000000000072ada1 <+49>: data16 nopw %cs:0x0(%rax,%rax,1) 0x000000000072adac <+60>: nopl 0x0(%rax) 0x000000000072adb0 <+64>: callq 0x15ada30 0x000000000072adb5 <+69>: test %al,%al 0x000000000072adb7 <+71>: jne 0x72ad90 <_Z23splice_late_return_typeP9tree_nodeS0_+32> 0x000000000072adb9 <+73>: jmpq 0x5c36d3 <_Z23splice_late_return_typeP9tree_nodeS0_.cold> 0x000000000072adbe <+78>: xchg %ax,%ax 0x000000000072adc0 <+80>: mov %rdi,%r12 0x000000000072adc3 <+83>: mov %rdi,%rbx 0x000000000072adc6 <+86>: lea 0x8(%rsp),%r13 0x000000000072adcb <+91>: movabs $0x2000610c20,%rbp 0x000000000072add5 <+101>: jmp 0x72ae2e <_Z23splice_late_return_typeP9tree_nodeS0_+190> 0x000000000072add7 <+103>: nopw 0x0(%rax,%rax,1) 0x000000000072ade0 <+112>: movzwl (%rbx),%eax 0x000000000072ade3 <+115>: cmp $0x25,%ax 0x000000000072ade7 <+119>: ja 0x72ad93 <_Z23splice_late_return_typeP9tree_nodeS0_+35> 0x000000000072ade9 <+121>: bt %rax,%rbp 0x000000000072aded <+125>: lea 0x8(%rbx),%r13 0x000000000072adf1 <+129>: jb 0x72ae22 <_Z23splice_late_return_typeP9tree_nodeS0_+178> 0x000000000072adf3 <+131>: cmp $0x11,%ax 0x000000000072adf7 <+135>: jne 0x72ad93 <_Z23splice_late_return_typeP9tree_nodeS0_+35> 0x000000000072adf9 <+137>: testb $0x8,0x37(%rbx) 0x000000000072adfd <+141>: je 0x72ad93 <_Z23splice_late_return_typeP9tree_nodeS0_+35> 0x000000000072adff <+143>: mov %rbx,%rdi 0x000000000072ae02 <+146>: callq 0x787d90 <_Z13cp_type_qualsPK9tree_node> 0x000000000072ae07 <+151>: mov $0x3,%edx 0x000000000072ae0c <+156>: mov %eax,%esi 0x000000000072ae0e <+158>: mov 0x88(%rbx),%rax 0x000000000072ae15 <+165>: mov 0x8(%rax),%rdi 0x000000000072ae19 <+169>: callq 0x780fe0 <_Z28cp_build_qualified_type_realP9tree_nodeii> 0x000000000072ae1e <+174>: lea 0x8(%rax),%r13 0x000000000072ae22 <+178>: mov 0x0(%r13),%rbx 0x000000000072ae26 <+182>: mov %rbx,%rdi 0x000000000072ae29 <+185>: callq 0x725960 <_Z7is_autoPK9tree_node> 0x000000000072ae2e <+190>: test %al,%al 0x000000000072ae30 <+192>: je 0x72ade0 <_Z23splice_late_return_typeP9tree_nodeS0_+112> 0x000000000072ae32 <+194>: mov %rbx,%rdi 0x000000000072ae35 <+197>: callq 0x71d1e0 <_ZL23get_template_parm_indexP9tree_node> 0x000000000072ae3a <+202>: mov 0x19644bf(%rip),%rdx # 0x208f300 0x000000000072ae41 <+209>: mov 0x70(%rdx),%ecx 0x000000000072ae44 <+212>: cmp %ecx,0x1c(%rax) 0x000000000072ae47 <+215>: jg 0x72ad93 <_Z23splice_late_return_typeP9tree_nodeS0_+35> 0x000000000072ae4d <+221>: mov 0x78(%rbx),%rdi 0x000000000072ae51 <+225>: test %rdi,%rdi 0x000000000072ae54 <+228>: je 0x72ae67 <_Z23splice_late_return_typeP9tree_nodeS0_+247> 0x000000000072ae56 <+230>: movzwl (%rdi),%eax 0x000000000072ae59 <+233>: cmpl $0x3,0x175c280(,%rax,4) 0x000000000072ae61 <+241>: jne 0x72ae67 <_Z23splice_late_return_typeP9tree_nodeS0_+247> 0x000000000072ae63 <+243>: mov 0x20(%rdi),%rdi 0x000000000072ae67 <+247>: xor %esi,%esi 0x000000000072ae69 <+249>: callq 0x72abe0 <_ZL11make_auto_1P9tree_nodeb> 0x000000000072ae6e <+254>: mov 0x0(%r13),%rdx 0x000000000072ae72 <+258>: mov %rax,%rbp 0x000000000072ae75 <+261>: mov 0x78(%rax),%rax 0x000000000072ae79 <+265>: mov %rbp,%rdi 0x000000000072ae7c <+268>: mov 0x78(%rdx),%rdx 0x000000000072ae80 <+272>: mov 0x48(%rdx),%rdx 0x000000000072ae84 <+276>: mov %rdx,0x48(%rax) 0x000000000072ae88 <+280>: callq 0x72aa60 <_ZL24canonical_type_parameterP9tree_node> 0x000000000072ae8d <+285>: mov %rbp,%rdi 0x000000000072ae90 <+288>: mov %rax,0x58(%rbp) 0x000000000072ae94 <+292>: mov 0x0(%r13),%rdx 0x000000000072ae98 <+296>: movzbl 0x35(%rdx),%esi 0x000000000072ae9c <+300>: movzbl 0x7(%rdx),%eax 0x000000000072aea0 <+304>: movzbl 0x2(%rdx),%ecx 0x000000000072aea4 <+308>: movzbl 0x5(%rdx),%edx 0x000000000072aea8 <+312>: shr $0x5,%si 0x000000000072aeac <+316>: shl $0x8,%eax 0x000000000072aeaf <+319>: and $0x1,%esi 0x000000000072aeb2 <+322>: shr $0x4,%dx 0x000000000072aeb6 <+326>: shl $0x2,%esi 0x000000000072aeb9 <+329>: and $0x1,%edx 0x000000000072aebc <+332>: or %eax,%esi 0x000000000072aebe <+334>: mov %ecx,%eax 0x000000000072aec0 <+336>: shl $0x3,%edx 0x000000000072aec3 <+339>: shr $0x4,%cx 0x000000000072aec7 <+343>: shr $0x3,%ax 0x000000000072aecb <+347>: and $0x1,%ecx 0x000000000072aece <+350>: and $0x1,%eax 0x000000000072aed1 <+353>: add %eax,%eax 0x000000000072aed3 <+355>: or %edx,%eax 0x000000000072aed5 <+357>: mov $0x3,%edx 0x000000000072aeda <+362>: or %eax,%esi 0x000000000072aedc <+364>: or %ecx,%esi 0x000000000072aede <+366>: callq 0x780fe0 <_Z28cp_build_qualified_type_realP9tree_nodeii> 0x000000000072aee3 <+371>: mov %rax,0x0(%r13) 0x000000000072aee7 <+375>: mov 0x8(%rsp),%r12 0x000000000072aeec <+380>: jmpq 0x72ad93 <_Z23splice_late_return_typeP9tree_nodeS0_+35> End of assembler dump. (gdb) c Continuing. Thread 2.1 "cc1plus" hit Breakpoint 1, internal_error (gmsgid=0x1e056c6 "in %s, at %s:%d") at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/diagnostic.c:1706 1706 { (gdb) bt #0 internal_error (gmsgid=0x1e056c6 "in %s, at %s:%d") at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/diagnostic.c:1706 #1 0x00000000005fcf74 in fancy_abort(char const*, int, char const*) () #2 0x00000000005c36e7 in splice_late_return_type(tree_node*, tree_node*) [clone .cold] () #3 0x0000000000679692 in grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #4 0x000000000070f6ea in cp_parser_template_parameter_list(cp_parser*) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #5 0x0000000000717a1f in cp_parser_explicit_template_declaration(cp_parser*, bool) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #6 0x000000000071acda in cp_parser_declaration(cp_parser*) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #7 0x000000000071b303 in c_parse_file() () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #8 0x00000000007ebef4 in c_common_parse_file() () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #9 0x0000000000c760c3 in compile_file () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/toplev.c:458 #10 0x00000000006005e5 in toplev::main(int, char**) () at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/wide-int-bitmask.h:86 #11 0x00000000006040cc in main (argc=30, argv=0x7fffffffd518) at /var/tmp/portage/sys-devel/gcc-10.1.0-r2/work/gcc-10.1.0/gcc/main.c:39 (gdb) frame 2 #2 0x00000000005c36e7 in splice_late_return_type(tree_node*, tree_node*) [clone .cold] () (gdb) l 1701 continue. Note that unless there is debugging value to be had from 1702 a more specific message, or some other good reason, you should use 1703 abort () instead of calling this function directly. */ 1704 void 1705 internal_error (const char *gmsgid, ...) 1706 { 1707 auto_diagnostic_group d; 1708 va_list ap; 1709 va_start (ap, gmsgid); 1710 rich_location richloc (line_table, input_location); (gdb) quit A debugging session is active. Inferior 2 [process 12860] will be killed. Quit anyway? (y or n) y