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
22 lines
651 B
C++
22 lines
651 B
C++
// RUN: rm -rf %t.dir
|
|
// RUN: rm -rf %t.dir/foodir
|
|
// RUN: rm -rf %t.cdb
|
|
|
|
// RUN: mkdir -p %t.dir
|
|
// RUN: mkdir -p %t.dir/foodir
|
|
|
|
// RUN: cp %S/Inputs/header.h %t.dir/foodir/foodirheader.h
|
|
// RUN: cp %s %t.dir/headerwithdirname_input.cpp
|
|
// RUN: mkdir %t.dir/Inputs
|
|
// RUN: cp %S/Inputs/foodir %t.dir/Inputs/foodir
|
|
// RUN: sed -e "s|DIR|%/t.dir|g" %S/Inputs/headerwithdirnamefollowedbyinclude.json > %t.cdb
|
|
//
|
|
// RUN: clang-scan-deps -compilation-database %t.cdb -j 1 | FileCheck %s
|
|
|
|
#include <foodir>
|
|
#include "foodir/foodirheader.h"
|
|
|
|
// CHECK: headerwithdirname_input.o
|
|
// CHECK-NEXT: headerwithdirname_input.cpp
|
|
// CHECK-NEXT: Inputs{{/|\\}}foodir
|