Rafael Espindola
78dcc03c37
Remove remove_all. A compiler has no need for recursively deleting a directory.
...
llvm-svn: 198955
2014-01-10 20:36:42 +00:00
Rui Ueyama
e448f9e418
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
llvm-svn: 194852
2013-11-15 21:22:02 +00:00
Rui Ueyama
829c4392e1
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
llvm-svn: 194734
2013-11-14 22:09:08 +00:00
Rui Ueyama
5e3de7a7eb
Path: Add tests for existing file magics.
...
llvm-svn: 194607
2013-11-13 21:55:41 +00:00
Rui Ueyama
89d1bdb687
Whitespace.
...
llvm-svn: 194605
2013-11-13 20:31:21 +00:00
Rafael Espindola
e5bf24684f
Try to fix the build on windows.
...
llvm-svn: 193431
2013-10-25 19:47:55 +00:00
Tareq A. Siraj
73537eac3d
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
llvm-svn: 188183
2013-08-12 17:10:49 +00:00
Rafael Espindola
107b74c6c3
Fix windows' implementation of status when a file doesn't exist.
...
The unix one was returning no_such_file_or_directory, but the windows one
was return success.
Update the one one caller that was depending on the old behavior.
llvm-svn: 187463
2013-07-31 00:10:25 +00:00
Rafael Espindola
a5932afef0
Implement getUniqueID for directories on windows.
...
llvm-svn: 187441
2013-07-30 20:25:53 +00:00
Rafael Espindola
7f822a9306
Include st_dev to make the result of getUniqueID actually unique.
...
This will let us use getUniqueID instead of st_dev directly on clang.
llvm-svn: 187378
2013-07-29 21:26:49 +00:00
Rafael Espindola
d3c89041c5
Don't end a file name with a dot. It looks odd.
...
llvm-svn: 187124
2013-07-25 15:00:17 +00:00
Rafael Espindola
84ab9b3b8f
Add a unit test for checking that we respect the F_Binary flag.
...
llvm-svn: 186676
2013-07-19 14:41:25 +00:00
Rafael Espindola
213c4cb18c
Remove dead code.
...
llvm-svn: 186561
2013-07-18 03:29:51 +00:00
Rafael Espindola
6d35481c94
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).
llvm-svn: 186447
2013-07-16 19:44:17 +00:00
Rafael Espindola
a8a9f1baf0
We now always create files with the correct permissions. Simplify the interface.
...
llvm-svn: 185834
2013-07-08 16:42:01 +00:00
Rafael Espindola
2eb1ae4f91
Fix windows build.
...
llvm-svn: 185730
2013-07-05 22:32:33 +00:00
Rafael Espindola
155cf0f3a6
Use sys::fs::createTemporaryFile.
...
llvm-svn: 185719
2013-07-05 20:14:52 +00:00
Rafael Espindola
7ffacc4992
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.
llvm-svn: 185059
2013-06-27 03:45:31 +00:00
Rafael Espindola
7cf7c51cc4
Rename fs::GetUniqueID to fs::getUniqueID to match the style guide.
...
llvm-svn: 184431
2013-06-20 15:06:35 +00:00
Aaron Ballman
9fbe530d74
Modified the implementation of fs::GetUniqueID on Windows such that it actually finds a unique identifier for a file. Also adds unit tests for GetUniqueID.
...
llvm-svn: 184351
2013-06-19 21:03:50 +00:00
Rafael Espindola
3bc8e71909
Move PathV2.h to Path.h
...
Most clients have already been moved from Path V1 to V2. The ones using V1
now include PathV1.h explicitly.
llvm-svn: 183801
2013-06-11 22:21:28 +00:00
Michael J. Spencer
b8055cbc9d
[Support][FileSystem] Fix identify_magic for big endian ELF.
...
llvm-svn: 178905
2013-04-05 20:10:04 +00:00
Aaron Ballman
fcdf9a8240
Test case for graceful handling of long file names on Windows. Patch thanks to Paul Robinson!
...
llvm-svn: 177223
2013-03-16 15:00:51 +00:00
Michael J. Spencer
01ac34e4c3
[Support][Test] Missed this in the API change.
...
llvm-svn: 176996
2013-03-14 00:33:37 +00:00
Chandler Carruth
130cec21b9
Sort the #include lines for unittest/...
...
llvm-svn: 169250
2012-12-04 10:23:08 +00:00
Chandler Carruth
f12e3a67db
Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES.
...
Rationale:
1) This was the name in the comment block. ;]
2) It matches Clang's __has_feature naming convention.
3) It matches other compiler-feature-test conventions.
Sorry for the noise. =]
I've also switch the comment block to use a \brief tag and not duplicate
the name.
llvm-svn: 168996
2012-11-30 11:45:22 +00:00
Michael J. Spencer
135611f7fc
Properly test the LLVM_USE_RVALUE_REFERENCES macro.
...
llvm-svn: 161979
2012-08-15 19:21:42 +00:00
Michael J. Spencer
ef2284fbad
[PathV2] Add mapped_file_region. Implementation for Windows and POSIX.
...
llvm-svn: 161976
2012-08-15 19:05:47 +00:00
NAKAMURA Takumi
c8919dd7fd
unittests/Support/Path.cpp: [Win32] Suppress FileSystemTest.FileMapping for now.
...
llvm-svn: 159099
2012-06-24 03:48:40 +00:00
NAKAMURA Takumi
787ea1f3cc
unittests/Support/Path.cpp: [Win32] Suppress FileSystemTest.Permissions for now.
...
llvm-svn: 159098
2012-06-24 03:48:34 +00:00
Nick Kledzik
18497e9242
Add permissions(), map_file_pages(), and unmap_file_pages() to llvm::sys::fs and add unit test. Unix is implemented. Windows side needs to be implemented.
...
llvm-svn: 158770
2012-06-20 00:28:54 +00:00
Chad Rosier
531042840d
Revert r146363 to allow buildbots to make forward progress.
...
Original commit message:
Support/FileSystem: Implement canonicalize.
llvm-svn: 146378
2011-12-12 17:58:31 +00:00
Michael J. Spencer
203d7807a8
Support/FileSystem: Implement bool equivalent(file_status A, file_status B);
...
llvm-svn: 146364
2011-12-12 06:04:28 +00:00
Michael J. Spencer
32ef4d2e1b
Support/FileSystem: Implement canonicalize.
...
llvm-svn: 146363
2011-12-12 06:04:01 +00:00
NAKAMURA Takumi
0cfb3675cb
unittests/Support/Path.cpp: [recursive_directory_iterator] Work around for end iterator.
...
FIXME: It should be more robust.
llvm-svn: 146294
2011-12-09 23:20:03 +00:00
Michael J. Spencer
9b54a3e297
unittests/SupportTests: Fix test. pop modifies the current entry, thus the
...
dontlookhere check must be after it.
llvm-svn: 146217
2011-12-09 01:14:41 +00:00
Michael J. Spencer
a5207b9407
unittests/SupportTests: Add some outs()'s to debug the issues on some bots.
...
I have run these tests under many configurations on the exact same OS as
the failures, and I can't reproduce them :(.
llvm-svn: 146214
2011-12-09 00:45:09 +00:00
Michael J. Spencer
0a7625d661
Support/FileSystem: Implement recursive_directory_iterator and make
...
directory_iterator preserve InputIterator semantics on copy.
llvm-svn: 146200
2011-12-08 22:50:09 +00:00
Zhanyong Wan
606bb1a2dc
Adds llvm::sys::path::is_separator() to test whether a char is a path separator
...
on the host OS. Reviewed by dgregor.
llvm-svn: 125406
2011-02-11 21:24:40 +00:00
Michael J. Spencer
b587180fa7
Unittests/Support/Path: Tweak test.
...
llvm-svn: 123546
2011-01-15 18:52:49 +00:00
Michael J. Spencer
1d3c4a7b94
UnitTests/Path: Add magical tests. This will also test identify_magic.
...
llvm-svn: 122948
2011-01-06 05:58:02 +00:00
Michael J. Spencer
1f06360002
UnitTests/Path: More ASSERT_NO_ERROR cleanup.
...
llvm-svn: 122947
2011-01-06 05:57:54 +00:00
Michael J. Spencer
42368cc15f
UnitTests/Path: Fix typo, add error number, and enable the directory cleanup code.
...
llvm-svn: 122885
2011-01-05 16:39:46 +00:00
Michael J. Spencer
346a13381a
UnitTests/PathV2: Setup a test fixture to make tracking created file system
...
entities easier.
llvm-svn: 122880
2011-01-05 16:39:05 +00:00
Michael J. Spencer
52714863db
Support/PathV2: Implement directory iteration on POSIX.
...
llvm-svn: 122879
2011-01-05 16:38:57 +00:00
Michael J. Spencer
3b264ba91a
UnitTests/Path: Produce useful diagnostics on error.
...
llvm-svn: 122812
2011-01-04 17:00:18 +00:00
Michael J. Spencer
f616b218c8
Support/PathV2: Change most functions in the path namespace to return their work
...
via their return value instead of an out parameter.
llvm-svn: 121149
2010-12-07 17:04:04 +00:00
Michael J. Spencer
1e090f0b8f
Support/PathV2: Remove the error_code return type from all functions in the path
...
namespace. None of them return anything except for success anyway. These will be
converted to returning their result soon.
llvm-svn: 121109
2010-12-07 03:57:37 +00:00
Michael J. Spencer
92903a3339
Support/PathV2: Move make_absolute from path to fs.
...
llvm-svn: 121108
2010-12-07 03:57:17 +00:00
Michael J. Spencer
7ecd94cc0b
Support/FileSystem: Add directory_iterator implementation.
...
llvm-svn: 120989
2010-12-06 04:28:42 +00:00
Michael J. Spencer
4fb115d2f3
Unittests/Support/PathV2: Add FileSystem tests.
...
llvm-svn: 120888
2010-12-04 03:18:42 +00:00
Michael J. Spencer
6e74e11c85
Support/FileSystem: Add remove implementation.
...
llvm-svn: 120817
2010-12-03 17:53:43 +00:00
Benjamin Kramer
23e6bdf1ae
unittests/Support/PathV2: remove(3) requires a terminated string.
...
llvm-svn: 120803
2010-12-03 12:33:32 +00:00
Michael J. Spencer
b5ca6447bb
Unittests/Support/PathV2: Cleanup and remove output.
...
llvm-svn: 120785
2010-12-03 02:22:34 +00:00
Michael J. Spencer
ab16054770
unittests/Support/PathV2: Comment out test because some systems are saying that
...
a file exists when it shouldn't.
llvm-svn: 120784
2010-12-03 02:10:30 +00:00
Michael J. Spencer
4571040ea1
Support/FileSystem: Add unique_file and exists implementations.
...
llvm-svn: 120776
2010-12-03 01:21:28 +00:00
Michael J. Spencer
75942f9d93
Make valgrind happy.
...
llvm-svn: 120616
2010-12-01 22:28:42 +00:00
Michael J. Spencer
9ceae88ffc
unittests/Support/PathV2: Fix -pedantic warning.
...
llvm-svn: 120590
2010-12-01 19:23:49 +00:00
Michael J. Spencer
a72df5fae8
Support/PathV2: Add is_{absolute,relative} implementation.
...
llvm-svn: 120560
2010-12-01 06:21:53 +00:00
Michael J. Spencer
112a769379
Support/PathV2: Add has_{root_path,root_name,root_directory,parent_path,filename,stem,extension} implementation.
...
llvm-svn: 120559
2010-12-01 06:03:50 +00:00
Michael J. Spencer
4d0c6fdda6
unittests/Support/PathV2: Make tests much shorter; although harder to understand.
...
I'm going to replace this all anyway with a proper table and separated tests
when done.
llvm-svn: 120558
2010-12-01 06:03:33 +00:00
Michael J. Spencer
87106c59ed
Support/PathV2: Add extension implementation.
...
llvm-svn: 120550
2010-12-01 03:37:41 +00:00
Michael J. Spencer
956955ed8b
Support/PathV2: Add stem implementation.
...
llvm-svn: 120547
2010-12-01 03:18:33 +00:00
Michael J. Spencer
142692006b
Support/PathV2: Add filename implementation.
...
llvm-svn: 120546
2010-12-01 03:18:17 +00:00
Michael J. Spencer
8002500ee1
Support/PathV2: Add native implementation.
...
llvm-svn: 120539
2010-12-01 02:48:27 +00:00
Michael J. Spencer
fb3a95d8e2
Support/PathV2: Add replace_extension implementation.
...
llvm-svn: 120514
2010-12-01 00:52:55 +00:00
Michael J. Spencer
9c594095a6
Support/PathV2: Add remove_filename implementation.
...
llvm-svn: 120513
2010-12-01 00:52:28 +00:00
Michael J. Spencer
545cbdf063
Support/PathV2: Implement reverse iteration and parent_path.
...
llvm-svn: 120496
2010-11-30 23:28:07 +00:00
Michael J. Spencer
b775d0b3ad
Support/PathV2: Fix 80 col.
...
llvm-svn: 120349
2010-11-29 23:35:49 +00:00
Michael J. Spencer
3ef91c5593
unittests: Merge SystemTests back into SupportTests.
...
llvm-svn: 120330
2010-11-29 22:29:04 +00:00