Author: ovyalov
Date: Sat May 14 14:07:13 2016
New Revision: 269575
URL: http://llvm.org/viewvc/llvm-project?rev=269575&view=rev
Log:
Revert r269546 "Added support to the ASTImporter for C++ constructor
initializers." as it breaks
TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwarf
test -
http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/14699
Removed:
cfe/trunk/test/ASTMerge/Inputs/init-ctors-classes.cpp
cfe/trunk/test/ASTMerge/init-ctors.cpp
Modified:
cfe/trunk/include/clang/AST/ASTImporter.h
cfe/trunk/lib/AST/ASTImporter.cpp
Modified: cfe/trunk/include/clang/AST/ASTImporter.h
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTImporter.h?rev=269575&r1=269574&r2=269575&view=diff
==
--- cfe/trunk/include/clang/AST/ASTImporter.h (original)
+++ cfe/trunk/include/clang/AST/ASTImporter.h Sat May 14 14:07:13 2016
@@ -23,7 +23,6 @@
namespace clang {
class ASTContext;
- class CXXCtorInitializer;
class Decl;
class DeclContext;
class DiagnosticsEngine;
@@ -205,14 +204,6 @@ namespace clang {
/// \returns the equivalent file ID in the source manager of the "to"
/// context.
FileID Import(FileID);
-
-/// \brief Import the given C++ constructor initializer from the "from"
-/// context into the "to" context.
-///
-/// \returns the equivalent initializer in the "to" context.
-CXXCtorInitializer *Import(CXXCtorInitializer *FromInit);
-
-
/// \brief Import the definition of the given declaration, including all of
/// the declarations it contains.
Modified: cfe/trunk/lib/AST/ASTImporter.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTImporter.cpp?rev=269575&r1=269574&r2=269575&view=diff
==
--- cfe/trunk/lib/AST/ASTImporter.cpp (original)
+++ cfe/trunk/lib/AST/ASTImporter.cpp Sat May 14 14:07:13 2016
@@ -3029,22 +3029,6 @@ Decl *ASTNodeImporter::VisitFunctionDecl
D->isInlineSpecified(),
D->isImplicit(),
D->isConstexpr());
-if (unsigned NumInitializers = FromConstructor->getNumCtorInitializers()) {
- SmallVector CtorInitializers;
- for (CXXCtorInitializer *I : FromConstructor->inits()) {
-CXXCtorInitializer *ToI =
-cast_or_null(Importer.Import(I));
-if (!ToI && I)
- return nullptr;
-CtorInitializers.push_back(ToI);
- }
- CXXCtorInitializer **Memory =
- new (Importer.getToContext()) CXXCtorInitializer *[NumInitializers];
- std::copy(CtorInitializers.begin(), CtorInitializers.end(), Memory);
- CXXConstructorDecl *ToCtor = llvm::cast(ToFunction);
- ToCtor->setCtorInitializers(Memory);
- ToCtor->setNumCtorInitializers(NumInitializers);
-}
} else if (isa(D)) {
ToFunction = CXXDestructorDecl::Create(Importer.getToContext(),
cast(DC),
@@ -6376,72 +6360,6 @@ FileID ASTImporter::Import(FileID FromID
return ToID;
}
-CXXCtorInitializer *ASTImporter::Import(CXXCtorInitializer *From) {
- Expr *ToExpr = Import(From->getInit());
- if (!ToExpr && From->getInit())
-return nullptr;
-
- if (From->isBaseInitializer()) {
-TypeSourceInfo *ToTInfo = Import(From->getTypeSourceInfo());
-if (!ToTInfo && From->getTypeSourceInfo())
- return nullptr;
-
-return new (ToContext) CXXCtorInitializer(
-ToContext, ToTInfo, From->isBaseVirtual(),
Import(From->getLParenLoc()),
-ToExpr, Import(From->getRParenLoc()),
-From->isPackExpansion() ? Import(From->getEllipsisLoc())
-: SourceLocation());
- } else if (From->isMemberInitializer()) {
-FieldDecl *ToField =
-llvm::cast_or_null(Import(From->getMember()));
-if (!ToField && From->getMember())
- return nullptr;
-
-return new (ToContext) CXXCtorInitializer(
-ToContext, ToField, Import(From->getMemberLocation()),
-Import(From->getLParenLoc()), ToExpr, Import(From->getRParenLoc()));
- } else if (From->isIndirectMemberInitializer()) {
-IndirectFieldDecl *ToIField = llvm::cast_or_null(
-Import(From->getIndirectMember()));
-if (!ToIField && From->getIndirectMember())
- return nullptr;
-
-return new (ToContext) CXXCtorInitializer(
-ToContext, ToIField, Import(From->getMemberLocation()),
-Import(From->getLParenLoc()), ToExpr, Import(From->getRParenLoc()));
- } else if (From->isDelegatingInitializer()) {
-TypeSourceInfo *ToTInfo = Import(From->getTypeSourceInfo());
-if (!ToTInfo && From->getTypeSourceInfo())
- return nullptr;
-
-return new (ToContext)
-CXXCtorInitializer(ToContext, ToTInfo, Import(From->getLParenL