Author: Jonas Toth Date: 2022-04-24T17:17:02+02:00 New Revision: 3f0f20366622ee5fd35a1d65d7db5226f5e5751f
URL: https://github.com/llvm/llvm-project/commit/3f0f20366622ee5fd35a1d65d7db5226f5e5751f DIFF: https://github.com/llvm/llvm-project/commit/3f0f20366622ee5fd35a1d65d7db5226f5e5751f.diff LOG: run-clang-tidy: Fix infinite loop on windows `find_compilation_database` checked only for "/" as exit point, but on Windows, this root is impossible. Fixes #53642 Authored By: Febbe Reviewed By: JonasToth Differential Revision: https://reviews.llvm.org/D119481 Added: Modified: clang-tools-extra/clang-tidy/tool/run-clang-tidy.py Removed: ################################################################################ diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py index afe2bfd28554d..9497e0b9f52d3 100755 --- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py @@ -73,13 +73,14 @@ def strtobool(val): def find_compilation_database(path): """Adjusts the directory until a compilation database is found.""" - result = './' + result = os.path.realpath('./') while not os.path.isfile(os.path.join(result, path)): - if os.path.realpath(result) == '/': + parent = os.path.dirname(result) + if result == parent: print('Error: could not find compilation database.') sys.exit(1) - result += '../' - return os.path.realpath(result) + result = parent + return result def make_absolute(f, directory): _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits