[cfe-commits] r127541 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaDeclCXX.cpp test/CXX/special/class.inhctor/elsewhere.cpp test/CXX/special/class.inhctor/p3.cpp test/CXX/special/class.inhctor/p7.cpp
Sebastian Redl
sebastian.redl at getdesigned.at
Sat Mar 12 05:44:23 PST 2011
Author: cornedbee
Date: Sat Mar 12 07:44:23 2011
New Revision: 127541
URL: http://llvm.org/viewvc/llvm-project?rev=127541&view=rev
Log:
Disable inherited constructors for 2.9.
Modified:
cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
cfe/trunk/lib/Sema/SemaDeclCXX.cpp
cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp
cfe/trunk/test/CXX/special/class.inhctor/p3.cpp
cfe/trunk/test/CXX/special/class.inhctor/p7.cpp
Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=127541&r1=127540&r2=127541&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Sat Mar 12 07:44:23 2011
@@ -164,6 +164,8 @@
"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<
Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=127541&r1=127540&r2=127541&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Sat Mar 12 07:44:23 2011
@@ -2898,7 +2898,8 @@
// 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.
- DeclareInheritedConstructors(Record);
+ // Disabled for 2.9
+ //DeclareInheritedConstructors(Record);
}
/// \brief Data used with FindHiddenVirtualMethod
@@ -4324,8 +4325,11 @@
// Constructor inheriting using decls get special treatment.
if (NameInfo.getName().getNameKind() == DeclarationName::CXXConstructorName) {
- if (CheckInheritedConstructorUsingDecl(UD))
- UD->setInvalidDecl();
+ // Disabled for 2.9
+ Diag(UD->getLocation(),
+ diag::err_using_decl_inherited_constructor_unsupported);
+ //if (CheckInheritedConstructorUsingDecl(UD))
+ UD->setInvalidDecl();
return UD;
}
Modified: cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp?rev=127541&r1=127540&r2=127541&view=diff
==============================================================================
--- cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp (original)
+++ cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp Sat Mar 12 07:44:23 2011
@@ -1,4 +1,6 @@
-// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
+// RUN: true
+// Disabled for 2.9
+//%clang_cc1 -std=c++0x -fsyntax-only -verify %s
// Tests related to constructor inheriting, but not specified in [class.inhctor]
Modified: cfe/trunk/test/CXX/special/class.inhctor/p3.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/special/class.inhctor/p3.cpp?rev=127541&r1=127540&r2=127541&view=diff
==============================================================================
--- cfe/trunk/test/CXX/special/class.inhctor/p3.cpp (original)
+++ cfe/trunk/test/CXX/special/class.inhctor/p3.cpp Sat Mar 12 07:44:23 2011
@@ -1,4 +1,6 @@
-// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
+// RUN: true
+// Disabled for 2.9
+//%clang_cc1 -std=c++0x -fsyntax-only -verify %s
struct B1 {
B1(int);
Modified: cfe/trunk/test/CXX/special/class.inhctor/p7.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/special/class.inhctor/p7.cpp?rev=127541&r1=127540&r2=127541&view=diff
==============================================================================
--- cfe/trunk/test/CXX/special/class.inhctor/p7.cpp (original)
+++ cfe/trunk/test/CXX/special/class.inhctor/p7.cpp Sat Mar 12 07:44:23 2011
@@ -1,4 +1,6 @@
-// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
+// RUN: true
+// Disabled for 2.9
+//%clang_cc1 -std=c++0x -fsyntax-only -verify %s
// Straight from the standard
struct B1 {
More information about the cfe-commits
mailing list