Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cvise for openSUSE:Factory checked 
in at 2022-09-12 19:08:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cvise (Old)
 and      /work/SRC/openSUSE:Factory/.cvise.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cvise"

Mon Sep 12 19:08:31 2022 rev:55 rq:1002720 version:2.5.0+git.20220912.e2268dd

Changes:
--------
--- /work/SRC/openSUSE:Factory/cvise/cvise.changes      2022-09-11 
21:57:56.113726999 +0200
+++ /work/SRC/openSUSE:Factory/.cvise.new.2083/cvise.changes    2022-09-12 
19:08:35.698594809 +0200
@@ -1,0 +2,16 @@
+Mon Sep 12 07:46:52 UTC 2022 - mli...@suse.cz
+
+- Update to version 2.5.0+git.20220912.e2268dd:
+  * Added member-to-global pass that moves declarations within a record (class 
or struct) in front of the record
+
+-------------------------------------------------------------------
+Mon Sep 12 07:17:11 UTC 2022 - mli...@suse.cz
+
+- Update to version 2.5.0+git.20220912.c56e8a0:
+  * Replaced everywhere TypedefDecl by TypedefNameDecl to supporting 
typedef-like using declarations
+  * Hopefully compatible with old libclang
+  * return-void transformation discarded function specifiers, attributes and 
scope qualifiers
+  * class-template-to-class transformation was not working with out-of-line 
method definitions
+  * Add c++2b C++ standard.
+
+-------------------------------------------------------------------

Old:
----
  cvise-2.5.0+git.20220911.4c7ce7f.tar.xz

New:
----
  cvise-2.5.0+git.20220912.e2268dd.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cvise.spec ++++++
--- /var/tmp/diff_new_pack.apLDqa/_old  2022-09-12 19:08:36.346596631 +0200
+++ /var/tmp/diff_new_pack.apLDqa/_new  2022-09-12 19:08:36.354596653 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           cvise
-Version:        2.5.0+git.20220911.4c7ce7f
+Version:        2.5.0+git.20220912.e2268dd
 Release:        0
 Summary:        Super-parallel Python port of the C-Reduce
 License:        BSD-3-Clause

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.apLDqa/_old  2022-09-12 19:08:36.406596799 +0200
+++ /var/tmp/diff_new_pack.apLDqa/_new  2022-09-12 19:08:36.410596811 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/marxin/cvise</param>
-              <param 
name="changesrevision">d968def2709693b1aaba5ecb022876093972f1bd</param></service></servicedata>
+              <param 
name="changesrevision">18c806a407c2519aedb21b01d0029db304739c47</param></service></servicedata>
 (No newline at EOF)
 

++++++ cvise-2.5.0+git.20220911.4c7ce7f.tar.xz -> 
cvise-2.5.0+git.20220912.e2268dd.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/CMakeLists.txt 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/CMakeLists.txt
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/CMakeLists.txt     
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/CMakeLists.txt     
2022-09-12 09:46:31.000000000 +0200
@@ -317,6 +317,10 @@
   "/tests/replace-function-def-with-decl/simple.cpp.preserve_foo.output"
   "/tests/replace-function-def-with-decl/simple.cpp.preserve_missing.output"
   "/tests/replace-function-def-with-decl/simple.cpp.preserve_quack.output"
+  "/tests/replace-simple-typedef/test1.cc"
+  "/tests/replace-simple-typedef/test1.output"
+  "/tests/replace-simple-typedef/test2.cc"
+  "/tests/replace-simple-typedef/test2.output"
   "/tests/return-void/test1.c"
   "/tests/return-void/test1.output"
   "/tests/return-void/test2.c"
@@ -354,6 +358,18 @@
   "/tests/union-to-struct/union3.output"
   "/tests/simple-inliner/alias-crash.c"
   "/tests/simple-inliner/alias-crash.output"
+  "/tests/member-to-global/test1.cc"
+  "/tests/member-to-global/test1.output"
+  "/tests/member-to-global/test2.cc"
+  "/tests/member-to-global/test2.output"
+  "/tests/member-to-global/test3.cc"
+  "/tests/member-to-global/test3.output"
+  "/tests/member-to-global/test4.cc"
+  "/tests/member-to-global/test4.output"
+  "/tests/member-to-global/test5.cc"
+  "/tests/member-to-global/test5.output"
+  "/tests/member-to-global/test6.cc"
+  "/tests/member-to-global/test6.output"
 )
 
 foreach(file IN LISTS SOURCE_FILES)
