Hello community, here is the log from the commit of package creduce for openSUSE:Factory checked in at 2020-04-22 20:57:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/creduce (Old) and /work/SRC/openSUSE:Factory/.creduce.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "creduce" Wed Apr 22 20:57:36 2020 rev:23 rq:796230 version:2.10.0+git.20200420.d83cbda Changes: -------- --- /work/SRC/openSUSE:Factory/creduce/creduce.changes 2020-04-13 12:53:30.648653978 +0200 +++ /work/SRC/openSUSE:Factory/.creduce.new.2738/creduce.changes 2020-04-22 20:57:37.935939646 +0200 @@ -1,0 +2,21 @@ +Wed Apr 22 08:20:25 UTC 2020 - [email protected] + +- Update to version 2.10.0+git.20200420.d83cbda: + * fixed an issue of infinitely looking-up function decls + * added several tests for remove-unused-function + * Fixed issues for replacing decls with macro expansions + * Do `apt-key add` before adding the `apt.llvm.org` repository. + * Include newly added test in distribution tarball. + * skip AutoType for reduce-pointer-level at the moment + * workaround to skip invalid locations + * remove an assert that was too conservative + * handle an initializer of CXXOperatorCallExpr + * generate auto decl for callee expr with auto type + +------------------------------------------------------------------- +Wed Apr 22 08:17:53 UTC 2020 - Martin Liška <[email protected]> + +- Move back to configure and make. +- Remove not needed install-location.patch. + +------------------------------------------------------------------- Old: ---- creduce-2.10.0+git.20191010.8a67e69.tar.xz install-location.patch New: ---- creduce-2.10.0+git.20200420.d83cbda.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ creduce.spec ++++++ --- /var/tmp/diff_new_pack.XcDQV3/_old 2020-04-22 20:57:38.635941039 +0200 +++ /var/tmp/diff_new_pack.XcDQV3/_new 2020-04-22 20:57:38.639941047 +0200 @@ -17,7 +17,7 @@ Name: creduce -Version: 2.10.0+git.20191010.8a67e69 +Version: 2.10.0+git.20200420.d83cbda Release: 0 Summary: C-Reduce, a C program reducer License: BSD-3-Clause @@ -25,13 +25,11 @@ URL: https://github.com/csmith-project/creduce Source: %{name}-%{version}.tar.xz Patch0: llvm9-libs-fix.patch -Patch1: install-location.patch Patch2: binary-search-location.patch Patch3: port-to-llvm10.patch Patch4: std-cpp14.patch BuildRequires: astyle BuildRequires: clang9-devel -BuildRequires: cmake BuildRequires: delta BuildRequires: flex BuildRequires: gcc-c++ @@ -70,22 +68,21 @@ %autopatch -p1 %build -%cmake +%configure %make_build %install -cd build %make_install -rm %{buildroot}/usr/libexec/topformflat -rm %{buildroot}/usr/libexec/unifdef +rm %{buildroot}%{_libexecdir}/topformflat +rm %{buildroot}%{_libexecdir}/unifdef %files %license COPYING %{_bindir}/creduce -%{_bindir}/clang_delta -%{_bindir}/clex -%{_bindir}/strlex +%{_libexecdir}/clang_delta +%{_libexecdir}/clex +%{_libexecdir}/strlex %{_datadir}/creduce %changelog ++++++ _service ++++++ --- /var/tmp/diff_new_pack.XcDQV3/_old 2020-04-22 20:57:38.691941151 +0200 +++ /var/tmp/diff_new_pack.XcDQV3/_new 2020-04-22 20:57:38.691941151 +0200 @@ -5,7 +5,6 @@ <param name="changesgenerate">enable</param> <param name="filename">creduce</param> <param name="versionformat">2.10.0+git.%cd.%h</param> - <param name="revision">8a67e69c49ef123a1c0a4898ac259249411a01dd</param> </service> <service mode="disabled" name="recompress"> <param name="file">*.tar</param> ++++++ binary-search-location.patch ++++++ --- /var/tmp/diff_new_pack.XcDQV3/_old 2020-04-22 20:57:38.699941166 +0200 +++ /var/tmp/diff_new_pack.XcDQV3/_new 2020-04-22 20:57:38.703941174 +0200 @@ -11,45 +11,6 @@ }; our @EXPORT = qw(); -diff --git a/creduce/pass_clang.pm b/creduce/pass_clang.pm -index 3bd8314..3b8085b 100644 ---- a/creduce/pass_clang.pm -+++ b/creduce/pass_clang.pm -@@ -35,7 +35,7 @@ sub check_prereqs () { - if ((defined $abs_bindir) && ($FindBin::RealBin eq $abs_bindir)) { - # This script is in the installation directory. - # Use the installed `clang_delta'. -- $path = libexecdir . "/clang_delta"; -+ $path = $abs_bindir . "/clang_delta"; - } else { - # Assume that this script is in the C-Reduce build tree. - # Use the `clang_delta' that is also in the build tree. -diff --git a/creduce/pass_clang_binsrch.pm b/creduce/pass_clang_binsrch.pm -index 7470d51..b079214 100644 ---- a/creduce/pass_clang_binsrch.pm -+++ b/creduce/pass_clang_binsrch.pm -@@ -47,7 +47,7 @@ sub check_prereqs () { - if ((defined $abs_bindir) && ($FindBin::RealBin eq $abs_bindir)) { - # This script is in the installation directory. - # Use the installed `clang_delta'. -- $path = libexecdir . "/clang_delta"; -+ $path = $abs_bindir . "/clang_delta"; - } else { - # Assume that this script is in the C-Reduce build tree. - # Use the `clang_delta' that is also in the build tree. -diff --git a/creduce/pass_clex.pm b/creduce/pass_clex.pm -index 66707bf..29ea764 100644 ---- a/creduce/pass_clex.pm -+++ b/creduce/pass_clex.pm -@@ -35,7 +35,7 @@ sub check_prereqs () { - if ((defined $abs_bindir) && ($FindBin::RealBin eq $abs_bindir)) { - # This script is in the installation directory. - # Use the installed `clex'. -- $path = libexecdir . "/clex"; -+ $path = $abs_bindir . "/clex"; - } else { - # Assume that this script is in the C-Reduce build tree. - # Use the `clex' that is also in the build tree. diff --git a/creduce/pass_ifs.pm b/creduce/pass_ifs.pm index c8811a4..238f977 100644 --- a/creduce/pass_ifs.pm ++++++ creduce-2.10.0+git.20191010.8a67e69.tar.xz -> creduce-2.10.0+git.20200420.d83cbda.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/CommonRenameClassRewriteVisitor.h new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/CommonRenameClassRewriteVisitor.h --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/CommonRenameClassRewriteVisitor.h 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/CommonRenameClassRewriteVisitor.h 2020-04-21 08:19:57.000000000 +0200 @@ -191,7 +191,7 @@ return true; VisitedLocs.insert(LocPtr); - if (ConsumerInstance->isDeclaringRecordDecl(CXXRD)) { + if (ConsumerInstance->isDeclaringRecordDecl(CXXRD) && CXXRD->isThisDeclarationADefinition()) { RewriteHelper->replaceRecordDeclDef(CXXRD, Name); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/Makefile.am new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/Makefile.am --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/Makefile.am 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/Makefile.am 2020-04-21 08:19:57.000000000 +0200 @@ -376,6 +376,7 @@ tests/rename-class/rename-class2.cpp \ tests/rename-class/specialization.cpp \ tests/rename-class/static_member.cc \ + tests/rename-class/template_class_1.cpp \ tests/rename-class/template_parm.cpp \ tests/rename-class/template_template.cpp \ tests/rename-class/template_template_parm.cpp \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/Makefile.in new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/Makefile.in --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/Makefile.in 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/Makefile.in 2020-04-21 08:19:57.000000000 +0200 @@ -823,6 +823,7 @@ tests/rename-class/rename-class2.cpp \ tests/rename-class/specialization.cpp \ tests/rename-class/static_member.cc \ + tests/rename-class/template_class_1.cpp \ tests/rename-class/template_parm.cpp \ tests/rename-class/template_template.cpp \ tests/rename-class/template_template_parm.cpp \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/ReducePointerLevel.cpp new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/ReducePointerLevel.cpp --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/ReducePointerLevel.cpp 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/ReducePointerLevel.cpp 2020-04-21 08:19:57.000000000 +0200 @@ -135,6 +135,10 @@ if (dyn_cast<SubstTemplateTypeParmType>(Ty)) return true; + // skip AutoType for now + if (Ty->getContainedAutoType()) + return true; + if (const ArrayType *ArrayTy = dyn_cast<ArrayType>(Ty)) Ty = ConsumerInstance->getArrayBaseElemType(ArrayTy); if (!Ty->isPointerType() || Ty->isVoidPointerType()) @@ -795,6 +799,7 @@ return; case Expr::CXXNewExprClass: + case Expr::CXXNullPtrLiteralExprClass: // Fall-through InitStr = ""; return; @@ -859,6 +864,7 @@ case Expr::MemberExprClass: // Fall-through case Expr::BinaryOperatorClass: case Expr::CXXMemberCallExprClass: + case Expr::CXXOperatorCallExprClass: case Expr::CallExprClass: case Expr::ArraySubscriptExprClass: { RewriteHelper->getExprString(E, InitStr); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RemoveNestedFunction.cpp new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RemoveNestedFunction.cpp --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RemoveNestedFunction.cpp 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RemoveNestedFunction.cpp 2020-04-21 08:19:57.000000000 +0200 @@ -461,6 +461,13 @@ VarStr = DStr + " " + VarStr; return; } + + if (const AutoType *AT = + dyn_cast<AutoType>(CalleeType)) { + VarStr = "auto " + VarStr; + return; + } + QT = TheCallExpr->getCallReturnType(ASTCtx); getNewTmpVariable( QT.getTypePtr()->getUnqualifiedDesugaredType()->getCanonicalTypeInternal(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RemoveUnusedFunction.cpp new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RemoveUnusedFunction.cpp --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RemoveUnusedFunction.cpp 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RemoveUnusedFunction.cpp 2020-04-21 08:19:57.000000000 +0200 @@ -703,11 +703,14 @@ } } + bool InNamespace = Ctx->isNamespace(); for (auto *I : Ctx->using_directives()) { const NamespaceDecl *ND = I->getNominatedNamespace(); // avoid infinite recursion - if (ND->getLookupParent() == Ctx) + if ((InNamespace && dyn_cast<NamespaceDecl>(Ctx) == ND) || + ND->getLookupParent() == Ctx) { return NULL; + } if (const FunctionDecl *FD = lookupFunctionDeclShallow(DName, ND)) return FD; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RenameParam.cpp new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RenameParam.cpp --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RenameParam.cpp 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RenameParam.cpp 2020-04-21 08:19:57.000000000 +0200 @@ -127,7 +127,8 @@ llvm::DenseMap<ParmVarDecl *, std::string>::iterator I = ParamNameMap.find(PD); - TransAssert((I != ParamNameMap.end()) && "Bad Param!"); + if (I == ParamNameMap.end()) + return true; return ConsumerInstance->RewriteHelper->replaceExpr(DRE, (*I).second); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RewriteUtils.cpp new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RewriteUtils.cpp --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/RewriteUtils.cpp 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/RewriteUtils.cpp 2020-04-21 08:19:57.000000000 +0200 @@ -214,7 +214,11 @@ int RangeSize; SourceLocation StartLoc = ParamLocRange.getBegin(); + if (StartLoc.isMacroID()) + StartLoc = SrcManager->getExpansionLoc(StartLoc); SourceLocation EndLoc = ParamLocRange.getEnd(); + if (EndLoc.isMacroID()) + EndLoc = SrcManager->getExpansionLoc(EndLoc); if (StartLoc.isInvalid() && EndLoc.isInvalid()) { return false; } @@ -232,7 +236,7 @@ } } else { - RangeSize = TheRewriter->getRangeSize(ParamLocRange); + RangeSize = TheRewriter->getRangeSize(SourceRange(StartLoc, EndLoc)); if (RangeSize == -1) return false; } @@ -538,7 +542,7 @@ // VD is the the only declaration, so it is safe to remove the entire stmt if (DS->isSingleDecl()) { - return !(TheRewriter->RemoveText(StmtRange)); + return !(TheRewriter->RemoveText(getRealSourceRange(StmtRange))); } // handle the case where we could have implicit declaration of RecordDecl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/SimpleInliner.cpp new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/SimpleInliner.cpp --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/SimpleInliner.cpp 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/SimpleInliner.cpp 2020-04-21 08:19:57.000000000 +0200 @@ -214,6 +214,8 @@ !FD->isThisDeclarationADefinition()) return true; + if (FD->getBeginLoc().isInvalid() || FD->getEndLoc().isInvalid()) + return true; ConsumerInstance->CurrentFD = FD; ConsumerInstance->CollectionVisitor->setNumStmts(0); ConsumerInstance->CollectionVisitor->TraverseDecl(FD); @@ -571,8 +573,10 @@ } if (FunctionTemplateDecl *FTD = CurrentFD->getPrimaryTemplate()) { - TheRewriter.RemoveText(FTD->getSourceRange()); - return; + if (FTD->getBeginLoc().isValid() && FTD->getEndLoc().isValid()) { + TheRewriter.RemoveText(FTD->getSourceRange()); + return; + } } SourceRange FDRange = CurrentFD->getSourceRange(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/local-to-global/macro.c new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/local-to-global/macro.c --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/local-to-global/macro.c 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/local-to-global/macro.c 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,10 @@ +// RUN: %clang_delta --transformation=local-to-global --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +#define TYPE unsigned short int +// CHECK: unsigned short{{.*}} foo_t; +// CHECK-NEXT: void foo() { +void foo() { +// CHECK-NEXT: {{^ +$}} + TYPE t; +// CHECK-NEXT: } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/param-to-global/macro.c new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/param-to-global/macro.c --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/param-to-global/macro.c 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/param-to-global/macro.c 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,8 @@ +// RUN: %clang_delta --transformation=param-to-global --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +#define TYPE unsigned short int +// CHECK: unsigned short{{.*}} foo_p; +// CHECK-NEXT: void foo(void) { +// CHECK-NEXT: } +void foo(TYPE p) { +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/class.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/class.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/class.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/class.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,25 @@ +// RUN: %clang_delta --transformation=remove-unused-function --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s +// RUN: %clang_delta --transformation=remove-unused-function --counter=2 %s 2>&1 | %remove_lit_checks | FileCheck %s -check-prefix=CHECK-SECOND + +// CHECK: class A { +// CHECK-SECOND: class A { +class A { +// CHECK-NOT: ~A() +// CHECK-SECOND: ~A() {} + ~A() {} +// CHECK: void foo(); +// CHECK-SECOND-NOT: void foo() + void foo(); +// CHECK: }; +// CHECK-SECOND: }; +}; + +// CHECK: void A::foo() { +// CHECK-SECOND-NOT: void A::foo +void A::foo() { +// CHECK: return; +// CHECK-SECOND-NOT: return; + return; +// CHECK: } +// CHECK-NOT: } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/inline_ns.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/inline_ns.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/inline_ns.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/inline_ns.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,12 @@ +// RUN: %clang_delta --query-instances=remove-unused-function %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: Available transformation instances: 0 +namespace a { + inline namespace b { + using namespace a; + } + struct c; + namespace { + using a::c; + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/macro1.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/macro1.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/macro1.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/macro1.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,6 @@ +// RUN: %clang_delta --transformation=remove-unused-function --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: #define EXTERN extern +#define EXTERN extern +// CHECK-NOT: EXTERN int foo(); +EXTERN int foo(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/macro2.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/macro2.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/macro2.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/macro2.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,15 @@ +// RUN: %clang_delta --transformation=remove-unused-function --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: #define __LEAF, __leaf__ +#define __LEAF, __leaf__ +// CHECK: #define __THROW __attribute__((__nothrow__ __LEAF)) +#define __THROW __attribute__((__nothrow__ __LEAF)) +// CHECK: # define __nonnull(params) __attribute__ ((__nonnull__ params)) +# define __nonnull(params) __attribute__ ((__nonnull__ params)) + +// CHECK-NOT: extern void *foo(void* __restrict p1 +extern void *foo(void* __restrict p1, const void* __restrict p2, +// CHECK-NOT: int p3, unsigned p4) + int p3, unsigned p4) +// CHECK-NOT: __THROW __nonnull ((1, 2)); + __THROW __nonnull ((1, 2)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/macro3.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/macro3.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/macro3.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/macro3.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,19 @@ +// RUN: %clang_delta --transformation=remove-unused-function --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: # define BEGIN_NAMESPACE_STD namespace std { +# define BEGIN_NAMESPACE_STD namespace std { +// CHECK: # define END_NAMESPACE_STD } +# define END_NAMESPACE_STD } +// CHECK: # define __THROW throw () +# define __THROW throw () +// CHECK: # define __nonnull(params) +# define __nonnull(params) + +// CHECK: BEGIN_NAMESPACE_STD +BEGIN_NAMESPACE_STD +// CHECK-NOT: extern void *foo(void *__restrict p1, +extern void *foo(void *__restrict p1, +// CHECK-NOT: unsigned p2) __THROW __nonnull + unsigned p2) __THROW __nonnull ((1, 2)); +// CHECK: END_NAMESPACE_STD +END_NAMESPACE_STD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/template1.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/template1.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/template1.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/template1.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,15 @@ +// RUN: %clang_delta --transformation=remove-unused-function --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s +// RUN: %clang_delta --transformation=remove-unused-function --counter=2 %s 2>&1 | %remove_lit_checks | FileCheck %s -check-prefix=CHECK-SECOND + +// CHECK: {{^;}} +// CHECK-SECOND: template<typename T> void foo(T *); +template<typename T> void foo(T *); +// CHECK: template <typename T> struct S { +// CHECK-SECOND: template <typename T> struct S { +template <typename T> struct S { +// CHECK: template<typename T1> friend void foo(T1 *); +// CHECK-SECOND: {{ *}}; + template<typename T1> friend void foo(T1 *); +// CHECK: }; +// CHECK-SECOND: }; +}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/template2.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/template2.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/template2.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/template2.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,6 @@ +// RUN: %clang_delta --transformation=remove-unused-function --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: template <typename T> struct S {;}; +template <typename T> struct S {template <typename T1> void foo();}; +// CHECK-NOT: void S<T>::foo() +template<typename T> template<typename T1> void S<T>::foo() { } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/unused-funcs.cc new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/unused-funcs.cc --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/remove-unused-function/unused-funcs.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/remove-unused-function/unused-funcs.cc 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,47 @@ +// RUN: %clang_delta --transformation=remove-unused-function --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s +// RUN: %clang_delta --transformation=remove-unused-function --counter=2 %s 2>&1 | %remove_lit_checks | FileCheck %s -check-prefix=CHECK-SECOND +// RUN: %clang_delta --transformation=remove-unused-function --counter=3 %s 2>&1 | %remove_lit_checks | FileCheck %s -check-prefix=CHECK-THIRD +// RUN: %clang_delta --transformation=remove-unused-function --counter=4 %s 2>&1 | %remove_lit_checks | FileCheck %s -check-prefix=CHECK-FOURTH + +// CHECK-NOT: void foo(); +// CHECK-SECOND: void foo(); +// CHECK-THIRD: void foo(); +// CHECK-FOURTH: void foo(); +void foo(); +// CHECK: void bar(int x) { +// CHECK-SECOND-NOT: void bar(int x) { +// CHECK-THIRD: void bar(int x) { +// CHECK-FOURTH: void bar(int x) { +void bar(int x) { + +// CHECK: } +// CHECK-SECOND-NOT: } +// CHECK-THIRD: } +// CHECK-FOURTH: } +} +// CHECK: extern int baz(int x, +// CHECK-SECOND: extern int baz(int x, +// CHECK-THIRD-NOT: extern int baz(int x, +// CHECK-FOURTH: extern int baz(int x, +extern int baz(int x, +// CHECK: int y); +// CHECK-SECOND: int y); +// CHECK-THIRD-NOT: int y); +// CHECK-FOURTH: int y); + int y); + +// CHECK: extern "C" { +// CHECK-SECOND: extern "C" { +// CHECK-THIRD: extern "C" { +// CHECK-FOURTH: extern "C" { +extern "C" { +// CHECK: long long f1() {} +// CHECK-SECOND: long long f1() {} +// CHECK-THIRD: long long f1() {} +// CHECK-FOURTH-NOT: long long f1() {} + long long f1() {} +// CHECK: } +// CHECK-SECOND: } +// CHECK-THIRD: } +// CHECK-FOURTH: } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/rename-class/template_class_1.cpp new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/rename-class/template_class_1.cpp --- old/creduce-2.10.0+git.20191010.8a67e69/clang_delta/tests/rename-class/template_class_1.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/creduce-2.10.0+git.20200420.d83cbda/clang_delta/tests/rename-class/template_class_1.cpp 2020-04-21 08:19:57.000000000 +0200 @@ -0,0 +1,4 @@ +// RUN: %clang_delta --transformation=rename-class --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: template class A<Traits<X>>; +template class Base<Traits<X>>; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/creduce-2.10.0+git.20191010.8a67e69/scripts/travis_deps.sh new/creduce-2.10.0+git.20200420.d83cbda/scripts/travis_deps.sh --- old/creduce-2.10.0+git.20191010.8a67e69/scripts/travis_deps.sh 2019-10-11 05:30:08.000000000 +0200 +++ new/creduce-2.10.0+git.20200420.d83cbda/scripts/travis_deps.sh 2020-04-21 08:19:57.000000000 +0200 @@ -31,11 +31,13 @@ # Set up for installing LLVM 9.0. # See <https://wiki.ubuntu.com/ToolChain>. # See <http://llvm.org/apt/>. +# Key must be added before doing `apt-add-repository ... apt.llvm.org ...`. +wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - +# add-apt-repository -y \ ppa:ubuntu-toolchain-r/test add-apt-repository -y \ 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main' -wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - apt-get update -qq # Install LLVM 9.0. See file "INSTALL.md".
