Revert "Disable inherited constructors for 2.9."

It is only meant for the release branch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127542 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sebastian Redl 2011-03-12 13:44:32 +00:00
Родитель a808c544f9
Коммит caa35e4bbf
5 изменённых файлов: 6 добавлений и 18 удалений

Просмотреть файл

@ -164,8 +164,6 @@ def err_using_decl_nested_name_specifier_is_current_class : Error<
"using declaration refers to its own class">;
def err_using_decl_nested_name_specifier_is_not_base_class : Error<
"using declaration refers into '%0', which is not a base class of %1">;
def err_using_decl_inherited_constructor_unsupported : Error<
"inherited constructors are not supported">;
def err_using_decl_constructor_not_in_direct_base : Error<
"%0 is not a direct base of %1, can not inherit constructors">;
def err_using_decl_constructor_conflict : Error<

Просмотреть файл

@ -2898,8 +2898,7 @@ void Sema::CheckCompletedCXXClass(CXXRecordDecl *Record) {
// waste space and performance on classes that are not meant to be
// instantiated (e.g. meta-functions). This doesn't apply to classes that
// have inherited constructors.
// Disabled for 2.9
//DeclareInheritedConstructors(Record);
DeclareInheritedConstructors(Record);
}
/// \brief Data used with FindHiddenVirtualMethod
@ -4325,11 +4324,8 @@ NamedDecl *Sema::BuildUsingDeclaration(Scope *S, AccessSpecifier AS,
// Constructor inheriting using decls get special treatment.
if (NameInfo.getName().getNameKind() == DeclarationName::CXXConstructorName) {
// Disabled for 2.9
Diag(UD->getLocation(),
diag::err_using_decl_inherited_constructor_unsupported);
//if (CheckInheritedConstructorUsingDecl(UD))
UD->setInvalidDecl();
if (CheckInheritedConstructorUsingDecl(UD))
UD->setInvalidDecl();
return UD;
}

Просмотреть файл

@ -1,6 +1,4 @@
// RUN: true
// Disabled for 2.9
//%clang_cc1 -std=c++0x -fsyntax-only -verify %s
// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
// Tests related to constructor inheriting, but not specified in [class.inhctor]

Просмотреть файл

@ -1,6 +1,4 @@
// RUN: true
// Disabled for 2.9
//%clang_cc1 -std=c++0x -fsyntax-only -verify %s
// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
struct B1 {
B1(int);

Просмотреть файл

@ -1,6 +1,4 @@
// RUN: true
// Disabled for 2.9
//%clang_cc1 -std=c++0x -fsyntax-only -verify %s
// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
// Straight from the standard
struct B1 {