summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Unix
Commit message (Collapse)AuthorAgeFilesLines
...
* Instead friending status, provide windows and posix constructors to file_status.Rafael Espindola2013-07-161-16/+12
| | | | | | | This opens the way of having static helpers in the .inc files that can construct a file_status. llvm-svn: 186376
* Revert part of 186302 to fix buildbots.Craig Topper2013-07-151-1/+2
| | | | llvm-svn: 186303
* Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]).Craig Topper2013-07-151-6/+3
| | | | llvm-svn: 186301
* Fix a FIXME about the format and add a test.Rafael Espindola2013-07-111-12/+7
| | | | | | | While at it, use strftime on Unix too and use the thread safe versions of localtime. llvm-svn: 186090
* Use status to implement file_size.Rafael Espindola2013-07-101-14/+1
| | | | | | | | | | 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
* We now always create files with the correct permissions. Simplify the interface.Rafael Espindola2013-07-081-31/+1
| | | | llvm-svn: 185834
* Reapply r185601 with a fix for the cmake build.Eric Christopher2013-07-041-0/+10
| | | | llvm-svn: 185605
* Temporarily revert 185601 as it caused cmake build regressions.Eric Christopher2013-07-041-10/+0
| | | | llvm-svn: 185603
* Add support for futimens for platforms that don't support futimes.Eric Christopher2013-07-041-0/+10
| | | | | | Patch by pashev.igor. llvm-svn: 185601
* Suppress GCC "control reaches end of non-void function" warning.Patrik Hagglund2013-06-281-0/+1
| | | | llvm-svn: 185136
* Improvements to unique_file and createUniqueDirectory.Rafael Espindola2013-06-281-86/+70
| | | | | | | | | | | | | | | | | | | * 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. llvm-svn: 185126
* Rename PathV2 to just Path now that it is the only one.Rafael Espindola2013-06-261-2/+2
| | | | llvm-svn: 185015
* Use enums instead of raw octal values.Rafael Espindola2013-06-261-1/+0
| | | | | | Patch by 罗勇刚(Yonggang Luo). llvm-svn: 184971
* PathV1 is deprecated since the 18th of Dec 2010. Remove it.Rafael Espindola2013-06-261-496/+0
| | | | llvm-svn: 184960
* Remove calls to Path in #ifdefs that don't seem to be used in any of the ↵Rafael Espindola2013-06-261-3/+3
| | | | | | bots :-( llvm-svn: 184920
* Fix the build when __APPLE__ is defined.Rafael Espindola2013-06-261-1/+5
| | | | llvm-svn: 184917
* Remove sys::GetMainExecutable.Rafael Espindola2013-06-261-107/+0
| | | | llvm-svn: 184916
* Port GetMainExecutable over to PathV2.Rafael Espindola2013-06-261-0/+106
| | | | | | I will remove the V1 version as soon as I change clang in the next commit. llvm-svn: 184914
* Remove PathWithStatus.Rafael Espindola2013-06-261-20/+0
| | | | llvm-svn: 184910
* Move GetEXESuffix to the one place it is used.Rafael Espindola2013-06-251-4/+0
| | | | llvm-svn: 184853
* Remove sys::PathSeparator.Rafael Espindola2013-06-251-2/+0
| | | | llvm-svn: 184852
* Add another fixme.Rafael Espindola2013-06-201-0/+1
| | | | llvm-svn: 184488
* Remove last use of PathV1.h from Archive.cpp.Rafael Espindola2013-06-201-0/+2
| | | | llvm-svn: 184484
* make getLastModificationTime const. Move it with the other getters.Rafael Espindola2013-06-201-1/+1
| | | | llvm-svn: 184478
* Add a setLastModificationAndAccessTime to PathV2.Rafael Espindola2013-06-201-0/+10
| | | | | | With this we can remove the last use of PathV1 from llvm-ar.cpp. llvm-svn: 184464
* Add support for getting the last modification time from a file_status.Rafael Espindola2013-06-201-0/+7
| | | | | | Use that in llvm-ar.cpp to replace a use of sys::PathWithStatus. llvm-svn: 184450
* Fix get_magic() handling of short reads.Evgeniy Stepanov2013-06-201-2/+2
| | | | | | PR16389 llvm-svn: 184434
* Rename fs::GetUniqueID to fs::getUniqueID to match the style guide.Rafael Espindola2013-06-201-1/+1
| | | | llvm-svn: 184431
* Remove MSan hack that is no longer needed.Evgeniy Stepanov2013-06-201-2/+0
| | | | llvm-svn: 184428
* Remove Path::getDirectoryContents.Rafael Espindola2013-06-191-30/+0
| | | | llvm-svn: 184311
* Remove Path::canExecute.Rafael Espindola2013-06-191-12/+0
| | | | llvm-svn: 184298
* Remove Path::canWrite.Rafael Espindola2013-06-181-6/+0
| | | | llvm-svn: 184235
* Add a can_write function to PathV2.Rafael Espindola2013-06-181-0/+6
| | | | llvm-svn: 184233
* Remove unused Path::canRead.Rafael Espindola2013-06-181-5/+0
| | | | llvm-svn: 184229
* Remove uniqueID from PathV1.h.Rafael Espindola2013-06-181-1/+0
| | | | llvm-svn: 184219
* Add a GetUniqueID that will replace the uniqueID of PathV1.h.Rafael Espindola2013-06-181-0/+12
| | | | llvm-svn: 184217
* Only delete regular files and directories.Rafael Espindola2013-06-171-0/+16
| | | | | | | | This ports a missing feature from PathV1.h. I am not sure how to test this with the regular infrastructure, but an Apple bot should check this when r183985 is reapplied. llvm-svn: 184119
* Fix incorrectly finding 'executable' directories instead of files.Manuel Klimek2013-06-171-1/+8
| | | | | | | | | | | | | | | This broke for example the 'not' utility, if a directory called 'FileCheck' is executable and in the path before the actual 'FileCheck'. This patch steals the implementation of the "old" PathV1 canExecute implementation: - checks for R_OK (file readable): this is necessary for executing scripts; we should not regress here unless we have good reasons - checks for S_ISREG; if we want to get rid of this, we'd need to change all callers who already made the assumption when depending on Path V1. llvm-svn: 184074
* Add GetCurrentDirectory back.Rafael Espindola2013-06-141-0/+11
| | | | | | | | It looks like clang-tools-extra/unittests/cpp11-migrate/TransformTest.cpp depends on the behaviour of the old one on Windows. Maybe a difference between GetCurrentDirectoryA and GetCurrentDirectoryW? llvm-svn: 184009
* Replace use of PathV1.h in MCContext.cpp.Rafael Espindola2013-06-141-11/+0
| | | | | | GetCurrentDirectory is now unused. Remove it. llvm-svn: 184003
* Replace use of PathV1.h in Program.cpp.Rafael Espindola2013-06-142-29/+34
| | | | llvm-svn: 183996
* Don't use PathV1.h in Signals.h.Rafael Espindola2013-06-131-4/+4
| | | | llvm-svn: 183947
* Have sys::FindProgramByName return a std::string.Rafael Espindola2013-06-131-7/+7
| | | | llvm-svn: 183928
* [Support] Fix handle and memory leak for processes that are not waited forReid Kleckner2013-06-131-8/+6
| | | | | | | | | | | | Execute's Data parameter is now optional, so we won't allocate memory for it on Windows and we'll close the process handle. The Unix code should probably do something similar to avoid accumulation of zombie children that haven't been waited on. Tested on Linux and Windows. llvm-svn: 183906
* Remove the program class.Rafael Espindola2013-06-121-21/+17
| | | | | | | It was only used to implement ExecuteAndWait and ExecuteNoWait. Expose just those two functions and make Execute and Wait implementations details. llvm-svn: 183864
* Remove Path::getMagicNumber.Rafael Espindola2013-06-121-14/+0
| | | | llvm-svn: 183839
* Remove Path::isAbsolute.Rafael Espindola2013-06-121-8/+0
| | | | llvm-svn: 183836
* Remove Path::isAbsolute().Rafael Espindola2013-06-121-7/+0
| | | | llvm-svn: 183835
* Remove Path::getSuffix.Rafael Espindola2013-06-121-17/+0
| | | | llvm-svn: 183833
* Remove sys::CopyFile.Rafael Espindola2013-06-121-47/+0
| | | | llvm-svn: 183831
OpenPOWER on IntegriCloud