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)
commitd4eeec7cfe1aea662f4f75bef90de475ade856ca
tree61d7220514aa8e537bf7525d7b4d540fe0538c07
parent20b3d56a1f44ea1972f39422f21dcc1e2d6f9f87
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374366 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
test/ClangScanDeps/Inputs/headerwithdirnamefollowedbyinclude.json [new file with mode: 0644]
test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp [new file with mode: 0644]