/cp
2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51612
* semantics.c (is_valid_constexpr_fn): In case of constexpr
constructors also check for virtual base classes.
/testsuite
2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51612
* g++.dg/cpp0x/constexpr-ice4.C: New.
From-SVN: r182526
+2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51612
+ * semantics.c (is_valid_constexpr_fn): In case of constexpr
+ constructors also check for virtual base classes.
+
2011-12-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51328
}
}
}
+ else if (CLASSTYPE_VBASECLASSES (DECL_CONTEXT (fun)))
+ {
+ ret = false;
+ if (complain)
+ error ("%q#T has virtual base classes", DECL_CONTEXT (fun));
+ }
return ret;
}
+2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51612
+ * g++.dg/cpp0x/constexpr-ice4.C: New.
+
2011-12-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51328
--- /dev/null
+// PR c++/51612
+// { dg-options -std=c++0x }
+
+struct A {};
+
+struct B : virtual A
+{
+ constexpr B() { } // { dg-error "has virtual base classes" }
+};