From 91dc1b4264842bbed8d68c7882cb144872edb03e Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Fri, 7 May 2021 09:54:26 +0000 Subject: [PATCH] [dyld] Do iterate subfolders and other non-regular files. This should improve root-project/root#7774 and ROOT-10496. Kudos to Alexander Penev (@alexander-penev). --- .../cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp b/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp index a53cafc1dfad7..df2dcaf1b6a47 100644 --- a/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp +++ b/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp @@ -437,10 +437,16 @@ namespace cling { for (llvm::sys::fs::directory_iterator DirIt(DirPath, EC), DirEnd; DirIt != DirEnd && !EC; DirIt.increment(EC)) { + if (DirIt->type() == llvm::sys::fs::file_type::directory_file) + continue; + // FIXME: Use a StringRef here! std::string FileName = getRealPath(DirIt->path()); assert(!llvm::sys::fs::is_symlink_file(FileName)); + if (!llvm::sys::fs::is_regular_file(FileName)) + continue; + if (ShouldPermanentlyIgnore(FileName)) continue;