@@ -460,6 +476,8 @@
   ParamToGlobal.h
   ParamToLocal.cpp
   ParamToLocal.h
+  MemberToGlobal.cpp
+  MemberToGlobal.h
   ReduceArrayDim.cpp
   ReduceArrayDim.h
   ReduceArraySize.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/MemberToGlobal.cpp 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/MemberToGlobal.cpp
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/MemberToGlobal.cpp 
1970-01-01 01:00:00.000000000 +0100
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/MemberToGlobal.cpp 
2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,192 @@
+//===----------------------------------------------------------------------===//
+//
+// Copyright (c) 2012, 2013, 2014, 2015 The University of Utah
+// All rights reserved.
+//
+// This file is distributed under the University of Illinois Open Source
+// License.  See the file COPYING for details.
+//
+//===----------------------------------------------------------------------===//
+
+#if HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "MemberToGlobal.h"
+
+#include "clang/AST/ASTContext.h"
+#include "clang/Basic/SourceManager.h"
+
+#include "TransformationManager.h"
+
+using namespace clang;
+
+static const char* DescriptionMsg =
+"Move declarations within a record (class or struct) in front of the record. \
+The pass supports functions, variables, typedefs and nested records. \n";
+
+static RegisterTransformation<MemberToGlobal>
+         Trans("member-to-global", DescriptionMsg);
+
+class MemberToGlobal::CollectionVisitor : public 
+  RecursiveASTVisitor<CollectionVisitor> {
+
+public:
+  explicit CollectionVisitor(MemberToGlobal *Instance)
+    : ConsumerInstance(Instance)
+  { }
+
+  bool VisitRecordDecl(RecordDecl* RD) {
+    for (auto* D : RD->decls())
+      if (ConsumerInstance->isValidDecl(RD, D))
+        ConsumerInstance->ValidDecls.push_back(std::make_pair(RD, D));
+
+    return true;
+  }
+
+private:
+  MemberToGlobal *ConsumerInstance;
+};
+
+class MemberToGlobal::RewriteVisitor : public 
RecursiveASTVisitor<RewriteVisitor> {
+
+public:
+  explicit RewriteVisitor(MemberToGlobal *Instance)
+    : ConsumerInstance(Instance)
+  { }
+
+  bool VisitMemberExpr(MemberExpr* ME) {
+    if (!ME->isImplicitAccess() && 
ConsumerInstance->isTheDecl(ME->getMemberDecl())) {
+      ConsumerInstance->TheRewriter.ReplaceText(ME->getOperatorLoc(), ",");
+      
ConsumerInstance->TheRewriter.InsertTextBefore(ME->getSourceRange().getBegin(), 
"(");
+      
ConsumerInstance->TheRewriter.InsertTextAfterToken(ME->getSourceRange().getEnd(),
 ")");
+    }
+
+    return true;
+  }
+
+  bool VisitElaboratedTypeLoc(ElaboratedTypeLoc TL) {
+    // Replace CLASS::TYPE by TYPE
+    if (auto* TT = TL.getInnerType()->getAs<TypedefType>()) {
+      if (ConsumerInstance->isTheDecl(TT->getDecl())) {
+        ConsumerInstance->removeRecordQualifier(TL.getQualifierLoc());
+      }
+    } else if (auto* TT = TL.getInnerType()->getAs<TagType>()) {
+      if (ConsumerInstance->isTheDecl(TT->getDecl())) {
+        ConsumerInstance->removeRecordQualifier(TL.getQualifierLoc());
+      }
+    }
+
+    return true;
+  }
+
+  bool VisitDeclRefExpr(DeclRefExpr* DRE) {
+    if (ConsumerInstance->isTheDecl(DRE->getDecl())) {
+      ConsumerInstance->removeRecordQualifier(DRE->getQualifierLoc());
+    }
+
+    return true;
+  }
+
+private:
+  MemberToGlobal *ConsumerInstance;
+};
+
+void MemberToGlobal::Initialize(ASTContext &context) 
+{
+  Transformation::Initialize(context);
+}
+
+StringRef MemberToGlobal::GetText(SourceRange replacementRange) {
+  std::pair<FileID, unsigned> Begin = 
SrcManager->getDecomposedLoc(replacementRange.getBegin());
+  std::pair<FileID, unsigned> End = 
SrcManager->getDecomposedLoc(replacementRange.getEnd());
+  if (Begin.first != End.first)
+    return "";
+
+  StringRef MB = SrcManager->getBufferData(Begin.first);
+  return MB.substr(Begin.second, End.second - Begin.second + 1);
+}
+
+void MemberToGlobal::removeRecordQualifier(const NestedNameSpecifierLoc& 
NNSLoc) {
+  if (!NNSLoc)
+    return;
+
+  if (isTheRecordDecl(NNSLoc.getNestedNameSpecifier()->getAsRecordDecl())) {
+    SourceRange SR = NNSLoc.getLocalSourceRange();
+    SR.setEnd(SR.getEnd().getLocWithOffset(1));
+
+    TheRewriter.RemoveText(SR);
+  }
+}
+
+static bool replace(std::string& str, const std::string& from, const 
std::string& to) {
+  size_t start_pos = str.find(from);
+  if (start_pos == std::string::npos)
+    return false;
+  str.replace(start_pos, from.length(), to);
+  return true;
+}
+
+void MemberToGlobal::HandleTranslationUnit(ASTContext &Ctx)
+{
+  CollectionVisitor(this).TraverseDecl(Ctx.getTranslationUnitDecl());
+
+  ValidInstanceNum = ValidDecls.size();
+
+  if (QueryInstanceOnly)
+    return;
+
+  if (TransformationCounter > ValidInstanceNum) {
+    TransError = TransMaxInstanceError;
+    return;
+  }
+
+  TheDecl = ValidDecls[TransformationCounter - 1].second;
+  TheRecordDecl = ValidDecls[TransformationCounter - 1].first;
+  Ctx.getDiagnostics().setSuppressAllDiagnostics(false);
+
+  auto RecordBegin = TheRecordDecl->getSourceRange().getBegin();
+  auto BeginLoc = TheDecl->getSourceRange().getBegin();
+  auto EndLoc = 
RewriteHelper->getEndLocationUntil(TheDecl->getSourceRange().getEnd(), ';');
+
+  std::string Text = GetText(SourceRange(BeginLoc, EndLoc)).str();
+  if (auto* VD = dyn_cast<VarDecl>(TheDecl)) {
+    if (VD->isStaticDataMember()) {
+      replace(Text, "static", "extern");
+    }
+  }
+
+  TheRewriter.InsertTextBefore(RecordBegin, Text + "\n");
+  TheRewriter.RemoveText(SourceRange(BeginLoc, EndLoc));
+
+  for (auto* Redecl : TheDecl->redecls()) {
+    if (auto* DD = dyn_cast<DeclaratorDecl>(Redecl)) {
+      removeRecordQualifier(DD->getQualifierLoc());
+    }
+  }
+
+  RewriteVisitor(this).TraverseDecl(Ctx.getTranslationUnitDecl());
+
+  if (Ctx.getDiagnostics().hasErrorOccurred() ||
+      Ctx.getDiagnostics().hasFatalErrorOccurred())
+    TransError = TransInternalError;
+}
+
+bool MemberToGlobal::isValidDecl(clang::RecordDecl* RD, clang::Decl* D) {
+  if (D->isImplicit())
+    return false;
+  // No access specifier, e.g. public:
+  if (isa<AccessSpecDecl>(D))
+    return false;
+  // No constructors or destructors
+  if (isa<CXXConstructorDecl>(D) || isa<CXXDestructorDecl>(D))
+    return false;
+  // No friend declarations
+  if (isa<FriendDecl>(D))
+    return false;
+
+  if (isInIncludedFile(D))
+    return false;
+
+  return true;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/MemberToGlobal.h 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/MemberToGlobal.h
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/MemberToGlobal.h   
1970-01-01 01:00:00.000000000 +0100
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/MemberToGlobal.h   
2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,66 @@
+//===----------------------------------------------------------------------===//
+//
+// Copyright (c) 2012, 2013 The University of Utah
+// All rights reserved.
+//
+// This file is distributed under the University of Illinois Open Source
+// License.  See the file COPYING for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MEMBER_TO_GLOBAL_H
+#define MEMBER_TO_GLOBAL_H
+
+#include <string>
+#include "llvm/ADT/SmallVector.h"
+#include "Transformation.h"
+#include "CommonParameterRewriteVisitor.h"
+
+namespace clang {
+  class DeclGroupRef;
+  class ASTContext;
+  class FunctionDecl;
+  class ReturnStmt;
+  class ParmVarDecl;
+}
+
+class ParamToGlobalASTVisitor;
+class ParamToGlobalRewriteVisitor;
+template<typename T, typename Trans> class CommonParameterRewriteVisitor;
+
+class MemberToGlobal : public Transformation {
+
+  class CollectionVisitor;
+  class RewriteVisitor;
+public:
+
+  MemberToGlobal(const char *TransName, const char *Desc)
+    : Transformation(TransName, Desc)
+  { }
+
+private:
+  
+  virtual void Initialize(clang::ASTContext &context);
+
+  virtual void HandleTranslationUnit(clang::ASTContext &Ctx);
+
+  bool isValidDecl(clang::RecordDecl* FD, clang::Decl* D);
+
+  llvm::StringRef GetText(clang::SourceRange range);
+
+  void removeRecordQualifier(const clang::NestedNameSpecifierLoc& NNSLoc);
+
+  bool isTheDecl(clang::Decl *D) {
+    return TheDecl->getCanonicalDecl() == D->getCanonicalDecl();
+  }
+
+  bool isTheRecordDecl(clang::Decl *D) {
+    return TheRecordDecl->getCanonicalDecl() == D->getCanonicalDecl();
+  }
+
+  std::vector<std::pair<clang::RecordDecl*, clang::Decl*>> ValidDecls;
+
+  clang::Decl *TheDecl = nullptr;
+  clang::RecordDecl *TheRecordDecl = nullptr;
+};
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceDependentTypedef.cpp 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceDependentTypedef.cpp
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceDependentTypedef.cpp    
    2022-09-11 20:45:54.000000000 +0200
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceDependentTypedef.cpp    
    2022-09-12 09:46:31.000000000 +0200
@@ -54,7 +54,7 @@
     : ConsumerInstance(Instance)
   { }
 
-  bool VisitTypedefDecl(TypedefDecl *D);
+  bool VisitTypedefNameDecl(TypedefNameDecl *D);
 
 private:
   ReplaceDependentTypedef *ConsumerInstance;
@@ -62,7 +62,7 @@
 };
 
 bool 
