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, ";");


Reply via email to