#
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
|