Committed, Thanks Markus!
- Yang
On 8/9/13 12:34 PM, Markus Trippelsdorf wrote:
...
RemoveBaseClass.cpp: In member function ‘void
RemoveBaseClass::removeBaseInitializer()’:
RemoveBaseClass.cpp:286:56: error: ‘class clang::CXXConstructorDecl’ has no
member named ‘isImplicitlyDefined’
if ((*I)->isThisDeclarationADefinition()&& !(*I)->isImplicitlyDefined())
It looks like CXXConstructorDecl::IsImplicitlyDefined got dropped in
rev187891.
Is the following patch OK?
diff --git a/clang_delta/RemoveBaseClass.cpp b/clang_delta/RemoveBaseClass.cpp
index fae38c1..e7092e4 100644
--- a/clang_delta/RemoveBaseClass.cpp
+++ b/clang_delta/RemoveBaseClass.cpp
@@ -283,7 +283,7 @@ void RemoveBaseClass::removeBaseInitializer(void)
{
for (CXXRecordDecl::ctor_iterator I = TheDerivedClass->ctor_begin(),
E = TheDerivedClass->ctor_end(); I != E; ++I) {
- if ((*I)->isThisDeclarationADefinition()&& !(*I)->isImplicitlyDefined())
+ if ((*I)->isThisDeclarationADefinition()&& !(*I)->isDefaulted())
rewriteOneCtor(*I);
}
}
diff --git a/clang_delta/ReplaceFunctionDefWithDecl.cpp
b/clang_delta/ReplaceFunctionDefWithDecl.cpp
index 84973c3..710e1f8 100644
--- a/clang_delta/ReplaceFunctionDefWithDecl.cpp
+++ b/clang_delta/ReplaceFunctionDefWithDecl.cpp
@@ -245,7 +245,7 @@ void ReplaceFunctionDefWithDecl::rewriteOneFunctionDef(
if (const CXXConstructorDecl *Ctor =
dyn_cast<const CXXConstructorDecl>(FD)) {
- TransAssert(!Ctor->isImplicitlyDefined()&& "Implicit Def!");
+ TransAssert(!Ctor->isDefaulted()&& "Implicit Def!");
removeCtorInitializers(Ctor);
}
RewriteHelper->replaceFunctionDefWithStr(FD, ";");