In openFileForRead don't cache erroneous entries if the error relates to them being...
authorKousik Kumar <kousikk@google.com>
Thu, 10 Oct 2019 15:29:01 +0000 (15:29 +0000)
committerKousik Kumar <kousikk@google.com>
Thu, 10 Oct 2019 15:29:01 +0000 (15:29 +0000)
commit4abac53302775af3c5ed396883207b5b45ba030f
tree72c41ec757d7fa32c2b8756210af7633a06a40c3
parentcbe55c7caf4c53fa8f9cc0f7ae7c2ff7f7c16585
In openFileForRead don't cache erroneous entries if the error relates to them being directories. Add tests.

Summary:
It seems that when the CachingFileSystem is first given a file to open that is actually a directory, it incorrectly
caches that path to be errenous and throws an error when subsequently a directory open call is made for the same
path.
This change makes it so that we do NOT cache a path if it turns out we asked for a file when its a directory.

Reviewers: arphaman

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68193

llvm-svn: 374366
clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
clang/test/ClangScanDeps/Inputs/headerwithdirnamefollowedbyinclude.json [new file with mode: 0644]
clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp [new file with mode: 0644]