forked from OSchip/llvm-project
After a conversation with Doug. I added a fix me to
where we build the constructor's initializer list. llvm-svn: 80735
This commit is contained in:
parent
efe96918f8
commit
5083e2623b
|
@ -609,6 +609,19 @@ CXXConstructorDecl::setBaseOrMemberInitializers(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (HasDependentBaseInit) {
|
if (HasDependentBaseInit) {
|
||||||
|
// FIXME. This does not preserve the ordering of the initializers.
|
||||||
|
// Try (with -Wreorder)
|
||||||
|
// template<class X> struct A {};
|
||||||
|
// template<class X> struct B : A<X> {
|
||||||
|
// B() : x1(10), A<X>() {}
|
||||||
|
// int x1;
|
||||||
|
// };
|
||||||
|
// B<int> x;
|
||||||
|
// On seeing one dependent type, we should essentially exit this routine
|
||||||
|
// while preserving user-declared initializer list. When this routine is
|
||||||
|
// called during instantiatiation process, this routine will rebuild the
|
||||||
|
// oderdered initializer list correctly.
|
||||||
|
|
||||||
// If we have a dependent base initialization, we can't determine the
|
// If we have a dependent base initialization, we can't determine the
|
||||||
// association between initializers and bases; just dump the known
|
// association between initializers and bases; just dump the known
|
||||||
// initializers into the list, and don't try to deal with other bases.
|
// initializers into the list, and don't try to deal with other bases.
|
||||||
|
|
Loading…
Reference in New Issue