-ReplaceDependentTypedefCollectionVisitor::VisitTypedefDecl(TypedefDecl *D)
+ReplaceDependentTypedefCollectionVisitor::VisitTypedefNameDecl(TypedefNameDecl 
*D)
 {
   ConsumerInstance->handleOneTypedefDecl(D);
   return true;
@@ -125,7 +125,7 @@
   return false;
 }
 
-void ReplaceDependentTypedef::handleOneTypedefDecl(const TypedefDecl *D)
+void ReplaceDependentTypedef::handleOneTypedefDecl(const TypedefNameDecl *D)
 {
   if (isInIncludedFile(D) || D->getBeginLoc().isInvalid())
     return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceDependentTypedef.h 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceDependentTypedef.h
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceDependentTypedef.h  
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceDependentTypedef.h  
2022-09-12 09:46:31.000000000 +0200
@@ -19,7 +19,7 @@
   class ASTContext;
   class QualType;
   class Type;
-  class TypedefDecl;
+  class TypedefNameDecl;
   class CXXRecordDecl;
 }
 
@@ -49,7 +49,7 @@
 
   virtual void HandleTranslationUnit(clang::ASTContext &Ctx);
 
-  void handleOneTypedefDecl(const clang::TypedefDecl *D);
+  void handleOneTypedefDecl(const clang::TypedefNameDecl *D);
 
   bool isValidType(const clang::QualType &QT);
 
