Hello community,

here is the log from the commit of package cvise for openSUSE:Factory checked 
in at 2020-06-02 14:34:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cvise (Old)
 and      /work/SRC/openSUSE:Factory/.cvise.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cvise"

Tue Jun  2 14:34:18 2020 rev:8 rq:810608 version:1.4.0+git.20200601.4173fa7

Changes:
--------
--- /work/SRC/openSUSE:Factory/cvise/cvise.changes      2020-05-11 
13:44:17.541493622 +0200
+++ /work/SRC/openSUSE:Factory/.cvise.new.3606/cvise.changes    2020-06-02 
14:34:26.130723457 +0200
@@ -1,0 +2,38 @@
+Mon Jun 01 12:24:14 UTC 2020 - [email protected]
+
+- Update to version 1.3.0+git.20200601.4173fa7:
+  * Bump to 1.4.0.
+  * Remove superfluous debugging message.
+
+-------------------------------------------------------------------
+Sat May 30 14:11:58 UTC 2020 - Martin Liška <[email protected]>
+
+- Use LLVM 10.
+
+-------------------------------------------------------------------
+Sat May 30 13:50:35 UTC 2020 - [email protected]
+
+- Update to version 1.3.0+git.20200530.444f5f0:
+  * Add C++ std auto-detection of clangbinarysearch passes.
+
+-------------------------------------------------------------------
+Fri May 29 08:19:52 UTC 2020 - [email protected]
+
+- Update to version 1.3.0+git.20200528.9dbe6d9:
+  * Fix bash shebin.
+
+-------------------------------------------------------------------
+Wed May 27 19:42:16 UTC 2020 - [email protected]
+
+- Update to version 1.3.0+git.20200527.46d9394:
+  * Add new argument --commands that can replace script.
+  * Improve wording of error message.
+  * Support Debug/Release subfolder for Windows builds.
+  * Report missing external program.
+  * Document what is expected from interestingness script.
+  * Port test to PyTest.
+  * get real location for angle locs
+  * Add Speed Comparison.
+  * Mention Gentoo linux package installation.
+
+-------------------------------------------------------------------

Old:
----
  cvise-1.3.0+git.20200511.50c821f.tar.xz

New:
----
  cvise-1.4.0+git.20200601.4173fa7.tar.xz

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

Other differences:
------------------
++++++ cvise.spec ++++++
--- /var/tmp/diff_new_pack.PBDpZ5/_old  2020-06-02 14:34:27.338727279 +0200
+++ /var/tmp/diff_new_pack.PBDpZ5/_new  2020-06-02 14:34:27.342727292 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           cvise
-Version:        1.3.0+git.20200511.50c821f
+Version:        1.4.0+git.20200601.4173fa7
 Release:        0
 Summary:        Super-parallel Python port of the C-Reduce
 License:        BSD-3-Clause
@@ -25,12 +25,12 @@
 URL:            https://github.com/marxin/cvise
 Source:         %{name}-%{version}.tar.xz
 BuildRequires:  astyle
-BuildRequires:  clang9-devel
+BuildRequires:  clang10-devel
 BuildRequires:  cmake
 BuildRequires:  flex
 BuildRequires:  gcc-c++
 BuildRequires:  indent
-BuildRequires:  llvm9-devel
+BuildRequires:  llvm10-devel
 BuildRequires:  ncurses-devel
 BuildRequires:  ninja
 BuildRequires:  python3-Pebble
@@ -38,9 +38,9 @@
 BuildRequires:  python3-pytest4
 BuildRequires:  unifdef
 Requires:       astyle
-Requires:       clang9
+Requires:       clang10
 Requires:       indent
-Requires:       llvm9
+Requires:       llvm10
 Requires:       python3-Pebble
 Requires:       unifdef
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.PBDpZ5/_old  2020-06-02 14:34:27.378727406 +0200
+++ /var/tmp/diff_new_pack.PBDpZ5/_new  2020-06-02 14:34:27.382727419 +0200
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
     <param name="filename">cvise</param>
-    <param name="versionformat">1.3.0+git.%cd.%h</param>
+    <param name="versionformat">1.4.0+git.%cd.%h</param>
   </service>
   <service mode="disabled" name="recompress">
     <param name="file">*.tar</param>

++++++ cvise-1.3.0+git.20200511.50c821f.tar.xz -> 
cvise-1.4.0+git.20200601.4173fa7.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-1.3.0+git.20200511.50c821f/CMakeLists.txt 
new/cvise-1.4.0+git.20200601.4173fa7/CMakeLists.txt
--- old/cvise-1.3.0+git.20200511.50c821f/CMakeLists.txt 2020-05-11 
08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/CMakeLists.txt 2020-06-01 
14:20:05.000000000 +0200
@@ -122,11 +122,11 @@
 set(cvise_PACKAGE             "cvise")
 set(cvise_PACKAGE_BUGREPORT   "https://github.com/marxin/cvise/issues";)
 set(cvise_PACKAGE_NAME        "cvise")
