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.

Reply via email to