History log of /llvm-project/clang/lib/Basic/FileManager.cpp (Results 151 – 175 of 245)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 90292a57 27-Feb-2014 Ben Langmuir <blangmuir@apple.com>

Revert "Remove constructors from FileEntry that prevent owning resources"

This reverts commit r202420, which broke the build.

llvm-svn: 202421


# e2db0cb0 27-Feb-2014 Ben Langmuir <blangmuir@apple.com>

Remove constructors from FileEntry that prevent owning resources

This cleans up some constructors that would not be safe once FileEntry
owns the storage for its name. These were already suspect, sin

Remove constructors from FileEntry that prevent owning resources

This cleans up some constructors that would not be safe once FileEntry
owns the storage for its name. These were already suspect, since they
wouldn't work if the FileEntry had an open file descriptor. The only
user for these constructors was in UniqueFileContainer, which wasn't a
very useful abstraction anyway. So it and UniqueDirContainer have been
replaced with std::map<UniqueID, *>.

This change should not affect anything outside the FileManager.

llvm-svn: 202420

show more ...


# c8a71468 27-Feb-2014 Ben Langmuir <blangmuir@apple.com>

Split FileEntry name vs. isValid

This is a small bit of refactoring in preparation for FileEntry owning
the storage for its own name.

llvm-svn: 202412


# ab01d4bb 21-Feb-2014 Patrik Hagglund <patrik.h.hagglund@ericsson.com>

Fix gcc -Wparentheses warning.

llvm-svn: 201840


# c8130a74 20-Feb-2014 Ben Langmuir <blangmuir@apple.com>

Recommit virtual file system

Previously reverted in r201755 due to causing an assertion failure.

I've removed the offending assertion, and taught the CompilerInstance to
create a default virtual fi

Recommit virtual file system

Previously reverted in r201755 due to causing an assertion failure.

I've removed the offending assertion, and taught the CompilerInstance to
create a default virtual file system inside createFileManager. In the
future, we should be able to reach into the CompilerInvocation to
customize this behaviour without breaking clients that don't care.

llvm-svn: 201818

show more ...


# a32575e4 20-Feb-2014 Juergen Ributzka <juergen@apple.com>

Reverting the virtual file system implementation, because it triggers an assertion
in our internal build bots.

This reverts commits 201618, 201635, 201636, 201639, 201685, 201691, and 201696.

llvm-

Reverting the virtual file system implementation, because it triggers an assertion
in our internal build bots.

This reverts commits 201618, 201635, 201636, 201639, 201685, 201691, and 201696.

llvm-svn: 201755

show more ...


# 090610d3 19-Feb-2014 Ben Langmuir <blangmuir@apple.com>

Initial implementation of virtual file system

This adds the minimum virtual file system support to start migrating
FileManager onto the VFS.

Originally discussed here:
http://lists.cs.uiuc.edu/pipe

Initial implementation of virtual file system

This adds the minimum virtual file system support to start migrating
FileManager onto the VFS.

Originally discussed here:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-February/035188.html

Differential Revision: http://llvm-reviews.chandlerc.com/D2745

llvm-svn: 201618

show more ...


Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1
# f8f91b89 01-Aug-2013 Rafael Espindola <rafael.espindola@gmail.com>

Use llvm::sys::fs::UniqueID for windows and unix.

This unifies the unix and windows versions of FileManager::UniqueDirContainer
and FileManager::UniqueFileContainer by using UniqueID.

We cannot jus

Use llvm::sys::fs::UniqueID for windows and unix.

This unifies the unix and windows versions of FileManager::UniqueDirContainer
and FileManager::UniqueFileContainer by using UniqueID.

We cannot just replace "struct stat" with llvm::sys::fs::file_status, since we
want to be able to construct fake ones, and file_status has different members
on unix and windows.

What the patch does is:

* Record only the information that clang is actually using.
* Use llvm::sys::fs::status instead of stat and fstat.
* Use llvm::sys::fs::UniqueID
* Delete the old windows versions of UniqueDirContainer and
UniqueFileContainer since the "unix" one now works on windows too.

llvm-svn: 187619

show more ...


# e4777f46 29-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com>

Convert a use of stat with sys::fs::status.

llvm-svn: 187364


# ee30546c 29-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com>

Fix handling of "clang c:foo"

On windows, c:foo is a valid file path, but stat fails on just "c:". This
causes a problem for clang since its file manager wants to cache data about
the parent directo

Fix handling of "clang c:foo"

On windows, c:foo is a valid file path, but stat fails on just "c:". This
causes a problem for clang since its file manager wants to cache data about
the parent directory.

There are refactorings to be done in here, but this gives clang the correct
behavior and testing first.

Patch by Yunzhong Gao!

llvm-svn: 187359

show more ...


Revision tags: llvmorg-3.3.1-rc1
# 2341c0d3 04-Jul-2013 Craig Topper <craig.topper@gmail.com>

Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily.

llvm-svn: 185610


Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1
# eadae014 26-Jan-2013 Dmitri Gribenko <gribozavr@gmail.com>

<limits.h> includes <linux/limits.h> on Linux, no need to special-case it

llvm-svn: 173578


# e00c8b20 26-Jan-2013 Douglas Gregor <dgregor@apple.com>

