2013-02-15 Jason Merrill <jason@redhat.com>
+ PR c++/56343
+ * class.c (check_bases_and_members): Deduce noexcept after
+ checking bases.
+
PR c++/52026
* semantics.c (finish_id_expression): In a template, return
the identifier for a constant variable.
cant_have_const_ctor = 0;
no_const_asn_ref = 0;
- /* Deduce noexcept on destructors. */
- if (cxx_dialect >= cxx0x)
- deduce_noexcept_on_destructors (t);
-
/* Check all the base-classes. */
check_bases (t, &cant_have_const_ctor,
&no_const_asn_ref);
+ /* Deduce noexcept on destructors. This needs to happen after we've set
+ triviality flags appropriately for our bases. */
+ if (cxx_dialect >= cxx0x)
+ deduce_noexcept_on_destructors (t);
+
/* Check all the method declarations. */
check_methods (t);