-set(cvise_PACKAGE_STRING      "cvise 1.3.0")
+set(cvise_PACKAGE_STRING      "cvise 1.4.0")
 set(cvise_PACKAGE_TARNAME     "cvise")
 set(cvise_PACKAGE_URL         "https://github.com/marxin/cvise/";)
-set(cvise_PACKAGE_VERSION     "1.3.0")
-set(cvise_VERSION             "1.3.0")
+set(cvise_PACKAGE_VERSION     "1.4.0")
+set(cvise_VERSION             "1.4.0")
 
 configure_file("cmake_config.h.in" "${PROJECT_BINARY_DIR}/config.h")
 add_definitions("-DHAVE_CONFIG_H")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-1.3.0+git.20200511.50c821f/CREDUCE_MERGE 
new/cvise-1.4.0+git.20200601.4173fa7/CREDUCE_MERGE
--- old/cvise-1.3.0+git.20200511.50c821f/CREDUCE_MERGE  2020-05-11 
08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/CREDUCE_MERGE  2020-06-01 
14:20:05.000000000 +0200
@@ -1,2 +1,2 @@
 Last cherry-picked git revision:
-0140a6c1e03bd82153818fcc4bf6a21560aed3ca
+d5691462d89327479c70ac7ba70456ce2ec11f4b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-1.3.0+git.20200511.50c821f/INSTALL.md 
new/cvise-1.4.0+git.20200601.4173fa7/INSTALL.md
--- old/cvise-1.3.0+git.20200511.50c821f/INSTALL.md     2020-05-11 
08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/INSTALL.md     2020-06-01 
14:20:05.000000000 +0200
@@ -11,6 +11,13 @@
 zypper in cvise
 ```
 
+### Gentoo Linux
+
+```shell
+emerge cvise
+```
+
+
 ### Using Docker (or Podman)
 
 ```shell
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-1.3.0+git.20200511.50c821f/README.md 
new/cvise-1.4.0+git.20200601.4173fa7/README.md
--- old/cvise-1.3.0+git.20200511.50c821f/README.md      2020-05-11 
08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/README.md      2020-06-01 
14:20:05.000000000 +0200
@@ -24,6 +24,18 @@
 If you need to reduce programs in some other language, please give it
 a try.
 
