[libcxx-commits] [libcxx] a092e38 - [libc++] Remove the %{not} substitution

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Tue Apr 7 14:12:58 PDT 2020


Author: Louis Dionne
Date: 2020-04-07T17:12:37-04:00
New Revision: a092e3833bee3b8f509638177ead89223d9b0153

URL: https://github.com/llvm/llvm-project/commit/a092e3833bee3b8f509638177ead89223d9b0153
DIFF: https://github.com/llvm/llvm-project/commit/a092e3833bee3b8f509638177ead89223d9b0153.diff

LOG: [libc++] Remove the %{not} substitution

It has never been used, and it actually doesn't really work because it
assumes that the target supports Python. Instead, it's better to just
use `!` since we're running ShTests in system shells anyway.

Added: 
    

Modified: 
    libcxx/utils/libcxx/test/config.py

Removed: 
    libcxx/test/libcxx/selftest/not_test.sh.cpp
    libcxx/utils/not.py


################################################################################
diff  --git a/libcxx/test/libcxx/selftest/not_test.sh.cpp b/libcxx/test/libcxx/selftest/not_test.sh.cpp
deleted file mode 100644
index 56da5ed5ea50..000000000000
--- a/libcxx/test/libcxx/selftest/not_test.sh.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// RUN: %{build}
-// RUN: %{not} %{run}
-
-int main(int, char**)
-{
-  return 1;
-}

diff  --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py
index f86a796b9300..88010f850b4c 100644
--- a/libcxx/utils/libcxx/test/config.py
+++ b/libcxx/utils/libcxx/test/config.py
@@ -1070,9 +1070,6 @@ def configure_substitutions(self):
                                                      pipes.quote(executor),
                                                      ' '.join(exec_args))))
         sub.append(('%{run}', '%{exec} %t.exe'))
-        # Configure not program substitutions
-        not_py = os.path.join(self.libcxx_src_root, 'utils', 'not.py')
-        sub.append(('%{not}', '{} {}'.format(pipes.quote(sys.executable), pipes.quote(not_py))))
         if self.get_lit_conf('libcxx_gdb'):
             sub.append(('%{libcxx_gdb}', self.get_lit_conf('libcxx_gdb')))
 

diff  --git a/libcxx/utils/not.py b/libcxx/utils/not.py
deleted file mode 100644
index 2efc8e3cca0d..000000000000
--- a/libcxx/utils/not.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#===----------------------------------------------------------------------===##
-#
-# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-#===----------------------------------------------------------------------===##
-
-"""not.py is a utility for inverting the return code of commands.
-It acts similar to llvm/utils/not.
-ex: python /path/to/not.py ' echo hello
-    echo $? // (prints 1)
-"""
-
-import subprocess
-import sys
-
-def which_cannot_find_program(prog):
-    # Allow for import errors on distutils.spawn
-    try:
-        import distutils.spawn
-        prog = distutils.spawn.find_executable(prog[0])
-        if prog is None:
-            sys.stderr.write('Failed to find program %s' % prog[0])
-            return True
-        return False
-    except:
-        return False
-
-def main():
-    argv = list(sys.argv)
-    del argv[0]
-    if len(argv) > 0 and argv[0] == '--crash':
-        del argv[0]
-        expectCrash = True
-    else:
-        expectCrash = False
-    if len(argv) == 0:
-        return 1
-    if which_cannot_find_program(argv[0]):
-        return 1
-    rc = subprocess.call(argv)
-    if rc < 0:
-        return 0 if expectCrash else 1
-    if expectCrash:
-        return 1
-    return rc == 0
-
-
-if __name__ == '__main__':
-    exit(main())


        


More information about the libcxx-commits mailing list