History log of /external/llvm/lib/Support/Path.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Support/Path.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Support/Path.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Support/Path.cpp
8a631b2cbe2f8621eb3679a4898205da577453b7 15-Nov-2013 Rui Ueyama <ruiu@google.com> Path: Recognize COFF import library file magic.

Summary: Make identify_magic to recognize COFF import file.

Reviewers: Bigcheese

CC: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
b850a05f2c914fef74dbafbf61470512a976c632 14-Nov-2013 Rui Ueyama <ruiu@google.com> Recognize 0x0000 as a COFF file magic.

Summary:
Some machine-type-neutral object files containing only undefined symbols
actually do exist in the Windows standard library. Need to recognize them
as COFF files.

Reviewers: Bigcheese

CC: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
86df596c4121633114fca22585583f7b585b87aa 16-Oct-2013 Rui Ueyama <ruiu@google.com> Fix a bug in Windows resource file detection.

The magic bytes should not include the trailing NUL byte.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
b32b0376d4ac04fc2401e70aa0bdd2f6ce5a8968 16-Oct-2013 Rui Ueyama <ruiu@google.com> Path: Recognize Windows compiled resource file.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
f37a324baa7f3893111827f03959fc036da1ed23 11-Sep-2013 Benjamin Kramer <benny.kra@googlemail.com> Path: Add an in-place version of path::native.

This reflects the common use case of nativizing a prepared path. The existing
version invokes undefined behavior if input = output, add an assert to catch
that case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
225396c2b52a50fa8a781e9a7b5cc81dceae010a 12-Aug-2013 Tareq A. Siraj <tareq.a.siraj@intel.com> Fixes a bug when iterating on paths

This fixes the incorrect implementation of iterating on file/directory
paths.

Differential Review: http://llvm-reviews.chandlerc.com/D1277


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
3ed45fe2be4356351942a2cfe9bd92e996d4fcad 29-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Include st_dev to make the result of getUniqueID actually unique.

This will let us use getUniqueID instead of st_dev directly on clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
268f400c57ccbb81da34ff1ab1eb001cbb0df1f1 25-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't end a file name with a dot. It looks odd.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
b1a003f37725a31e5e744c46112b628c5e0aeb8a 19-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Split openFileForWrite into windows and unix versions.

It is similar to 186511, but for creating files for writing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
b0aa9e9718181952d5a636c72ff32c8d4352685b 17-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Split openFileForRead into Windows and Unix versions.

This has some advantages:

* Lets us use native, utf16 windows functions.
* Easy to produce good errors on windows about trying to use a
directory when we want a file.
* Simplifies the unix version a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
c1b49b56d4132efa2e06deb8f23508d0de4c8800 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a wrapper for open.

This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
01c9d28fece665972c9d355ae738cf3fc73d22d4 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove unique_file now that it is unused.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
200c748a8643cd127271f4d6849da1e147d4442f 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a createUniqueFile function and switch llvm's users of unique_file.

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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
e11874f6c5e33f5c2d634bfd33e1ae67c93f9b74 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a higher level createTemporaryFile function.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
4157466bdc41173a1ebd777739ea219162ae13e0 28-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Improve comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
8e7294f9953a98cfaae7e3bf5a6c852018cbcb83 28-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Improvements to unique_file and createUniqueDirectory.

* Don't try to create parent directories in unique_file. It had two problem:
* It violates the contract that it is atomic. If the directory creation
success and the file creation fails, we would return an error but the
file system was modified.
* When creating a temporary file clang would have to first check if the
parent directory existed or not to avoid creating one when it was not
supposed to.

* More efficient implementations of createUniqueDirectory and the unique_file
that produces only the file name. Now all 3 just call into a static
function passing what they want (name, file or directory).

Clang also has to be updated, so tests might fail if a bot picks up this commit
and not the corresponding clang one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
ae19c89e1da816adbd6c7ffc28f679dabec83573 28-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't ask for a mode when we are not keeping the file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
08ddd12e444880b4d570ac42a42414a227022190 27-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a convenience createUniqueDirectory function.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
7a231f5a1e346eff9d7b02f9f24dfb3d79c2f12f 26-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Rename PathV2 to just Path now that it is the only one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
460e75a453c256828caaf454c0bbae3eab79f440 26-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> PathV1 is deprecated since the 18th of Dec 2010. Remove it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
ca0984cb8647e5eae58e384715523476e3170d50 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove Path::isObjectFile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
c3907f387f0b2ec20913c6f869131c5ffd9f08df 12-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Inline Path::isBitcodeFile into only use and remove it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
26ace5720d471dcff6ab6495f5898597cda54496 12-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove Path::hasMagicNumber.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
f3e397eb17327423b3f8fff5eac8547c85efddb1 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Include PathV1.h in files that use it.

