Created attachment 28154 [details] output of g++ -v The following code triggers a segfault. struct reg { template <typename CLS, typename T> constexpr reg(T CLS::*) {} }; struct foo { }; struct bar { foo a; // both of these trigger internal error static constexpr foo bar::*reg_a = &bar::a; static constexpr reg reg_a = &bar::a; }; g++ --version g++ (Debian 4.7.1-7) 4.7.1 Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4.6 seems to have the same problem.
Created attachment 28155 [details] preprocessed source
also ICEs on trunk
Fixed for 4.9.
*** Bug 51373 has been marked as a duplicate of this bug. ***