+## Speed Comparison
+
+I made a comparison for couple of GCC bug reports on my AMD Ryzen 7 2700X 
Eight-Core Processor
+machine with the following results:
+
+| Test-case | Size | C-Vise Reduction | C-Reduce Reduction | Speed Up |
+| --- | --- | --- | --- | --- |
+| [PR92516](http://gcc.gnu.org/PR92516) | 6.5 MB | 35m | 77m | 220% |
+| [PR94523](http://gcc.gnu.org/PR94523) | 2.1 MB | 15m | 33m | 220% |
+| [PR94632](http://gcc.gnu.org/PR94632) | 3.3 MB | 20m | 28m | 40% |
+| [PR94937](http://gcc.gnu.org/PR94937) | 8.5 MB | 242m | 303m | 125% |
+
 ## Installation
 
 See [INSTALL.md](INSTALL.md).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/CMakeLists.txt 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/CMakeLists.txt
--- old/cvise-1.3.0+git.20200511.50c821f/clang_delta/CMakeLists.txt     
2020-05-11 08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/CMakeLists.txt     
2020-06-01 14:20:05.000000000 +0200
@@ -319,6 +319,8 @@
   "/tests/simplify-callexpr/test2.output"
   "/tests/simplify-if/macro.c"
   "/tests/simplify-if/macro.output"
+  "/tests/simplify-recursive-template-instantiation/test.cc"
+  "/tests/simplify-recursive-template-instantiation/test.output"
   "/tests/union-to-struct/union1.c"
   "/tests/union-to-struct/union1.output"
   "/tests/union-to-struct/union2.c"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
--- 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
 2020-05-11 08:52:08.000000000 +0200
+++ 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
 2020-06-01 14:20:05.000000000 +0200
@@ -184,10 +184,10 @@
   TemplateSpecializationTypeLoc TLoc = TheLocPair->pop_back_val();
   TemplateSpecializationTypeLoc ParentTLoc = TheLocPair->pop_back_val();
 
-  SourceLocation LAngleLoc  = TLoc.getLAngleLoc();
-  SourceLocation RAngleLoc  = TLoc.getRAngleLoc();
-  SourceLocation ParentLAngleLoc = ParentTLoc.getLAngleLoc();
-  SourceLocation ParentRAngleLoc = ParentTLoc.getRAngleLoc();
+  SourceLocation LAngleLoc  = getRealLocation(TLoc.getLAngleLoc());
+  SourceLocation RAngleLoc  = getRealLocation(TLoc.getRAngleLoc());
+  SourceLocation ParentLAngleLoc = getRealLocation(ParentTLoc.getLAngleLoc());
+  SourceLocation ParentRAngleLoc = getRealLocation(ParentTLoc.getRAngleLoc());
   std::string InnerStr = "";
   RewriteHelper->getStringBetweenLocs(InnerStr, LAngleLoc, RAngleLoc);
   TheRewriter.ReplaceText(SourceRange(ParentLAngleLoc, ParentRAngleLoc),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/tests/simplify-recursive-template-instantiation/test.cc
 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/tests/simplify-recursive-template-instantiation/test.cc
--- 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/tests/simplify-recursive-template-instantiation/test.cc
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/tests/simplify-recursive-template-instantiation/test.cc
    2020-06-01 14:20:05.000000000 +0200
@@ -0,0 +1,3 @@
+template <typename T>
+struct array {};
+array<array<int>> x;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/tests/simplify-recursive-template-instantiation/test.output
 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/tests/simplify-recursive-template-instantiation/test.output
--- 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/tests/simplify-recursive-template-instantiation/test.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/tests/simplify-recursive-template-instantiation/test.output
        2020-06-01 14:20:05.000000000 +0200
@@ -0,0 +1,3 @@
+template <typename T>
+struct array {};
+array<int> x;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/clang_delta/tests/test_clang_delta.py 
new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/tests/test_clang_delta.py
--- old/cvise-1.3.0+git.20200511.50c821f/clang_delta/tests/test_clang_delta.py  
2020-05-11 08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/clang_delta/tests/test_clang_delta.py  
2020-06-01 14:20:05.000000000 +0200
@@ -484,6 +484,9 @@
     def test_simplify_if_macro(self):
         self.check_clang_delta('simplify-if/macro.c', 
'--transformation=simplify-if --counter=1')
 
+    def test_simplify_simple_recursive_template(self):
+        
self.check_clang_delta('simplify-recursive-template-instantiation/test.cc', 
'--transformation=simplify-recursive-template-instantiation --counter=1')
+
     def test_union_to_struct_union1(self):
         self.check_clang_delta('union-to-struct/union1.c', 
'--transformation=union-to-struct --counter=1')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/cvise/passes/abstract.py 
new/cvise-1.4.0+git.20200601.4173fa7/cvise/passes/abstract.py
--- old/cvise-1.3.0+git.20200511.50c821f/cvise/passes/abstract.py       
2020-05-11 08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/cvise/passes/abstract.py       
2020-06-01 14:20:05.000000000 +0200
@@ -83,7 +83,10 @@
         program = self.external_programs[name]
         if not program:
             return False
-        return shutil.which(program) is not None
+        result = shutil.which(program) is not None
+        if not result:
+            logging.error("cannot find external program {}".format(name))
+        return result
 
     def check_prerequisites(self):
         raise NotImplementedError("Class {} has not implemented 
'check_prerequisites'!".format(type(self).__name__))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/cvise/passes/clangbinarysearch.py 
new/cvise-1.4.0+git.20200601.4173fa7/cvise/passes/clangbinarysearch.py
--- old/cvise-1.3.0+git.20200511.50c821f/cvise/passes/clangbinarysearch.py      
2020-05-11 08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/cvise/passes/clangbinarysearch.py      
2020-06-01 14:20:05.000000000 +0200
@@ -5,6 +5,7 @@
 import shutil
 import subprocess
 import tempfile
+import time
 
 from cvise.passes.abstract import *
 
@@ -12,7 +13,24 @@
     def check_prerequisites(self):
         return self.check_external_program("clang_delta")
 
+    def detect_best_standard(self, test_case):
+        best = None
+        best_count = -1
+        for std in ('c++98', 'c++11', 'c++14', 'c++17', 'c++20'):
+            self.clang_delta_std = std
+            start = time.monotonic()
+            instances = self.count_instances(test_case)
+            took = time.monotonic() - start
+
+            if instances > best_count:
+                best = std
+                best_count = instances
+            logging.debug('available instances for %s: %d, took: %.2f s' % 
(std, instances, took))
+        logging.info('using C++ standard: %s with %d instances' % (best, 
best_count))
+        self.clang_delta_std = best
+
     def new(self, test_case):
+        self.detect_best_standard(test_case)
         return BinaryState.create(self.count_instances(test_case))
 
     def advance(self, test_case, state):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/cvise/utils/error.py 
new/cvise-1.4.0+git.20200601.4173fa7/cvise/utils/error.py
--- old/cvise-1.3.0+git.20200511.50c821f/cvise/utils/error.py   2020-05-11 
08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/cvise/utils/error.py   2020-06-01 
14:20:05.000000000 +0200
@@ -115,6 +115,8 @@
   echo $?
 
 should result in "0" being echoed to the terminal.
+Please ensure that the test script takes no arguments; it should be hard-coded 
to refer
+to the same file that is passed as an argument to C-Vise.
 
 See "cvise.py --help" for more information.""".format(test_cases=" 
".join(self.test_cases), test=self.test)
         return message
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-1.3.0+git.20200511.50c821f/cvise/utils/testing.py 
new/cvise-1.4.0+git.20200601.4173fa7/cvise/utils/testing.py
--- old/cvise-1.3.0+git.20200511.50c821f/cvise/utils/testing.py 2020-05-11 
08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/cvise/utils/testing.py 2020-06-01 
14:20:05.000000000 +0200
@@ -490,8 +490,6 @@
         self.pass_statistic.stop(self.current_pass)
 
     def process_result(self, test_env):
-        logging.debug("Process result")
-
         if self.print_diff:
             diff_str = self.diff_files(self.current_test_case, 
test_env.test_case_path)
             logging.info(diff_str)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-1.3.0+git.20200511.50c821f/cvise.py 
new/cvise-1.4.0+git.20200601.4173fa7/cvise.py
--- old/cvise-1.3.0+git.20200511.50c821f/cvise.py       2020-05-11 
08:52:08.000000000 +0200
+++ new/cvise-1.4.0+git.20200601.4173fa7/cvise.py       2020-06-01 
14:20:05.000000000 +0200
@@ -9,6 +9,8 @@
 import time
 import datetime
 import psutil
+import platform
+import tempfile
 
 import importlib.util
 
@@ -62,6 +64,13 @@
         path = None
         if local_folder:
             local_folder = os.path.join(script_path, local_folder)
+            if platform.system() == "Windows":
+                for configuration in ["Debug", "Release"]:
+                    new_local_folder = os.path.join(local_folder, 
configuration)
+                    if os.path.exists(new_local_folder):
+                        local_folder = new_local_folder
+                        break
+
             path = shutil.which(prog, path=local_folder)
 
             if not path:
@@ -160,7 +169,8 @@
     parser.add_argument("--not-c", action="store_true", help="Don't run passes 
that are specific to C and C++, use this mode for reducing other languages")
     parser.add_argument("--list-passes", action="store_true", help="Print all 
available passes and exit")
     parser.add_argument("--version", action="version", 
version=CVise.Info.PACKAGE_STRING  + (' (%s)' % CVise.Info.GIT_VERSION if 
CVise.Info.GIT_VERSION != 'unknown' else ''))
-    parser.add_argument("interestingness_test", 
metavar="INTERESTINGNESS_TEST", help="Executable to check interestingness of 
test cases")
+    parser.add_argument("--commands", "-c", help="Use bash commands instead of 
an interestingness test case")
+    parser.add_argument("interestingness_test", 
metavar="INTERESTINGNESS_TEST", nargs="?", help="Executable to check 
interestingness of test cases")
     parser.add_argument("test_cases", metavar="TEST_CASE", nargs="+", 
help="Test cases")
 
     args = parser.parse_args()
@@ -226,6 +236,19 @@
 
     pass_statistic = statistics.PassStatistic()
 
+    if not args.interestingness_test and not args.commands:
+        print('Either INTERESTINGNESS_TEST or --commands must be used!')
+        exit(1)
+
+    script = None
+    if args.commands:
+        with tempfile.NamedTemporaryFile(mode="w", delete=False, suffix=".sh") 
as script:
+            script.write('#!/bin/bash\n\n')
+            script.write(args.commands + '\n')
+        os.chmod(script.name, 0o744)
+        logging.info('Using temporary interestingness test: %s' % script.name)
+        args.interestingness_test = script.name
+
     test_manager = testing.TestManager(pass_statistic, 
args.interestingness_test, args.timeout,
             args.save_temps, args.test_cases, args.n, args.no_cache, 
args.skip_key_off, args.shaddap,
             args.die_on_pass_bug, args.print_diff, args.max_improvement, 
args.no_give_up, args.also_interesting)
@@ -262,4 +285,7 @@
             with open(test_case) as test_case_file:
                 print(test_case_file.read())
 
+    if script:
+        os.remove(script.name)
+
     logging.shutdown()


Reply via email to