@@ -59,7 +59,7 @@
 
   std::string TheTyName;
 
-  const clang::TypedefDecl *TheTypedefDecl;
+  const clang::TypedefNameDecl *TheTypedefDecl;
 
   bool NeedTypenameKeyword;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceOneLevelTypedefType.cpp 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceOneLevelTypedefType.cpp
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceOneLevelTypedefType.cpp 
    2022-09-11 20:45:54.000000000 +0200
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceOneLevelTypedefType.cpp 
    2022-09-12 09:46:31.000000000 +0200
@@ -107,7 +107,7 @@
 
 void ReplaceOneLevelTypedefType::removeTypedefs()
 {
-  for (TypedefDecl::redecl_iterator I = TheTypedefDecl->redecls_begin(),
+  for (TypedefNameDecl::redecl_iterator I = TheTypedefDecl->redecls_begin(),
        E = TheTypedefDecl->redecls_end(); I != E; ++I) {
     SourceRange Range = (*I)->getSourceRange();
     if (Range.isValid()) {
@@ -122,11 +122,11 @@
   if (isInIncludedFile(TLoc.getBeginLoc()))
     return;
   const TypedefType *TdefTy = TLoc.getTypePtr();
-  const TypedefDecl *TdefD = dyn_cast<TypedefDecl>(TdefTy->getDecl());
+  const TypedefNameDecl *TdefD = dyn_cast<TypedefNameDecl>(TdefTy->getDecl());
   if (!TdefD || TdefD->getBeginLoc().isInvalid())
     return;
-  const TypedefDecl *CanonicalD = 
-    dyn_cast<TypedefDecl>(TdefD->getCanonicalDecl());
+  const TypedefNameDecl *CanonicalD = 
+    dyn_cast<TypedefNameDecl>(TdefD->getCanonicalDecl());
 
   TypedefTypeLocVector *LocVec = AllTypeDecls[CanonicalD];
   if (!LocVec) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceOneLevelTypedefType.h 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceOneLevelTypedefType.h
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceOneLevelTypedefType.h   
    2022-09-11 20:45:54.000000000 +0200
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceOneLevelTypedefType.h   
    2022-09-12 09:46:31.000000000 +0200
@@ -19,7 +19,7 @@
 namespace clang {
   class DeclGroupRef;
   class ASTContext;
-  class TypedefDecl;
+  class TypedefNameDecl;
 }
 
 class ReplaceOneLevelTypedefTypeCollectionVisitor;
@@ -40,7 +40,7 @@
   typedef llvm::SmallVector<clang::TypedefTypeLoc, 10>
     TypedefTypeLocVector;
 
-  typedef llvm::MapVector<const clang::TypedefDecl *, 
+  typedef llvm::MapVector<const clang::TypedefNameDecl *, 
                          TypedefTypeLocVector *>
     TypedefDeclToRefMap;
 
@@ -62,7 +62,7 @@
 
   ReplaceOneLevelTypedefTypeCollectionVisitor *CollectionVisitor;
 
-  const clang::TypedefDecl *TheTypedefDecl;
+  const clang::TypedefNameDecl *TheTypedefDecl;
 
   // Unimplemented
   ReplaceOneLevelTypedefType(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceSimpleTypedef.cpp 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceSimpleTypedef.cpp
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceSimpleTypedef.cpp   
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceSimpleTypedef.cpp   
2022-09-12 09:46:31.000000000 +0200
@@ -41,7 +41,7 @@
     : ConsumerInstance(Instance)
   { }
 
-  bool VisitTypedefDecl(TypedefDecl *D);
+  bool VisitTypedefNameDecl(TypedefNameDecl*D);
 
 private:
   ReplaceSimpleTypedef *ConsumerInstance;
@@ -65,11 +65,11 @@
 
 };
 
-bool ReplaceSimpleTypedefCollectionVisitor::VisitTypedefDecl(TypedefDecl 
*TdefD)
+bool 
ReplaceSimpleTypedefCollectionVisitor::VisitTypedefNameDecl(TypedefNameDecl*TdefD)
 {
   if (ConsumerInstance->isInIncludedFile(TdefD))
     return true;
-  TypedefDecl *CanonicalD = dyn_cast<TypedefDecl>(TdefD->getCanonicalDecl());
+  TypedefNameDecl*CanonicalD = 
dyn_cast<TypedefNameDecl>(TdefD->getCanonicalDecl());
   if (!ConsumerInstance->VisitedTypedefDecls.count(CanonicalD)) {
     ConsumerInstance->handleOneTypedefDecl(CanonicalD);
     ConsumerInstance->VisitedTypedefDecls.insert(CanonicalD);
@@ -84,11 +84,11 @@
     return true;
 
   const TypedefType *TdefTy = Loc.getTypePtr();
-  const TypedefDecl *TdefD = dyn_cast<TypedefDecl>(TdefTy->getDecl());
+  const TypedefNameDecl*TdefD = dyn_cast<TypedefNameDecl>(TdefTy->getDecl());
   if (!TdefD || TdefD->getBeginLoc().isInvalid())
     return true;
  
-  if (dyn_cast<TypedefDecl>(TdefD->getCanonicalDecl()) == 
+  if (dyn_cast<TypedefNameDecl>(TdefD->getCanonicalDecl()) ==
       ConsumerInstance->TheTypedefDecl) {
     SourceRange Range = Loc.getSourceRange();
     ConsumerInstance->TheRewriter.ReplaceText(Range, ConsumerInstance->TyName);
@@ -112,8 +112,8 @@
   if (!TdefTy)
     return true; 
 
-  const TypedefDecl *TdefD = dyn_cast<TypedefDecl>(TdefTy->getDecl());
-  if (!TdefD || (dyn_cast<TypedefDecl>(TdefD->getCanonicalDecl()) != 
+  const TypedefNameDecl*TdefD = dyn_cast<TypedefNameDecl>(TdefTy->getDecl());
+  if (!TdefD || (dyn_cast<TypedefNameDecl>(TdefD->getCanonicalDecl()) !=
                  ConsumerInstance->TheTypedefDecl)) {
     return true;
   }
@@ -161,7 +161,7 @@
 
 void ReplaceSimpleTypedef::removeTypedefs()
 {
-  for (TypedefDecl::redecl_iterator I = TheTypedefDecl->redecls_begin(),
+  for (TypedefNameDecl::redecl_iterator I = TheTypedefDecl->redecls_begin(),
        E = TheTypedefDecl->redecls_end(); I != E; ++I) {
     SourceRange Range = (*I)->getSourceRange();
     if (Range.isValid()) {
@@ -171,7 +171,7 @@
   }
 }
 
-bool ReplaceSimpleTypedef::isValidType(const Type *Ty, const TypedefDecl *D)
+bool ReplaceSimpleTypedef::isValidType(const Type *Ty, const TypedefNameDecl 
*D)
 {
   if (Ty->isEnumeralType() || Ty->isUnionType())
     return true;
@@ -200,7 +200,7 @@
   return false;
 }
 
-void ReplaceSimpleTypedef::handleOneTypedefDecl(const TypedefDecl *CanonicalD)
+void ReplaceSimpleTypedef::handleOneTypedefDecl(const TypedefNameDecl* 
CanonicalD)
 {
   // omit some typedefs injected by Clang
   if (CanonicalD->getBeginLoc().isInvalid())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceSimpleTypedef.h 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceSimpleTypedef.h
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/ReplaceSimpleTypedef.h     
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/ReplaceSimpleTypedef.h     
2022-09-12 09:46:31.000000000 +0200
@@ -17,7 +17,7 @@
 namespace clang {
   class DeclGroupRef;
   class ASTContext;
-  class TypedefDecl;
+  class TypedefNameDecl;
 }
 
 class ReplaceSimpleTypedefCollectionVisitor;
@@ -40,15 +40,15 @@
 
 private:
 
-  typedef llvm::SmallPtrSet<const clang::TypedefDecl *, 20> TypedefDeclsSet;
+  typedef llvm::SmallPtrSet<const clang::TypedefNameDecl*, 20> TypedefDeclsSet;
 
   virtual void Initialize(clang::ASTContext &context);
 
   virtual void HandleTranslationUnit(clang::ASTContext &Ctx);
 
-  void handleOneTypedefDecl(const clang::TypedefDecl *CanonicalD);
+  void handleOneTypedefDecl(const clang::TypedefNameDecl* CanonicalD);
 
-  bool isValidType(const clang::Type *Ty, const clang::TypedefDecl *D);
+  bool isValidType(const clang::Type *Ty, const clang::TypedefNameDecl *D);
 
   void removeTypedefs();
 
@@ -58,7 +58,7 @@
 
   ReplaceSimpleTypedefRewriteVisitor *RewriteVisitor;
 
-  const clang::TypedefDecl *TheTypedefDecl;
+  const clang::TypedefNameDecl *TheTypedefDecl;
 
   std::string TyName;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/SimplifyDependentTypedef.cpp 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/SimplifyDependentTypedef.cpp
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/SimplifyDependentTypedef.cpp   
    2022-09-11 20:45:54.000000000 +0200
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/SimplifyDependentTypedef.cpp   
    2022-09-12 09:46:31.000000000 +0200
@@ -46,7 +46,7 @@
     : ConsumerInstance(Instance)
   { }
 
-  bool VisitTypedefDecl(TypedefDecl *D);
+  bool VisitTypedefNameDecl(TypedefNameDecl *D);
 
 private:
   SimplifyDependentTypedef *ConsumerInstance;
@@ -85,7 +85,7 @@
   bool IsValidType;
 };
 
-bool DependentTypedefCollectionVisitor::VisitTypedefDecl(TypedefDecl *D)
+bool DependentTypedefCollectionVisitor::VisitTypedefNameDecl(TypedefNameDecl 
*D)
 {
   ConsumerInstance->handleOneTypedefDecl(D);
   return true;
@@ -154,13 +154,13 @@
   TheRewriter.ReplaceText(SourceRange(LocStart, LocEnd), ParmName+" ");
 }
 
-void SimplifyDependentTypedef::handleOneTypedefDecl(const TypedefDecl *D)
+void SimplifyDependentTypedef::handleOneTypedefDecl(const TypedefNameDecl *D)
 {
   if (isInIncludedFile(D))
     return;
 
-  const TypedefDecl *CanonicalD = dyn_cast<TypedefDecl>(D->getCanonicalDecl());
-  TransAssert(CanonicalD && "Bad TypedefDecl!");
+  const TypedefNameDecl *CanonicalD = 
dyn_cast<TypedefNameDecl>(D->getCanonicalDecl());
+  TransAssert(CanonicalD && "Bad TypedefNameDecl!");
   if (VisitedTypedefDecls.count(CanonicalD))
     return;
   VisitedTypedefDecls.insert(CanonicalD);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/SimplifyDependentTypedef.h 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/SimplifyDependentTypedef.h
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/SimplifyDependentTypedef.h 
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/SimplifyDependentTypedef.h 
2022-09-12 09:46:31.000000000 +0200
@@ -17,7 +17,7 @@
 namespace clang {
   class DeclGroupRef;
   class ASTContext;
-  class TypedefDecl;
+  class TypedefNameDecl;
   class ClassTemplateDecl;
   class TemplateTypeParmDecl;
 }
@@ -41,7 +41,7 @@
 
 private:
 
-  typedef llvm::SmallPtrSet<const clang::TypedefDecl *, 20> TypedefDeclsSet;
+  typedef llvm::SmallPtrSet<const clang::TypedefNameDecl *, 20> 
TypedefDeclsSet;
 
   typedef llvm::SmallPtrSet<const clang::Type *, 5> TemplateTypeParmTypeSet;
 
@@ -49,7 +49,7 @@
 
   virtual void HandleTranslationUnit(clang::ASTContext &Ctx);
 
-  void handleOneTypedefDecl(const clang::TypedefDecl *D);
+  void handleOneTypedefDecl(const clang::TypedefNameDecl *D);
 
   void rewriteTypedefDecl(void);
 
@@ -61,7 +61,7 @@
 
   const clang::TemplateTypeParmDecl *FirstTmplTypeParmD;
 
-  const clang::TypedefDecl *TheTypedefDecl;
+  const clang::TypedefNameDecl *TheTypedefDecl;
 
   // Unimplemented
   SimplifyDependentTypedef(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/Transformation.cpp 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/Transformation.cpp
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/Transformation.cpp 
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/Transformation.cpp 
2022-09-12 09:46:31.000000000 +0200
@@ -977,7 +977,7 @@
   Str = "";
   for (DeclContext::decl_iterator I = CXXRD->decls_begin(),
        E = CXXRD->decls_end(); I != E; ++I) {
-    const TypedefDecl *D = dyn_cast<TypedefDecl>(*I);
+    const TypedefNameDecl *D = dyn_cast<TypedefNameDecl>(*I);
     if (!D || (D->getNameAsString() != Name))
       continue;
     const Type *UnderlyingTy = D->getUnderlyingType().getTypePtr();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test1.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test1.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test1.cc
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test1.cc
    2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,12 @@
+
+namespace n {
+
+class C {
+public:
+       void f();
+};
+
+}
+
+void n::C::f() {
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test1.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test1.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test1.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test1.output
        2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,13 @@
+
+namespace n {
+
+void f();
+class C {
+public:
+       
+};
+
+}
+
+void n::f() {
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test2.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test2.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test2.cc
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test2.cc
    2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,9 @@
+
+class C {
+public:
+       int& f();
+};
+
+void func(C& c1, C& c2) {
+       c1.f() = c2.f();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test2.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test2.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test2.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test2.output
        2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,10 @@
+
+int& f();
+class C {
+public:
+       
+};
+
+void func(C& c1, C& c2) {
+       (c1,f)() = (c2,f)();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test3.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test3.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test3.cc
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test3.cc
    2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,9 @@
+
+class C {
+public:
+       int i;
+};
+
+int func(C& c) {
+       return c.i;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test3.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test3.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test3.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test3.output
        2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,10 @@
+
+int i;
+class C {
+public:
+       
+};
+
+int func(C& c) {
+       return (c,i);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test4.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test4.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test4.cc
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test4.cc
    2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,11 @@
+
+class C {
+public:
+       static int s;
+};
+
+int C::s = 5;
+
+int func() {
+       return C::s;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test4.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test4.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test4.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test4.output
        2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,12 @@
+
+extern int s;
+class C {
+public:
+       
+};
+
+int s = 5;
+
+int func() {
+       return s;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test5.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test5.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test5.cc
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test5.cc
    2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,9 @@
+
+class C {
+public:
+       using x = int;
+};
+
+void func() {
+       C::x v;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test5.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test5.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test5.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test5.output
        2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,10 @@
+
+using x = int;
+class C {
+public:
+       
+};
+
+void func() {
+       x v;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test6.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test6.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test6.cc
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test6.cc
    2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,10 @@
+
+class C {
+public:
+       struct x {
+       };
+};
+
+void func() {
+       C::x v;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test6.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test6.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/member-to-global/test6.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/member-to-global/test6.output
        2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,11 @@
+
+struct x {
+       };
+class C {
+public:
+       
+};
+
+void func() {
+       x v;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test1.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test1.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test1.cc
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test1.cc
      2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,4 @@
+
+typedef int a;
+
+a var;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test1.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test1.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test1.output
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test1.output
  2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,4 @@
+
+
+
+int var;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test2.cc
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test2.cc
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test2.cc
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test2.cc
      2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,4 @@
+
+using a = int;
+
+a var;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test2.output
 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test2.output
--- 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/replace-simple-typedef/test2.output
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/replace-simple-typedef/test2.output
  2022-09-12 09:46:31.000000000 +0200
@@ -0,0 +1,4 @@
+
+
+
+int var;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/test_clang_delta.py 
new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/test_clang_delta.py
--- old/cvise-2.5.0+git.20220911.4c7ce7f/clang_delta/tests/test_clang_delta.py  
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/clang_delta/tests/test_clang_delta.py  
2022-09-12 09:46:31.000000000 +0200
@@ -562,3 +562,27 @@
 
     def test_class_template_to_class(self):
         self.check_clang_delta('class-template-to-class/test1.cc', 
'--transformation=class-template-to-class --counter=1')
+
+    def test_replace_simple_typedef_test1(self):
+        self.check_clang_delta('replace-simple-typedef/test1.cc', 
'--transformation=replace-simple-typedef --counter=1')
+
+    def test_replace_simple_typedef_test2(self):
+        self.check_clang_delta('replace-simple-typedef/test2.cc', 
'--transformation=replace-simple-typedef --counter=1')
+
+    def test_member_to_global_test1(self):
+        self.check_clang_delta('member-to-global/test1.cc', 
'--transformation=member-to-global --counter=1')
+
+    def test_member_to_global_test2(self):
+        self.check_clang_delta('member-to-global/test2.cc', 
'--transformation=member-to-global --counter=1')
+
+    def test_member_to_global_test3(self):
+        self.check_clang_delta('member-to-global/test3.cc', 
'--transformation=member-to-global --counter=1')
+
+    def test_member_to_global_test4(self):
+        self.check_clang_delta('member-to-global/test4.cc', 
'--transformation=member-to-global --counter=1')
+
+    def test_member_to_global_test5(self):
+        self.check_clang_delta('member-to-global/test5.cc', 
'--transformation=member-to-global --counter=1')
+
+    def test_member_to_global_test6(self):
+        self.check_clang_delta('member-to-global/test6.cc', 
'--transformation=member-to-global --counter=1')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.5.0+git.20220911.4c7ce7f/cvise/pass_groups/all.json 
new/cvise-2.5.0+git.20220912.e2268dd/cvise/pass_groups/all.json
--- old/cvise-2.5.0+git.20220911.4c7ce7f/cvise/pass_groups/all.json     
2022-09-11 20:45:54.000000000 +0200
+++ new/cvise-2.5.0+git.20220912.e2268dd/cvise/pass_groups/all.json     
2022-09-12 09:46:31.000000000 +0200
@@ -105,6 +105,7 @@
     {"pass": "clang", "arg": "vector-to-array", "c": true },
     {"pass": "clang", "arg": "remove-try-catch", "c": true },
     {"pass": "clang", "arg": "class-to-struct", "c": true },
+    {"pass": "clang", "arg": "member-to-global", "c": true },
     {"pass": "lines", "arg": "0"},
     {"pass": "lines", "arg": "1"},
     {"pass": "lines", "arg": "2"},

Reply via email to