On Fri, Dec 4, 2015 at 6:04 PM, John Thompson < john.thompson.jtsoftw...@gmail.com> wrote:
> >Aren't we already rejecting directories in the line `if (type == > sys::fs::file_type::directory_file)` above? Why check the filename? > > The iterator will walk the directories. That statement just keeps the > directories out of the file list. The iterator also give the relative path > from the starting directory, so I look for directory nodes or file names > that start with "." so I can avoid stuff that is usually private, like the > .svn directory, which bit me on one of the platforms. Not perfect, but > close enough, I think. > Ah, that makes sense. Thanks for the explanation. -- Sean Silva > > Thanks for looking at it. > > -John > > > On Fri, Dec 4, 2015 at 5:08 PM, Sean Silva <chisophu...@gmail.com> wrote: > >> >> >> On Fri, Dec 4, 2015 at 2:42 PM, John Thompson via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: jtsoftware >>> Date: Fri Dec 4 16:42:18 2015 >>> New Revision: 254785 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=254785&view=rev >>> Log: >>> Added coverage check for extensionless headers, and exclude hidden dot >>> directoryies. >>> >>> Added: >>> >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageNoProblems/Includes1/.hidden/ >>> >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageNoProblems/Includes1/.hidden/DontFindMe.h >>> >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageProblems/Level3B >>> Modified: >>> clang-tools-extra/trunk/modularize/CoverageChecker.cpp >>> clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp >>> clang-tools-extra/trunk/test/modularize/ProblemsCoverage.modularize >>> >>> Modified: clang-tools-extra/trunk/modularize/CoverageChecker.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/CoverageChecker.cpp?rev=254785&r1=254784&r2=254785&view=diff >>> >>> ============================================================================== >>> --- clang-tools-extra/trunk/modularize/CoverageChecker.cpp (original) >>> +++ clang-tools-extra/trunk/modularize/CoverageChecker.cpp Fri Dec 4 >>> 16:42:18 2015 >>> @@ -370,12 +370,18 @@ bool CoverageChecker::collectFileSystemH >>> I.increment(EC)) { >>> if (EC) >>> return false; >>> - std::string file(I->path()); >>> + //std::string file(I->path()); >>> + StringRef file(I->path()); >>> I->status(Status); >>> sys::fs::file_type type = Status.type(); >>> // If the file is a directory, ignore the name (but still recurses). >>> if (type == sys::fs::file_type::directory_file) >>> continue; >>> + // Assume directories or files starting with '.' are private and >>> not to >>> + // be considered. >>> + if (file.startswith(".") || (file.find("\\.") != StringRef::npos) >>> + || (file.find("/.") != StringRef::npos)) >>> + continue; >>> >> >> Aren't we already rejecting directories in the line `if (type == >> sys::fs::file_type::directory_file)` above? Why check the filename? >> >> -- Sean Silva >> >> >>> // If the file does not have a common header extension, ignore it. >>> if (!ModularizeUtilities::isHeader(file)) >>> continue; >>> >>> Modified: clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp?rev=254785&r1=254784&r2=254785&view=diff >>> >>> ============================================================================== >>> --- clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp (original) >>> +++ clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp Fri Dec >>> 4 16:42:18 2015 >>> @@ -468,7 +468,7 @@ std::string ModularizeUtilities::getCano >>> bool ModularizeUtilities::isHeader(StringRef FileName) { >>> StringRef Extension = llvm::sys::path::extension(FileName); >>> if (Extension.size() == 0) >>> - return false; >>> + return true; >>> if (Extension.equals_lower(".h")) >>> return true; >>> if (Extension.equals_lower(".inc")) >>> >>> Added: >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageNoProblems/Includes1/.hidden/DontFindMe.h >>> URL: >>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/Inputs/CoverageNoProblems/Includes1/.hidden/DontFindMe.h?rev=254785&view=auto >>> >>> ============================================================================== >>> --- >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageNoProblems/Includes1/.hidden/DontFindMe.h >>> (added) >>> +++ >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageNoProblems/Includes1/.hidden/DontFindMe.h >>> Fri Dec 4 16:42:18 2015 >>> @@ -0,0 +1,3 @@ >>> +#error DontFindMe.h shouldn't be found. >>> + >>> + >>> >>> Added: >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageProblems/Level3B >>> URL: >>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/Inputs/CoverageProblems/Level3B?rev=254785&view=auto >>> >>> ============================================================================== >>> --- >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageProblems/Level3B >>> (added) >>> +++ >>> clang-tools-extra/trunk/test/modularize/Inputs/CoverageProblems/Level3B Fri >>> Dec 4 16:42:18 2015 >>> @@ -0,0 +1 @@ >>> +#define MACRO_3B 1 >>> >>> Modified: >>> clang-tools-extra/trunk/test/modularize/ProblemsCoverage.modularize >>> URL: >>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/ProblemsCoverage.modularize?rev=254785&r1=254784&r2=254785&view=diff >>> >>> ============================================================================== >>> --- clang-tools-extra/trunk/test/modularize/ProblemsCoverage.modularize >>> (original) >>> +++ clang-tools-extra/trunk/test/modularize/ProblemsCoverage.modularize >>> Fri Dec 4 16:42:18 2015 >>> @@ -1,4 +1,5 @@ >>> # RUN: not modularize %S/Inputs/CoverageProblems/module.modulemap 2>&1 >>> | FileCheck %s >>> >>> # CHECK: warning: >>> {{.*}}{{[/\\]}}Inputs/CoverageProblems/module.modulemap does not account >>> for file: {{.*}}{{[/\\]}}Inputs/CoverageProblems/Level3A.h >>> +# CHECK-NEXT: warning: >>> {{.*}}{{[/\\]}}Inputs/CoverageProblems/module.modulemap does not account >>> for file: {{.*}}{{[/\\]}}Inputs/CoverageProblems/Level3B >>> # CHECK-NEXT: warning: >>> {{.*}}{{[/\\]}}Inputs/CoverageProblems/module.modulemap does not account >>> for file: {{.*}}{{[/\\]}}Inputs/CoverageProblems/Sub/Level3B.h >>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >> >> > > > -- > John Thompson > john.thompson.jtsoftw...@gmail.com >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits