Running multidelta. Will update tomorrow. tbm@dl580gen9-02:~/gcc6/testcase1/1$ g++-6 -c DictDataInfoPyWrap.ii tbm@dl580gen9-02:~/gcc6/testcase1/1$ g++-6 -c -Wformat DictDataInfoPyWrap.ii src/DictDataInfoPyWrap.C: In function 'void InitDictDataInfoPyWrapper()': src/DictDataInfoPyWrap.C:220:65: internal compiler error: in fold_convert_loc, at fold-const.c:2366 0x890552 fold_convert_loc(unsigned int, tree_node*, tree_node*) ../../src/gcc/fold-const.c:2366 0x68f641 cp_fold_convert(tree_node*, tree_node*) ../../src/gcc/cp/cvt.c:605 0x6fa49a cxx_eval_constant_expression ../../src/gcc/cp/constexpr.c:3344 0x6f902b cxx_eval_constant_expression ../../src/gcc/cp/constexpr.c:3421 0x6f8daf cxx_eval_constant_expression ../../src/gcc/cp/constexpr.c:3613 0x6fbe48 cxx_eval_outermost_constant_expr ../../src/gcc/cp/constexpr.c:3816 0x6fce63 maybe_constant_value_1 ../../src/gcc/cp/constexpr.c:4003 0x6fce63 maybe_constant_value(tree_node*, tree_node*) ../../src/gcc/cp/constexpr.c:4024 0x5cbeb9 build_over_call ../../src/gcc/cp/call.c:7546 0x5ca97f build_new_method_call_1 ../../src/gcc/cp/call.c:8408 0x5ca97f build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) ../../src/gcc/cp/call.c:8478 0x656597 cp_parser_postfix_expression ../../src/gcc/cp/parser.c:6855 0x65e370 cp_parser_unary_expression ../../src/gcc/cp/parser.c:7964 0x65ee7b cp_parser_cast_expression ../../src/gcc/cp/parser.c:8641 0x65f298 cp_parser_binary_expression ../../src/gcc/cp/parser.c:8742 0x65fa84 cp_parser_assignment_expression ../../src/gcc/cp/parser.c:9029 0x66282a cp_parser_expression ../../src/gcc/cp/parser.c:9198 0x663210 cp_parser_expression_statement ../../src/gcc/cp/parser.c:10659 0x6516d4 cp_parser_statement ../../src/gcc/cp/parser.c:10510 0x6524d1 cp_parser_statement_seq_opt ../../src/gcc/cp/parser.c:10782 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report.
Created attachment 37401 [details] Preprocessed source
Confirmed.
Started with: commit 3c77e6e51f3def12b1ad416dac4b907f2245b047 Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Nov 17 21:49:23 2015 +0000 PR bootstrap/68346 * typeck.c (build_static_cast_1): Force a NOP when converting to the same type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230508 138bc75d-0d04-0410-961f-82ee72b054a4 Reduced testcase would be much appreciated!
markus@x4 tmp % cat DictDataInfoPyWrap.ii typedef int Trans_NS___cxx11_string; class A { public: template <class DerivedT> A(char *, DerivedT); template <class Fn, class A1, class A2> void m_fn1(char *, Fn, A1 const &, A2); }; struct Dict { void m_fn2(); }; void fn1() { A a("", ""); typedef void *Get; typedef void (Dict::*d)(Trans_NS___cxx11_string); a.m_fn1("", Get(), d(&Dict::m_fn2), ""); } markus@x4 tmp % g++ -w -c -Wformat DictDataInfoPyWrap.ii DictDataInfoPyWrap.ii: In function ‘void fn1()’: DictDataInfoPyWrap.ii:15:41: internal compiler error: in fold_convert_loc, at fold-const.c:2366
This reduced testcase started ICEing with r230365.
I think I've a fix for the first problem. But a reduced testcase would be really nice.
(In reply to Marek Polacek from comment #6) > I think I've a fix for the first problem. But a reduced testcase would be > really nice. I thought Markus Trippelsdorf provided a reduced testcase in comment #4.
That triggers a slightly different path, but on further consideration I think I have a better fix that fixes both, so the reduced testcase we already have should be enough.
Ok, I'll re-start the delta run.
(In reply to Martin Michlmayr from comment #9) > Ok, I'll re-start the delta run. I'm sorry, but this isn't making any progress so I cannot offer a reduced testcase. However, I'll attach preprocessed source from another package that fails with this ICE. $ g++-6 -c -Wformat PushButton.pypp.ii
Created attachment 37428 [details] Preprocessed source
Author: mpolacek Date: Wed Jan 27 16:46:40 2016 New Revision: 232882 URL: https://gcc.gnu.org/viewcvs?rev=232882&root=gcc&view=rev Log: PR c++/69379 * constexpr.c (cxx_eval_constant_expression): Handle PTRMEM_CSTs wrapped in NOP_EXPRs. * g++.dg/pr69379.C: New test. Added: trunk/gcc/testsuite/g++.dg/pr69379.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/constexpr.c trunk/gcc/testsuite/ChangeLog
Hopefully fixed.