https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79900
Bug ID: 79900 Summary: [5/6/7 Regression] ICE in strip_typedefs, at cp/tree.c:1554 Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Starting from 4.7.0, we started to ICE on: $ g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/eh/unwind2.C -Wpadded /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/eh/unwind2.C: In instantiation of ‘class std::basic_filebuf<char, std::char_traits<char> >’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/eh/unwind2.C:93:18: required from here /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/eh/unwind2.C:70:16: warning: padding struct to align ‘std::basic_filebuf<char, std::char_traits<char> >::_M_pback_cur_save’ [-Wpadded] char_type *_M_pback_cur_save; ^~~~~~~~~~~~~~~~~ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/eh/unwind2.C:61:55: warning: padding struct size to alignment boundary [-Wpadded] template <typename _CharT, typename _Traits> struct basic_filebuf : public basic_streambuf <_CharT, _Traits> ^~~~~~~~~~~~~ ‘ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/eh/unwind2.C: In instantiation of ‘struct std::fpos<mbstate_t>’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/eh/unwind2.C:83:3: in strip_typedefs, at cp/tree.c:1554 template <typename _StateT> struct fpos ^~~~ 0x86b7d9 strip_typedefs(tree_node*, bool*) ../../gcc/cp/tree.c:1554 0x783b81 dump_template_bindings ../../gcc/cp/error.c:357 0x783b81 dump_substitution ../../gcc/cp/error.c:1494 0x7847ab dump_substitution ../../gcc/cp/error.c:1528 0x7847ab dump_function_decl ../../gcc/cp/error.c:1649 0x790c02 decl_to_string ../../gcc/cp/error.c:3028 0x790c02 cp_printer ../../gcc/cp/error.c:3605 0x15fd79f pp_format(pretty_printer*, text_info*) ../../gcc/pretty-print.c:679 0x15fe780 pp_format_verbatim(pretty_printer*, text_info*) ../../gcc/pretty-print.c:738 0x15fe854 pp_verbatim(pretty_printer*, char const*, ...) ../../gcc/pretty-print.c:939 0x78256d print_instantiation_partial_context_line ../../gcc/cp/error.c:3405 0x78256d print_instantiation_partial_context ../../gcc/cp/error.c:3515 0x78256d print_instantiation_full_context ../../gcc/cp/error.c:3394 0x78256d maybe_print_instantiation_context ../../gcc/cp/error.c:3531 0x78c4af cp_diagnostic_starter ../../gcc/cp/error.c:3224 0x15f0b84 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) ../../gcc/diagnostic.c:962 0x15f0ed3 diagnostic_impl ../../gcc/diagnostic.c:1084 0x15f124c warning(int, char const*, ...) ../../gcc/diagnostic.c:1172 0xde474d finalize_record_size ../../gcc/stor-layout.c:1583 0xde474d finish_record_layout(record_layout_info_s*, int) ../../gcc/stor-layout.c:2023