Mehdi Amini
dbca62ee4e
[ThinLTO] Add an API to trigger file-based API for returning objects to the linker
...
Summary:
The motivation is to support better the -object_path_lto option on
Darwin. The linker needs to write down the generate object files on
disk for later use by lldb or dsymutil (debug info are not present
in the final binary). We're moving this into libLTO so that we can
be smarter when a cache is enabled and hard-link when possible
instead of duplicating the files.
Reviewers: tejohnson, deadalnix, pcc
Subscribers: dexonsmith, llvm-commits
Differential Revision: https://reviews.llvm.org/D27507
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289631 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-14 04:56:42 +00:00
Eugene Zelenko
9ed0c7a3a9
[ADT, Support, TableGen] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288424 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-01 22:13:24 +00:00
Derek Schuff
7a578c9156
[WebAssembly] Add llvm-objdump support for wasm file format
...
This is the first part of an effort to add wasm binary
support across all llvm tools.
Patch by Sam Clegg
Differential Revision: https://reviews.llvm.org/D26172
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288251 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-30 16:49:11 +00:00
Rui Ueyama
baf920c9bc
Add a file magic for CL.exe's object file created with /GL.
...
This patch makes it possible to identify object files created by CL.exe
with /GL option. Such file contains Microsoft proprietary intermediate
code instead of target machine code to do LTO.
I need this to print out user-friendly error message from LLD.
Differential Revision: https://reviews.llvm.org/D26645
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286919 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-15 00:54:54 +00:00
Pavel Labath
2864c2ae90
Remove TimeValue usage from llvm/Support
...
Summary:
This is a follow-up to D25416. It removes all usages of TimeValue from
llvm/Support library (except for the actual TimeValue declaration), and replaces
them with appropriate usages of std::chrono. To facilitate this, I have added
small utility functions for converting time points and durations into appropriate
OS-specific types (FILETIME, struct timespec, ...).
Reviewers: zturner, mehdi_amini
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D25730
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284966 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-24 10:59:17 +00:00
Taewook Oh
4133ef3efb
In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives.
...
Differential Revision: http://reviews.llvm.org/D19842
Corresponding clang patch: http://reviews.llvm.org/D19843
Re-commit after addressing issues with of generating too many warnings for Windows and asan test failures
Patch by Eric Niebler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272555 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-13 15:54:56 +00:00
Taewook Oh
2c2ab512e8
Revert commit r271704, a patch that enables warnings for non-portable #include and #import paths (Corresponding clang patch has been reverted by r271761). Patches are reverted because they generate lots of unadressable warnings for windows and fail tests under ASAN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271764 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-04 03:36:12 +00:00
Taewook Oh
033103449b
In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives.
...
Differential Revision: http://reviews.llvm.org/D19842
Patch by Eric Niebler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271704 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-03 18:38:39 +00:00
Eugene Zelenko
8e8ab733c6
Fix some Clang-tidy readability-simplify-boolean-expr and Include What You Use warnings.
...
Differential revision: reviews.llvm.org/D19946
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268689 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05 21:35:47 +00:00
Mehdi Amini
e744acb2dd
Add disk_space() to llvm::fs
...
Summary: Adapted from Boost::filesystem.
(This is a reapply by reverting commit r265080 and fixing the WinAPI part)
Differential Revision: http://reviews.llvm.org/D18467
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265082 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-01 00:18:08 +00:00
Mehdi Amini
120652acc2
Revert "Add disk_space() to llvm::fs"
...
This reverts commit r265074 and r265068.
Breaks windows build
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265080 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-01 00:13:31 +00:00
Mehdi Amini
3ddee86990
Use const ref instead of value for Twine in the disk_space() API
...
Thanks Rui for noticing!
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265074 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-31 23:14:45 +00:00
Mehdi Amini
f5e9ba6d1c
Add disk_space() to llvm::fs
...
Summary: Adapted from Boost::filesystem.
(This is a reapply by reverting commit r265062 and fixing the WinAPI part)
Differential Revision: http://reviews.llvm.org/D18467
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265068 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-31 23:05:26 +00:00
Mehdi Amini
99811fe3c4
Revert "Add disk_space() to llvm::fs"
...
Breaks windows bot.
This reverts commit r265050.
This reverts commit r265055.
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265062 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-31 21:55:35 +00:00
Simon Pilgrim
c7e42230b0
Wdocumentation parameter fix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265055 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-31 21:13:49 +00:00
Mehdi Amini
9bba5e5a48
Add disk_space() to llvm::fs
...
Summary: Adapted from Boost::filesystem.
Reviewers: bruno, silvas
Subscribers: tberghammer, danalbert, llvm-commits, srhines
Differential Revision: http://reviews.llvm.org/D18467
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265050 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-31 20:48:27 +00:00
Mehdi Amini
14a12ee56f
Fix windows build for sys::fs:file_status Access Time added in r264392
...
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264393 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-25 07:40:52 +00:00
Mehdi Amini
782eed710d
Add lastAccessedTime to file_status
...
Differential Revision: http://reviews.llvm.org/D18456
This is a re-commit of r264387 and r264388 after fixing a typo.
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264392 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-25 07:30:21 +00:00
Mehdi Amini
389a4db948
Revert "Add lastAccessedTime to file_status"
...
This reverts commit r264387.
Bots are broken in various ways, I need to take one commit at a time...
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264390 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-25 06:51:43 +00:00
Mehdi Amini
b474b03196
Add lastAccessedTime to file_status
...
Reviewers: silvas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18456
From: Mehdi Amini <mehdi.amini@apple.com >
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264387 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-25 05:58:11 +00:00
Cameron Esfahani
70de10b99a
NFC: Update documentation for createUniqueFile() to explain that models without an absolute path will be created in the current directory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252265 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-06 01:45:30 +00:00
Yaron Keren
ba3f35ef57
Revert r250923 as config.h is not an installed header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250924 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 18:36:52 +00:00
Yaron Keren
a41a157f21
Include llvm/Config/config.h in FileSystem.h as it depends upon HAVE_SYS_STAT_H which is defined (or not) in config.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250923 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 18:28:35 +00:00
Benjamin Kramer
9fdd48c184
[Support] Add a version of fs::make_absolute with a custom CWD.
...
This will be used soon from clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249309 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-05 13:02:43 +00:00
Reid Kleckner
f84a11c301
ScanDirForExecutable on Windows fails to find executables with the "exe" extension in name
...
When the driver tries to locate a program by its name, e.g. a linker, it
scans the paths provided by the toolchain using the ScanDirForExecutable
function. If the lookup fails, the driver uses
llvm::sys::findProgramByName. Unlike llvm::sys::findProgramByName,
ScanDirForExecutable is not aware of file extensions. If the program has
the "exe" extension in its name, which is very common on Windows,
ScanDirForExecutable won't find it under the toolchain-provided paths.
This patch changes the Windows version of the "`can_execute`" function
called by ScanDirForExecutable to respect file extensions, similarly to
llvm::sys::findProgramByName.
Patch by Oleg Ranevskyy
Reviewers: rnk
Differential Revision: http://reviews.llvm.org/D12711
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247358 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-10 23:28:06 +00:00
NAKAMURA Takumi
085ee025f0
Reformat headers in ADT and Support partially.
...
Note, I didn't reformat entirely, but partially where I touched in previous commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244432 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 04:22:36 +00:00
NAKAMURA Takumi
d1769e33c4
Whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244431 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 04:22:09 +00:00
NAKAMURA Takumi
e4b461c8d7
Reformat linebreaks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244430 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 04:21:43 +00:00
Frederic Riss
9a7f4507ab
Thread premissions through sys::fs::create_director{y|ies}
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244268 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-06 21:04:55 +00:00
Alexander Kornienko
cd52a7a381
Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC)
...
Apparently, the style needs to be agreed upon first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240390 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-23 09:49:53 +00:00
Alexander Kornienko
cf0db29df2
Fixed/added namespace ending comments using clang-tidy. NFC
...
The patch is generated using this command:
tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \
-checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \
llvm/lib/
Thanks to Eugene Kosov for the original patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240137 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-19 15:57:42 +00:00
Benjamin Kramer
822147fcb2
Mark empty default constructors as =default if it makes the type POD
...
NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234694 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-11 18:57:14 +00:00
Justin Bogner
a4beb9e372
Object: Handle Mach-O kext bundle files
...
This particular subtype of Mach-O was missing. Add it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230567 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-25 22:59:20 +00:00
Aaron Ballman
66981fe208
Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229340 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-15 22:54:22 +00:00
Rafael Espindola
8b3754208f
Remove the last unnecessary member variable of mapped_file_region. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224312 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 03:10:29 +00:00
Rafael Espindola
b5f992ccc0
Convert a member variable to a local variable. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224311 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 02:53:35 +00:00
Rafael Espindola
a99ff35cb5
Remove unused member and simplify. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224309 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 02:19:26 +00:00
Benjamin Kramer
71bb7d0925
Fix Doxygen command misspellings.
...
Found by -Wdocumentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224197 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-13 19:19:07 +00:00
Rafael Espindola
e1136e38a7
Pass a FD to resise_file and add a testcase.
...
I will add a real use in another commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224136 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-12 17:55:12 +00:00
Rafael Espindola
0be06cf360
Remove a convoluted way of calling close by moving the call to the only caller.
...
As a bonus we can actually check the return value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224046 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-11 20:12:55 +00:00
Rafael Espindola
de15d01f9d
Remove dead code. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224029 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-11 17:17:26 +00:00
Michael J. Spencer
b9f39bcc82
Support ELF files of unknown type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222208 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-18 01:14:25 +00:00
NAKAMURA Takumi
81d53b7290
Move sys::fs::AccessMode out of @brief in the function. [-Wdocumentation]
...
FIXME: Annotate sys::fs::AccessMode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217685 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-12 15:12:32 +00:00
NAKAMURA Takumi
3b59cfdddc
sys::fs::access(): Fix @param [-Wdocumentation]
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217684 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-12 15:12:21 +00:00
Rafael Espindola
8d230cd536
Misc cleanups to the FileSytem api.
...
The main difference is the removal of
std::error_code exists(const Twine &path, bool &result);
It was an horribly redundant interface since a file not existing is also a valid
error_code. Now we have an access function that returns just an error_code. This
is the only function that has to be implemented for Unix and Windows. The
functions can_write, exists and can_execute an now just wrappers.
One still has to be very careful using these function to avoid introducing
race conditions (Time of check to time of use).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217625 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-11 20:30:02 +00:00
Rafael Espindola
d6039e045f
Remove dead code. Fixes pr20544.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215243 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-08 21:35:52 +00:00
Alp Toker
a0d04ac9f1
Fix 'platform-specific' hyphenations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212056 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-30 18:57:16 +00:00
Alp Toker
46e17cae55
Build fix for systems without futimes/futimens
...
Some versions of Android don't have futimes/futimens and this code wasn't
updated during the recent errc refactoring.
Patch by Luqman Aden!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212055 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-30 18:57:04 +00:00
Justin Bogner
f21de942f3
Support: Add llvm::sys::fs::copy_file
...
A function to copy one file's contents to another.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211302 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-19 19:35:39 +00:00
Rafael Espindola
5c792faa0e
Don't use 'using std::error_code' in include/llvm.
...
This should make sure that most new uses use the std prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210835 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-12 21:46:39 +00:00