Since we're stuck with realpath for the header <-> module mapping,
factor the realpath calls into FileManager::getCanonicalName() so we
can cache the results of this epically slow operation. 5% speed

Since we're stuck with realpath for the header <-> module mapping,
factor the realpath calls into FileManager::getCanonicalName() so we
can cache the results of this epically slow operation. 5% speedup on
my modules test, and realpath drops out of the profile.

llvm-svn: 173542

show more ...


Revision tags: llvmorg-3.2.0
# 3b779379 11-Dec-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com>

Extend stat query APIs to explicitly specify if the query is for
a file or directory, allowing just a stat call if a file descriptor
is not needed.

Doing just 'stat' is faster than 'open/fstat/close

Extend stat query APIs to explicitly specify if the query is for
a file or directory, allowing just a stat call if a file descriptor
is not needed.

Doing just 'stat' is faster than 'open/fstat/close'.
This has the effect of cutting down system time for validating the input files of a PCH.

llvm-svn: 169831

show more ...


Revision tags: llvmorg-3.2.0-rc3
# 3a02247d 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com>

Sort all of Clang's files under 'lib', and fix up the broken headers
uncovered.

This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/util

Sort all of Clang's files under 'lib', and fix up the broken headers
uncovered.

This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.

I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.

llvm-svn: 169237

show more ...


Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1
# 65706d85 06-Nov-2012 Daniel Dunbar <daniel@zuster.org>

Basic: Windows doesn't define S_IFIFO.

llvm-svn: 167468


# e2951f48 05-Nov-2012 Daniel Dunbar <daniel@zuster.org>

Frontend: Add support for reading named pipes as the main file.

- The whole {File,Source}Manager is built around wanting to pre-determine the
size of files, so we can't fit this in naturally. In

Frontend: Add support for reading named pipes as the main file.

- The whole {File,Source}Manager is built around wanting to pre-determine the
size of files, so we can't fit this in naturally. Instead, we handle it like
we do STDIN, where we just replace the main file contents upfront.

llvm-svn: 167419

show more ...


# 3aad855a 31-Jul-2012 Manuel Klimek <klimek@google.com>

Fixes a segfault in Tooling when using pch's:
Clear the FileManager's stat cache in between running
translation units, as the stat cache loaded from a pch
is only valid for one compiler invocation.

Fixes a segfault in Tooling when using pch's:
Clear the FileManager's stat cache in between running
translation units, as the stat cache loaded from a pch
is only valid for one compiler invocation.

llvm-svn: 161047

show more ...


# 6d7833f1 11-Jul-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com>

Introduce a flag in SourceManager to treat non-system source files
as "volatile", meaning there's a high enough chance that they may
change while we are trying to use them.

This flag is only enabled

Introduce a flag in SourceManager to treat non-system source files
as "volatile", meaning there's a high enough chance that they may
change while we are trying to use them.

This flag is only enabled by libclang.
Currently "volatile" source files will be stat'ed immediately
before opening them, because the file size stat info
may not be accurate since when we got it (e.g. from the PCH).
This avoids crashes when trying to reference mmap'ed memory
from a file whose size is not what we expect.

Note that there's still a window for a racing issue to occur
but the window for it should be way smaller than before.
We can consider later on to avoid mmap completely on such files.

rdar://11612916

llvm-svn: 160074

show more ...


# 23c1676d 11-Jul-2012 Axel Naumann <Axel.Naumann@cern.ch>

LLVM_ON_WIN32 case: use the proper key in the UniqueFiles map.

llvm-svn: 160041


# b3074003 10-Jul-2012 Axel Naumann <Axel.Naumann@cern.ch>

Improve r159256 following Chandler's comments:
Implement UniqueFileContainer::erase(), camelCase, add comment on future optimizations of the cache versus de-optimizations of invalidations.

llvm-svn:

Improve r159256 following Chandler's comments:
Implement UniqueFileContainer::erase(), camelCase, add comment on future optimizations of the cache versus de-optimizations of invalidations.

llvm-svn: 159997

show more ...


# b15b37f7 27-Jun-2012 Axel Naumann <Axel.Naumann@cern.ch>

Fix for r159256 on Windows.

llvm-svn: 159262


# 38179d96 27-Jun-2012 Axel Naumann <Axel.Naumann@cern.ch>

From Vassil Vassilev:
add interface for removing a FileEntry from the cache.
Forces a re-read the contents from disk, e.g. because a tool (like cling) wants to pick up a modified file.

llvm-svn: 159

From Vassil Vassilev:
add interface for removing a FileEntry from the cache.
Forces a re-read the contents from disk, e.g. because a tool (like cling) wants to pick up a modified file.

llvm-svn: 159256

show more ...


# 8bd8ee76 16-Jun-2012 NAKAMURA Takumi <geek4civic@gmail.com>

clang/lib/Basic/FileManager.cpp: Detect the root directory with PathV2. It should be better fix for PR10331, or, "clang X:\foo.c" fails.

llvm-svn: 158596


# 523af827 15-Jun-2012 James Dennett <jdennett@google.com>

Documentation cleanup: delete doc comments from source files where they are
broken duplicates of comments that are in the corresponding header files.

llvm-svn: 158550


12345678910