https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315
Bug ID: 69315 Summary: ICE in finish_function with constexpr and templates Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gerrit.los at gmail dot com Target Milestone: --- Created attachment 37373 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37373&action=edit reduced test case (27 lines) The attached reduced test case fails with an ICE in finish_function with current GCC. G++ gcc version 5.3.1 20160101 (Debian 5.3.1-5) works fine. GNU C++11 (GCC) version 6.0.0 20160116 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 6.0.0 20160116 (experimental), GMP version 6.0.0, MPFR version 3.1.3-p5, MPC version 1.0.2, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C++11 (GCC) version 6.0.0 20160116 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 6.0.0 20160116 (experimental), GMP version 6.0.0, MPFR version 3.1.3-p5, MPC version 1.0.2, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 902ad622abb081912322ce9873f62a84 iter.C.i: In instantiation of ‘constexpr bool operator==(Iter<C1>, Iter<C2>) [with bool C1 = true; bool C2 = true; bool <anonymous> = true]’: iter.C.i:27:1: required from ‘constexpr bool operator!=(Iter<C1>, Iter<C2>) [with bool C1 = true; bool C2 = true; bool <anonymous> = true]’ iter.C.i:16:18: required from here iter.C.i:23:1: internal compiler error: in finish_function, at cp/decl.c:14508