https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66467
Bug ID: 66467 Summary: [6 Regression] ICE: Error reporting routines re-entered. Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Target Milestone: --- trippels@gcc2-power8 tools % cat test.ii template <bool> struct A { typedef int type; }; struct B { static const int value = 0; }; template <class> struct C { typedef int type; }; template <class> struct F : B {}; class D { template <class Expr> typename A<F<typename C<Expr>::type>::value || B::value>::type operator=(Expr); }; void fn1() { D opt; opt = 0; } trippels@gcc2-power8 tools % g++ -c test.ii ‘ Internal compiler error: Error reporting routines re-entered. 0x10438cbf warn_logical_operator(unsigned int, tree_code, tree_node*, tree_code, tree_node*, tree_code, tree_node*) ../../gcc/gcc/c-family/c-common.c:1848 0x1018967f build_new_op_1 ../../gcc/gcc/cp/call.c:5669 0x1018a58f build_new_op(unsigned int, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int) ../../gcc/gcc/cp/call.c:5738 0x1030af83 build_x_binary_op(unsigned int, tree_code, tree_node*, tree_code, tree_node*, tree_code, tree_node**, int) ../../gcc/gcc/cp/typeck.c:3811 0x10218eef tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:14776 0x101f667b tsubst_expr ../../gcc/gcc/cp/pt.c:14398 0x1020b22f tsubst_template_arg ../../gcc/gcc/cp/pt.c:9684 0x10204cbb tsubst_template_args ../../gcc/gcc/cp/pt.c:10246 0x1020e423 tsubst_aggr_type ../../gcc/gcc/cp/pt.c:10443 0x1020826b tsubst(tree_node*, tree_node*, int, tree_node*) ../../gcc/gcc/cp/pt.c:12412 0x10298287 dump_template_bindings ../../gcc/gcc/cp/error.c:353 0x10298287 dump_substitution ../../gcc/gcc/cp/error.c:1432 0x102a911b decl_to_string ../../gcc/gcc/cp/error.c:2894 0x102a911b cp_printer ../../gcc/gcc/cp/error.c:3475 0x111a3393 pp_format(pretty_printer*, text_info*) ../../gcc/gcc/pretty-print.c:613 0x1119fa13 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) ../../gcc/gcc/diagnostic.c:916 0x111a051f error(char const*, ...) ../../gcc/gcc/diagnostic.c:1187 0x1016d07f enforce_access(tree_node*, tree_node*, tree_node*, int) ../../gcc/gcc/cp/call.c:6049 0x10365b03 perform_or_defer_access_check(tree_node*, tree_node*, tree_node*, int) ../../gcc/gcc/cp/semantics.c:343 0x10173bcf build_over_call ../../gcc/gcc/cp/call.c:7139 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.