http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53224
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-04
02:43:22 UTC ---
synthesized_method_walk (type, kind, const_p, &raises, &trivial_p,
&deleted_p, &constexpr_p, false);
/* Don't bother marking a deleted constructor as constexpr. */
if (deleted_p)
constexpr_p = false;
/* A trivial copy/move constructor is also a constexpr constructor. */
else if (trivial_p && cxx_dialect >= cxx0x
&& (kind == sfk_copy_constructor
|| kind == sfk_move_constructor))
gcc_assert (constexpr_p);
if (!trivial_p && type_has_trivial_fn (type, kind))
type_set_nontrivial_flag (type, kind);
So trivial_p could be used uninitialized only as it is obvious that constexpr_p
was set correctly.