| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Patch by Brad King!
llvm-svn: 223525
|
|
|
|
|
|
|
| |
This eliminates converting back and forth between the 3 formats and
gives us a more homogeneous interface.
llvm-svn: 220657
|
|
|
|
|
|
| |
These were uncoveredby my yet undelivered patch.
llvm-svn: 218774
|
|
|
|
|
|
| |
Unique_ptr creation stil needs to be moved earlier at some of the call sites.
llvm-svn: 217474
|
|
|
|
| |
llvm-svn: 216715
|
|
|
|
|
|
|
|
|
|
| |
ownership is explicitly done using unique_ptr.
Only those callers who are dynamically passing ownership should need the
3 argument form. Those accepting the default ("do pass ownership")
should do so explicitly with a unique_ptr now.
llvm-svn: 216614
|
|
|
|
| |
llvm-svn: 216585
|
|
|
|
|
|
| |
Thanks to David Blaikie for the suggestion.
llvm-svn: 215865
|
|
|
|
| |
llvm-svn: 215853
|
|
|
|
|
|
|
|
|
|
| |
And in the process, discover that FileManager::removeStatCache had a
double-delete when removing an element from the middle of the list (at
the beginning or the end of the list, there was no problem) and add a
unit test to exercise the code path (which successfully crashed when run
(with modifications to match the old API) without this patch applied)
llvm-svn: 215388
|
|
|
|
| |
llvm-svn: 212545
|
|
|
|
| |
llvm-svn: 212388
|
|
|
|
| |
llvm-svn: 212369
|
|
|
|
|
|
|
|
|
| |
For now, this is only used by its unit tests. It is similar to the API
in llvm::sys::fs::recursive_directory_iterator, but without some of the
more complex features like requesting that the iterator not recurse into
the next directory, for example.
llvm-svn: 211732
|
|
|
|
|
|
| |
appease msc17.
llvm-svn: 211662
|
|
|
|
| |
llvm-svn: 211661
|
|
|
|
|
|
|
|
|
|
|
| |
1) missing iterator bits needed by libstdc++4.7
Using find_if was convenient, but since operator++ wasn't a good
interface anyway, I just replaced with a range-based for loop and
removed operator++ from the directory_iterator class.
2) stop relying on order of iterating real files
llvm-svn: 211633
|
|
|
|
|
|
|
| |
Part of my test seems to rely on iterator bits that I didn't implement,
at least in the gcc bots. Disabling while I investigate.
llvm-svn: 211625
|
|
|
|
|
|
|
|
| |
The API is based on sys::fs::directory_iterator, but it allows iterating
over overlays and the yaml-based VFS. For now, it isn't used by
anything (except its tests).
llvm-svn: 211623
|
|
|
|
| |
llvm-svn: 210921
|
|
|
|
| |
llvm-svn: 210817
|
|
|
|
|
|
| |
Looks like msvc has an asymmetrical operator ==.
llvm-svn: 210768
|
|
|
|
|
|
| |
This is an update for a llvm api change.
llvm-svn: 210688
|
|
|
|
| |
llvm-svn: 210423
|
|
|
|
|
|
|
|
|
|
|
|
| |
This corrects long-standing misuses of LLVM's internal config.h.
In most cases the public llvm-config.h header was intended and we can now
remove the old hacks thanks to LLVM r210144.
The config.h header is private, won't be installed and should no longer be
included by clang or other modules.
llvm-svn: 210145
|
|
|
|
| |
llvm-svn: 209959
|
|
|
|
| |
llvm-svn: 209956
|
|
|
|
|
|
|
|
|
|
|
| |
Eliminate createMainFileID() / createMainFileIDForMemBuffer() utility
functions. These didn't add much convenience and conflated two distinct
operations.
This change makes things easier to follow by providing a consistent interface
and getting rid of a bunch of cast-to-voids.
llvm-svn: 209266
|
|
|
|
|
|
| |
Landing this separately to make the previous commits easy to follow at home.
llvm-svn: 207826
|
|
|
|
|
|
|
|
| |
The Preprocessor::Initialize() function already offers a clear interface to
achieve this, further reducing the confusing number of states a newly
constructed preprocessor can have.
llvm-svn: 207825
|
|
|
|
| |
llvm-svn: 207011
|
|
|
|
|
|
| |
symbols in non-imported modules.
llvm-svn: 206977
|
|
|
|
|
|
| |
This is a follow-up to r203624 to address Anton's comment.
llvm-svn: 203668
|
|
|
|
|
|
| |
This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279
|
|
|
|
|
|
|
| |
Using a //net/ path to hopefully avoid problems with non-absolute paths
on Windows.
llvm-svn: 203010
|
|
|
|
|
|
|
|
|
|
|
| |
Failing Tests (5):
Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.CaseInsensitive
Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MappedFiles
Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MultiComponentPath
Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.TrailingSlashes
Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.UseExternalName
llvm-svn: 202952
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Was r202442
There were two issues with the original patch that have now been fixed.
1. We were memset'ing over a FileEntry in a test case. After adding a
std::string to FileEntry, this still happened to not break for me.
2. I didn't pass the FileManager into the new compiler instance in
compileModule. This was hidden in some cases by the fact I didn't
clear the module cache in the test.
Also, I changed the copy constructor for FileEntry, which was memcpy'ing
in a (now) unsafe way.
llvm-svn: 202539
|
|
|
|
|
|
| |
Revert r202442, which broke the buildbots.
llvm-svn: 202443
|
|
|
|
|
|
|
|
| |
Pass through the externally-visible names that we got from the VFS down
to FileManager, and test that this is the name showing up in __FILE__,
diagnostics, and debug information.
llvm-svn: 202442
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When true, sets the name of the file to be the name from
'external-contents'. Otherwise, you get the virtual path that the file
was looked up by. This will not affect any non-virtual paths, or fully
virtual paths (for which there is no reasonable 'external' name anyway).
The setting is available globally, but can be overriden on a per-file
basis.
The goal is that this setting will control which path you see in debug
info, diagnostics, etc. which are sensitive to which path is used. That
will come in future patches that pass the name through to FileManager.
llvm-svn: 202329
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the 'name' field to contain a path, like
{ 'type': 'directory',
'name': '/path/to/dir',
'contents': [ ... ] }
which not only simplifies reading and writing these files (for humans),
but makes it possible to easily modify locations via textual
replacement, which would not have worked in the old scheme.
E.g. sed s:<ROOT>:<NEW ROOT>
llvm-svn: 202109
|
|
|
|
|
|
|
| |
As requested during review, compare pointers to NULL explicitly to make what's
going on more clear.
llvm-svn: 202090
|
|
|
|
|
|
|
| |
This allows the unit tests to not use global state when checking
diagnostics.
llvm-svn: 202072
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provides a way to create a virtual file system using a YAML file that
supports mapping a file to a path on an 'external' file system. The
external file system will typically be the 'real' file system, but for
testing it can be changed.
A future patch will add a clang option to allow the user to specify such
a file and overlay it, but for now this code is only exercised by the
unit tests.
Differential Revision: http://llvm-reviews.chandlerc.com/D2835
llvm-svn: 201905
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
assertion
in our internal build bots.
This reverts commits 201618, 201635, 201636, 201639, 201685, 201691, and 201696.
llvm-svn: 201755
|
|
|
|
|
|
| |
Use camel-case names, remove some dead code, and fix a copy-and-pasted test.
llvm-svn: 201691
|
|
|
|
|
|
|
|
| |
Explicit operator bool doesn't not play nicely with gtest assertion
macros (i.e. it performs as advertised and I wish that gtest subverted
it for me).
llvm-svn: 201639
|
|
|
|
|
|
|
| |
Provides a way to merge multiple vfs::FileSystem objects into a single
filesystem.
llvm-svn: 201635
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|