https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59937
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid Status|UNCONFIRMED |NEW Last reconfirmed| |2014-07-02 Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Maybe related: template<typename T> constexpr bool truth(const T&) { return true; } template<typename T> void test() { int i[1]; constexpr bool untrue = !truth(i); static_assert(!untrue, ""); } ce.cc: In function ‘void test()’: ce.cc:8:3: error: non-constant condition for static assertion static_assert(!untrue, ""); ^ ce.cc:8:3: error: the value of ‘untrue’ is not usable in a constant expression ce.cc:7:18: note: ‘untrue’ used in its own initializer constexpr bool untrue = !truth(i); ^