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-07-01 13:44:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cvise (Old) and /work/SRC/openSUSE:Factory/.cvise.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cvise" Fri Jul 1 13:44:58 2022 rev:46 rq:986054 version:2.4.0+git.20220630.80a749e Changes: -------- --- /work/SRC/openSUSE:Factory/cvise/cvise.changes 2022-01-04 19:38:16.453991650 +0100 +++ /work/SRC/openSUSE:Factory/.cvise.new.1548/cvise.changes 2022-07-01 13:45:27.486943495 +0200 @@ -1,0 +2,15 @@ +Thu Jun 30 11:41:10 UTC 2022 - [email protected] + +- Update to version 2.4.0+git.20220630.80a749e: + * Skip pass if enormous test-case growth is seen + * README: add a tip about -Wfatal-errors + * Use LLVM 14 as a default library version. + * return UINT_MAX for invalid CstArray size + * remove spelling locations in case of macros + * handle macros for reduce-class-template-param + * handle more macro cases for remove-namespace + * handle more macro cases for ReplaceExpr + * skip recursive calls for simple-inliner + * skip defaulted function for param-to-local + +------------------------------------------------------------------- Old: ---- cvise-2.4.0+git.20220104.21c4e26.tar.xz New: ---- _servicedata cvise-2.4.0+git.20220630.80a749e.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cvise.spec ++++++ --- /var/tmp/diff_new_pack.0W5WFi/_old 2022-07-01 13:45:27.946944186 +0200 +++ /var/tmp/diff_new_pack.0W5WFi/_new 2022-07-01 13:45:27.954944198 +0200 @@ -17,7 +17,7 @@ Name: cvise -Version: 2.4.0+git.20220104.21c4e26 +Version: 2.4.0+git.20220630.80a749e Release: 0 Summary: Super-parallel Python port of the C-Reduce License: BSD-3-Clause ++++++ _service ++++++ --- /var/tmp/diff_new_pack.0W5WFi/_old 2022-07-01 13:45:27.990944252 +0200 +++ /var/tmp/diff_new_pack.0W5WFi/_new 2022-07-01 13:45:27.994944258 +0200 @@ -1,6 +1,6 @@ <services> <service mode="disabled" name="tar_scm"> - <param name="url">git://github.com/marxin/cvise</param> + <param name="url">https://github.com/marxin/cvise</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> <param name="filename">cvise</param> ++++++ _servicedata ++++++ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/marxin/cvise</param> <param name="changesrevision">80a749e2550c538668b93d4b16372a0a1a47450d</param></service></servicedata> (No newline at EOF) ++++++ cvise-2.4.0+git.20220104.21c4e26.tar.xz -> cvise-2.4.0+git.20220630.80a749e.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/.github/workflows/build.yml new/cvise-2.4.0+git.20220630.80a749e/.github/workflows/build.yml --- old/cvise-2.4.0+git.20220104.21c4e26/.github/workflows/build.yml 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/.github/workflows/build.yml 2022-06-30 13:38:57.000000000 +0200 @@ -12,17 +12,17 @@ strategy: matrix: - llvm: [9, 10, 11, 12, 13] + llvm: [9, 10, 11, 12, 13, 14] build-type: [DEBUG] docker: [opensuse/tumbleweed] include: - - llvm: 13 + - llvm: 14 build-type: ASAN docker: opensuse/tumbleweed - - llvm: 13 + - llvm: 14 build-type: UBSAN docker: opensuse/tumbleweed - - llmv: 13 + - llmv: 14 build-type: RelWithDebInfo extra-flags: -flto=auto docker: opensuse/tumbleweed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/README.md new/cvise-2.4.0+git.20220630.80a749e/README.md --- old/cvise-2.4.0+git.20220104.21c4e26/README.md 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/README.md 2022-06-30 13:38:57.000000000 +0200 @@ -130,3 +130,8 @@ Doing that, a reduction will typically end up faster, however, one may end up with a code snippet full of warnings that needs to be addresses after the reduction. + +1. Adding `-Wfatal-errors` to the interestingness test can speed up + large reductions by causing the compiler to bail out quickly on errors, + rather than trying to soldier on producing a result that is eventually + discarded. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/ParamToLocal.cpp new/cvise-2.4.0+git.20220630.80a749e/clang_delta/ParamToLocal.cpp --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/ParamToLocal.cpp 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/ParamToLocal.cpp 2022-06-30 13:38:57.000000000 +0200 @@ -191,6 +191,8 @@ PE = FD->param_end(); PI != PE; ++PI) { if ((*PI)->isImplicit() || (*PI)->getSourceRange().isInvalid()) continue; + if (FD->isDeleted() || FD->isDefaulted()) + continue; if (!FD->hasBody() && (*PI)->getNameAsString().empty()) continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/ReduceClassTemplateParameter.cpp new/cvise-2.4.0+git.20220630.80a749e/clang_delta/ReduceClassTemplateParameter.cpp --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/ReduceClassTemplateParameter.cpp 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/ReduceClassTemplateParameter.cpp 2022-06-30 13:38:57.000000000 +0200 @@ -324,21 +324,27 @@ const TemplateParameterList *TPList, unsigned Index) { + SourceLocation LocStart = SrcManager->getSpellingLoc(Range.getBegin()); + SourceLocation LocEnd = SrcManager->getSpellingLoc(Range.getEnd()); + + SourceRange NewRange(LocStart, LocEnd); unsigned NumParams = TPList->size(); + SourceLocation LAngleLoc = + SrcManager->getSpellingLoc(TPList->getLAngleLoc()); + SourceLocation RAngleLoc = + SrcManager->getSpellingLoc(TPList->getRAngleLoc()); // if the parameter is the last one if (NumParams == 1) { - TheRewriter.ReplaceText(SourceRange(TPList->getLAngleLoc(), - TPList->getRAngleLoc()), - "<>"); + TheRewriter.ReplaceText(SourceRange(LAngleLoc, RAngleLoc), "<>"); } else if ((Index + 1) == NumParams) { - SourceLocation EndLoc = TPList->getRAngleLoc(); + SourceLocation EndLoc = RAngleLoc; EndLoc = EndLoc.getLocWithOffset(-1); - RewriteHelper->removeTextFromLeftAt(Range, ',', EndLoc); + RewriteHelper->removeTextFromLeftAt(NewRange, ',', EndLoc); } else { - RewriteHelper->removeTextUntil(Range, ','); + RewriteHelper->removeTextUntil(NewRange, ','); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/ReplaceClassWithBaseTemplateSpec.cpp new/cvise-2.4.0+git.20220630.80a749e/clang_delta/ReplaceClassWithBaseTemplateSpec.cpp --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/ReplaceClassWithBaseTemplateSpec.cpp 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/ReplaceClassWithBaseTemplateSpec.cpp 2022-06-30 13:38:57.000000000 +0200 @@ -154,7 +154,8 @@ { unsigned NumBases = TheCXXRecord->getNumBases(); (void)NumBases; TransAssert((NumBases == 1) && "TheCXXRecord can have only one base!"); - SourceLocation StartLoc = TheCXXRecord->getLocation(); + SourceLocation StartLoc = + SrcManager->getSpellingLoc(TheCXXRecord->getSourceRange().getBegin()); StartLoc = RewriteHelper->getLocationUntil(StartLoc, ':'); SourceLocation EndLoc = RewriteHelper->getLocationUntil(StartLoc, '{'); EndLoc = EndLoc.getLocWithOffset(-1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/RewriteUtils.cpp new/cvise-2.4.0+git.20220630.80a749e/clang_delta/RewriteUtils.cpp --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/RewriteUtils.cpp 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/RewriteUtils.cpp 2022-06-30 13:38:57.000000000 +0200 @@ -680,8 +680,8 @@ int RangeSize = TheRewriter->getRangeSize(ExprRange); if (RangeSize == -1) { SourceLocation StartLoc = ExprRange.getBegin(); - if (SrcManager->isMacroBodyExpansion(StartLoc)) { - StartLoc = SrcManager->getFileLoc(StartLoc); + if (StartLoc.isMacroID()) { + StartLoc = SrcManager->getExpansionLoc(StartLoc); } SourceLocation EndLoc = ExprRange.getEnd(); if (SrcManager->isMacroBodyExpansion(EndLoc) || @@ -1611,11 +1611,13 @@ { SourceLocation StartLoc = LocRange.getBegin(); if (StartLoc.isMacroID()) { - StartLoc = SrcManager->getSpellingLoc(StartLoc); - SourceLocation EndLoc = LocRange.getEnd(); - TransAssert(EndLoc.isMacroID() && "EndLoc is not from a macro!"); - LocRange = SourceRange(StartLoc, SrcManager->getSpellingLoc(EndLoc)); + StartLoc = SrcManager->getFileLoc(StartLoc); + } + SourceLocation EndLoc = LocRange.getEnd(); + if (EndLoc.isMacroID()) { + EndLoc = SrcManager->getFileLoc(EndLoc); } + LocRange = SourceRange(StartLoc, EndLoc); return LocRange; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/SimpleInliner.cpp new/cvise-2.4.0+git.20220630.80a749e/clang_delta/SimpleInliner.cpp --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/SimpleInliner.cpp 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/SimpleInliner.cpp 2022-06-30 13:38:57.000000000 +0200 @@ -362,6 +362,9 @@ FunctionDecl *CanonicalDecl = CalleeDecl->getCanonicalDecl(); if (!ValidFunctionDecls.count(CanonicalDecl)) continue; + // skip recursive call + if (CalleeDecl->getCanonicalDecl() == CalleeToCallerMap[(*CI)]) + continue; if (!hasValidArgExprs(*CI)) continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/Transformation.cpp new/cvise-2.4.0+git.20220630.80a749e/clang_delta/Transformation.cpp --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/Transformation.cpp 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/Transformation.cpp 2022-06-30 13:38:57.000000000 +0200 @@ -395,7 +395,7 @@ std::stringstream TmpSS(IntStr.str().str()); if (!(TmpSS >> Sz)) { - TransAssert(0 && "Non-integer value!"); + return UINT_MAX; } return Sz; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/callexpr-to-value/macro3.cc new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/callexpr-to-value/macro3.cc --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/callexpr-to-value/macro3.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/callexpr-to-value/macro3.cc 2022-06-30 13:38:57.000000000 +0200 @@ -0,0 +1,14 @@ +// RUN: %clang_delta --transformation=callexpr-to-value --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: bool baz(); +bool baz(); +// CHECK: #define MACRO1(expr) expr +#define MACRO1(expr) expr +// CHECK: #define MACRO2 MACRO1(baz()) +#define MACRO2 MACRO1(baz()) +// CHECK: void foo() { +void foo() { +// CHECK: 0; + MACRO2; +// CHECK: } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/reduce-class-template-param/macro.cc new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/reduce-class-template-param/macro.cc --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/reduce-class-template-param/macro.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/reduce-class-template-param/macro.cc 2022-06-30 13:38:57.000000000 +0200 @@ -0,0 +1,6 @@ +// RUN: %clang_delta --transformation=reduce-class-template-param --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: #define DEF(NAME) template < class = void> struct NAME {}; +#define DEF(NAME) template <class _Tp, class = void> struct NAME {}; +// CHECK: DEF(S); +DEF(S); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/reduce-class-template-param/macro2.cc new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/reduce-class-template-param/macro2.cc --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/reduce-class-template-param/macro2.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/reduce-class-template-param/macro2.cc 2022-06-30 13:38:57.000000000 +0200 @@ -0,0 +1,14 @@ +// RUN: %clang_delta --transformation=reduce-class-template-param --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s -check-prefix=CHECK-FIRST +// RUN: %clang_delta --transformation=reduce-class-template-param --counter=2 %s 2>&1 | %remove_lit_checks | FileCheck %s -check-prefix=CHECK-SECOND + +// CHECK-FIRST: #define DEF(NAME) template < class = void> struct NAME {}; +// CHECK-SECOND: #define DEF(NAME) template <class _Tp> struct NAME {}; +#define DEF(NAME) template <class _Tp, class = void> struct NAME {}; +// CHECK-FIRST: DEF(MyStruct1); +// CHECK-SECOND: DEF(MyStruct1); +DEF(MyStruct1); +// CHECK-SECOND: DEF(S); +DEF(S); +// CHECK-SECOND: DEF(MyS2); +DEF(MyS2); + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/remove-namespace/macro3.cc new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/remove-namespace/macro3.cc --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/remove-namespace/macro3.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/remove-namespace/macro3.cc 2022-06-30 13:38:57.000000000 +0200 @@ -0,0 +1,20 @@ +// RUN: %clang_delta --transformation=remove-namespace --counter=2 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: #define START_NS namespace NS1 { namespace NS2 { +#define START_NS namespace NS1 { namespace NS2 { +// CHECK: #define END_NS } } +#define END_NS } } +// CHECK-NOT: START_NS +START_NS +// CHECK: void copy1(); + void copy1(); +// CHECK-NOT: END_NS +END_NS +// CHECK: #define NS3 NS1::NS2 +#define NS3 NS1::NS2 +// CHECK: void foo() { +void foo() { +// CHECK: copy1(); + NS3::copy1(); +// CHECK: } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/replace-class-with-base-template-spec/macro.cc new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/replace-class-with-base-template-spec/macro.cc --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/replace-class-with-base-template-spec/macro.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/replace-class-with-base-template-spec/macro.cc 2022-06-30 13:38:57.000000000 +0200 @@ -0,0 +1,11 @@ +// RUN: %clang_delta --transformation=replace-class-with-base-template-spec --counter=1 %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: template <typename T> +template <typename T> +// CHECK: struct S {}; +struct S {}; + +// CHECK: #define DEF(NAME) template <class T> struct NAME {} +#define DEF(NAME) template <class T> struct NAME : S<int> {} +// CHECK: DEF(MyStruct); +DEF(MyStruct); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/simple-inliner/recursive1.cc new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/simple-inliner/recursive1.cc --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/simple-inliner/recursive1.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/simple-inliner/recursive1.cc 2022-06-30 13:38:57.000000000 +0200 @@ -0,0 +1,8 @@ +// RUN: %clang_delta --query-instances=simple-inliner %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: Available transformation instances: 0 + +int foo(int p) { + int i = 0; + return foo(i); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/simple-inliner/recursive2.cc new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/simple-inliner/recursive2.cc --- old/cvise-2.4.0+git.20220104.21c4e26/clang_delta/tests/simple-inliner/recursive2.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/clang_delta/tests/simple-inliner/recursive2.cc 2022-06-30 13:38:57.000000000 +0200 @@ -0,0 +1,17 @@ +// RUN: %clang_delta --query-instances=simple-inliner %s 2>&1 | %remove_lit_checks | FileCheck %s + +// CHECK: Available transformation instances: 0 + +struct a; +template <typename> using b = a; +struct a { + template <typename c> auto d(c) { + using e = b<c>; + return e{}; + } +} f; +auto g() -> a { + a h; + f.d([] {}).d(g()); + return h; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvise-2.4.0+git.20220104.21c4e26/cvise/utils/testing.py new/cvise-2.4.0+git.20220630.80a749e/cvise/utils/testing.py --- old/cvise-2.4.0+git.20220104.21c4e26/cvise/utils/testing.py 2022-01-04 14:46:35.000000000 +0100 +++ new/cvise-2.4.0+git.20220630.80a749e/cvise/utils/testing.py 2022-06-30 13:38:57.000000000 +0200 @@ -28,6 +28,7 @@ # change default Pebble sleep unit for faster response pebble.common.SLEEP_UNIT = 0.01 +MAX_PASS_INCREASEMENT_THRESHOLD = 5 def rmfolder(name): @@ -486,6 +487,7 @@ try: for test_case in self.sorted_test_cases: self.current_test_case = test_case + starting_test_case_size = os.path.getsize(test_case) if self.get_file_size([test_case]) == 0: continue @@ -522,6 +524,14 @@ if success_env: self.process_result(success_env) + + # if the file increases significantly, bail out the current pass + test_case_size = os.path.getsize(self.current_test_case) + if test_case_size >= MAX_PASS_INCREASEMENT_THRESHOLD * starting_test_case_size: + logging.info(f'skipping the rest of the pass (huge file increasement ' + f'{MAX_PASS_INCREASEMENT_THRESHOLD * 100}%)') + break + self.release_folders() self.futures.clear() if not success_env:
