| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
There is no std::error_code::success, so this removes much of the noise
in transitioning to std::error_code.
llvm-svn: 209952
|
|
|
|
| |
llvm-svn: 209938
|
|
|
|
|
|
| |
necessary.
llvm-svn: 207593
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch, if 'nul' was passed in input to clang, function
getStatus() (in Path.inc) always returned an instance of file_status with
field 'nFileSizeHigh' and 'nFileSizeLow' left uninitialized.
This was causing the triggering of an assertion failure in MemoryBuffer.cpp due
to an invalid FileSize for device 'nul'.
This patch fixes the assertion failure modifying the constructors of class
file_status (in llvm/Support/FileSystem.h) so that every field of the class
gets initialized to zero by default.
A clang test will be submitted on a separate patch.
llvm-svn: 207575
|
|
|
|
|
|
| |
to reduce verbosity.
llvm-svn: 205829
|
|
|
|
| |
llvm-svn: 205697
|
|
|
|
|
|
| |
is_symlink was always false since it was using stat instead of lstat.
llvm-svn: 204361
|
|
|
|
|
|
|
|
| |
Add a utility function to convert the Windows path separator to Unix style path
separators. This is used by a subsequent change in clang to enable the use of
Windows SDK headers on Linux.
llvm-svn: 203611
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch the unix code for creating hardlinks was unused. The code
for creating symbolic links was implemented in lib/Support/LockFileManager.cpp
and the code for creating hard links in lib/Support/*/Path.inc.
The only use we have for these is in LockFileManager.cpp and it can use both
soft and hard links. Just have a create_link function that creates one or the
other depending on the platform.
llvm-svn: 203596
|
|
|
|
|
|
|
|
|
|
| |
This reverts commits r203136, r203137, and r203138.
This code doesn't build on Windows. Even on Vista+, Windows requires
elevated privileges to create a symlink. Therefore we can't use
symlinks in the compiler. We'll have to find another approach.
llvm-svn: 203143
|
|
|
|
| |
llvm-svn: 203136
|
|
|
|
|
|
|
|
|
|
| |
This compiles with no changes to clang/lld/lldb with MSVC and includes
overloads to various functions which are used by those projects and llvm
which have OwningPtr's as parameters. This should allow out of tree
projects some time to move. There are also no changes to libs/Target,
which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
|
|
|
|
|
|
| |
libstdc++ and libc++ pulled this in transitively so I didn't notice.
llvm-svn: 202753
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 202751
|
|
|
|
|
|
| |
libraries. It is now always 1 in LLVM builds.
llvm-svn: 202580
|
|
|
|
|
|
|
|
|
| |
After this I will set the default back to F_None. The advantage is that
before this patch forgetting to set F_Binary would corrupt a file on windows.
Forgetting to set F_Text produces one that cannot be read in notepad, which
is a better failure mode :-)
llvm-svn: 202052
|
|
|
|
|
|
|
| |
The only extra bit of functionality that had to be exposed for this be be
implemented in Path.cpp is opening a file in rw mode.
llvm-svn: 202005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch they would take an boolean argument to say if the path
already existed. This was redundant with the returned error_code which is able
to represent that. This allowed for callers to incorrectly check only the
existed flag instead of first checking the error code.
Instead, pass in a boolean flag to say if the previous (non-)existence should be
an error or not.
Callers of the of the old simple versions are not affected. They still ignore
the previous (non-)existence as they did before.
llvm-svn: 201979
|
|
|
|
| |
llvm-svn: 201327
|
|
|
|
|
|
|
|
|
|
| |
I assume that the name is file_type because it is the name of a c++11 type that
we will use once we convert, but at least our current implementation can look
like llvm code.
Thanks to David Blakie for the push.
llvm-svn: 200354
|
|
|
|
| |
llvm-svn: 200352
|
|
|
|
| |
llvm-svn: 198955
|
|
|
|
|
|
| |
Based on a patch by Neil Henning!
llvm-svn: 197045
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Make identify_magic to recognize COFF import file.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2165
llvm-svn: 194852
|
|
|
|
| |
llvm-svn: 193637
|
|
|
|
| |
llvm-svn: 193165
|
|
|
|
| |
llvm-svn: 192745
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some background: One can pass compiled resource files (.res files) directly
to the linker on Windows. If a resource file is given, the linker will run
"cvtres" command in background to convert the resource file to a COFF file
to link it.
What I'm trying to do with this patch is to make the linker to recognize
the resource file by file magic, so that it can run cvtres command.
Differential Revision: http://llvm-reviews.chandlerc.com/D1943
llvm-svn: 192742
|
|
|
|
| |
llvm-svn: 190034
|
|
|
|
|
|
|
| |
This trades some complexity in operator== for not introducing static objects
into any functions using recursive directory iterators.
llvm-svn: 188081
|
|
|
|
|
|
|
| |
The use of sd_dev and st_ino has reached libclang, so expose the two components
in UniqueID so that we can use it in clang.
llvm-svn: 187616
|
|
|
|
| |
llvm-svn: 187383
|
|
|
|
|
|
| |
This will let us use getUniqueID instead of st_dev directly on clang.
llvm-svn: 187378
|
|
|
|
| |
llvm-svn: 186561
|
|
|
|
| |
llvm-svn: 186486
|
|
|
|
|
|
|
| |
This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).
llvm-svn: 186447
|
|
|
|
| |
llvm-svn: 186378
|
|
|
|
|
|
|
| |
This opens the way of having static helpers in the .inc files that can
construct a file_status.
llvm-svn: 186376
|
|
|
|
|
|
| |
Found by -Wdocumentation.
llvm-svn: 186021
|
|
|
|
|
|
|
|
|
|
| |
The status function is already using a syscall that returns the file size.
Remember it and implement file_size as a simple wrapper.
No functionally change, but clients that already use status now can avoid
calling file_size.
llvm-svn: 186016
|
|
|
|
| |
llvm-svn: 185835
|
|
|
|
| |
llvm-svn: 185834
|
|
|
|
| |
llvm-svn: 185728
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function is complementary to createTemporaryFile. It handles the case were
the unique file is *not* temporary: we will rename it in the end. Since we
will rename it, the file has to be in the same filesystem as the final
destination and we don't prepend the system temporary directory.
This has a small semantic difference from unique_file: the default mode is 0666.
This matches the behavior of most unix tools. For example, with this change
lld now produces files with the same permissions as ld. I will add a test
of this change when I port clang over to createUniqueFile (next commit).
llvm-svn: 185726
|
|
|
|
|
|
|
|
| |
This function is inspired by clang's Driver::GetTemporaryPath. It hides the
pattern used for uniquing and requires simple file names that are always
placed in the system temporary directory.
llvm-svn: 185716
|
|
|
|
| |
llvm-svn: 185123
|
|
|
|
| |
llvm-svn: 185120
|
|
|
|
|
|
|
|
|
|
|
| |
There are a few valid situation where we care about the structure inside a
directory, but not about the directory itself. A simple example is for unit
testing directory traversal.
PathV1 had a function like this, add one to V2 and port existing users of the
created temp file and delete it hack to using it.
llvm-svn: 185059
|
|
|
|
|
|
| |
Patch by 罗勇刚(Yonggang Luo).
llvm-svn: 184971
|
|
|
|
| |
llvm-svn: 184955
|