This is preparation for replacing Path.h with PathV2.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
715a1be51fe25a09fcc5318cd787893a8fbfc9e1 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove Path::getDirname.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
189c27e871763efac38c65a9786127af8d5b92b8 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove GetDLLSuffix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
40de55a5569bd175cee6abab2070fa0edfbd8658 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove GetSystemLibraryPaths.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
9a82d21512da4a8129ef32d6749b9ae3997de517 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove unused FindLibrary function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
af2c42e3d2ee918c4195ce5f32e732c43d93cea8 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove sys::identifyFileType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
f12745f7a7e68c05c89ebd515b9b4faedce37dd0 10-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Pass a StringRef to sys::identifyFileType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
b972457783f6f992d8ee2fe392609fd4b0c5cf00 10-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix an out of bounds array access.

We were looking at Magic[5] without checking Length. Since this path would not
return unless Length >= 18 anyway, just move the >= 18 check up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
91de80a5350b801b10323e65a6f3ee0f7dfb54f5 10-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Update for current naming conventions.

I will change identifyFileType to use a StringRef in the next patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
38b06020dbd804f01ee3802779a52c05cffdf87d 21-Dec-2012 Roman Divacky <rdivacky@freebsd.org> Remove duplicate includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
b935cd15142491bdee9baff00db8d63c18d402db 25-Jun-2012 Meador Inge <meadori@codesourcery.com> PR13013: ELF Type identification fails for MSB type ELF files.

Fix 'sys::IdentifyFileType' to work with big and little endian byte orderings
when reading the ELF object file type.

Initial patch by Stefan Hepp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
5b08230930ee219382f6d0abe9d16aa160907169 14-Dec-2011 Michael J. Spencer <bigcheesegs@gmail.com> Support/FileSystem: Add file_magic and move a vew clients over to it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
faebf11a3468767bb702b8e9fca98237f1d3a126 14-Dec-2011 Michael J. Spencer <bigcheesegs@gmail.com> Cleanup whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
c94792507ddac393a0a9f4cdf1bf258a09a47268 01-Nov-2011 Eli Friedman <eli.friedman@gmail.com> Remove a couple unused methods. PR11201.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
836623420dbf5eb3a3facde2841179ded91ab55b 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> ObjectFile: Add support for mach-o-style dSYM companion files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
f0c3af637ae4d8b827909aa5b3d618eea9ef8cd6 22-Apr-2011 Eric Christopher <echristo@apple.com> Add support for 64-bit object files to Path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
539d8d8a72995d08afe7b986fe98a1dc7fec4b0a 04-Apr-2011 Eric Christopher <echristo@apple.com> Assorted bugfixes in object file handling:

- Adds support for sniffing PE/COFF files on win32 (.exe and .dll)
which are COFF files that have an MS-DOS compatibility stub on
the front of them.

- Fixes a bug in the COFFObjectFile's support for the Microsoft COFF
extension for long symbol names, wherein it was attempting to parse
the leading '/' in an extended symbol name reference as part of the
integer offset.

- Fixes bugs in COFFObjectFile and ELFObjectFile wherein section
and symbol iterators were being returned with uninitialized bytes;
the type DataRefImpl is a union between 2 32-bit words (d.a and d.b)
and a single intptr_t word (p). Only p was being initialized, so in
32-bit builds the result would be iterators with random upper 32-bit
words in their DataRefImpls. This caused random failures when
seeking around in object files.

Patch by Graydon Hoare!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
28f0ed5c9de4a68f34c0219d4ab83652c4647150 15-Jan-2011 Michael J. Spencer <bigcheesegs@gmail.com> Support/PathV2: Add identify_magic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
54453f2978c76b3aa71be7bb4e9657c8539f8648 10-Jan-2011 Michael J. Spencer <bigcheesegs@gmail.com> Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
4213618088b0c0c85b208a01b45d89972984831b 28-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/Path: Deprecate Path::hasMagicNumber and replace all uses with fs::has_magic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
552a3c29dcdfaade9610a822fbfd3adc61eb1263 01-Dec-2010 Dan Gohman <gohman@apple.com> Delete Path::appendSuffix's return value; it wasn't used anywhere, which
is fine since isn't really necessary to check isValid there anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Path.cpp