summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Windows
Commit message (Collapse)AuthorAgeFilesLines
* Use status to implement file_size.Rafael Espindola2013-07-101-21/+0
| | | | | | | | | | 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-34/+0
| | | | llvm-svn: 185834
* Improvements to unique_file and createUniqueDirectory.Rafael Espindola2013-06-281-135/+134
| | | | | | | | | | | | | | | | | | | * 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
* PathV1 is deprecated since the 18th of Dec 2010. Remove it.Rafael Espindola2013-06-261-587/+0
| | | | llvm-svn: 184960
* Remove sys::GetMainExecutable.Rafael Espindola2013-06-261-9/+0
| | | | llvm-svn: 184916
* Port GetMainExecutable over to PathV2.Rafael Espindola2013-06-261-0/+7
| | | | | | 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-29/+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
* 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/+11
| | | | | | 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/+10
| | | | | | Use that in llvm-ar.cpp to replace a use of sys::PathWithStatus. llvm-svn: 184450
* Rename fs::GetUniqueID to fs::getUniqueID to match the style guide.Rafael Espindola2013-06-201-1/+1
| | | | llvm-svn: 184431
* Modified the implementation of fs::GetUniqueID on Windows such that it ↵Aaron Ballman2013-06-191-9/+14
| | | | | | actually finds a unique identifier for a file. Also adds unit tests for GetUniqueID. llvm-svn: 184351
* Remove Path::getDirectoryContents.Rafael Espindola2013-06-191-48/+0
| | | | llvm-svn: 184311
* Remove Path::canExecute.Rafael Espindola2013-06-191-7/+0
| | | | llvm-svn: 184298
* Remove Path::canWrite.Rafael Espindola2013-06-181-7/+0
| | | | llvm-svn: 184235
* Add a can_write function to PathV2.Rafael Espindola2013-06-181-0/+12
| | | | llvm-svn: 184233
* Remove unused Path::canRead.Rafael Espindola2013-06-181-7/+0
| | | | llvm-svn: 184229
* Remove uniqueID from PathV1.h.Rafael Espindola2013-06-181-7/+0
| | | | llvm-svn: 184219
* Add a GetUniqueID that will replace the uniqueID of PathV1.h.Rafael Espindola2013-06-181-0/+14
| | | | llvm-svn: 184217
* Add GetCurrentDirectory back.Rafael Espindola2013-06-141-0/+10
| | | | | | | | 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-10/+0
| | | | | | GetCurrentDirectory is now unused. Remove it. llvm-svn: 184003
* Replace use of PathV1.h in Program.cpp.Rafael Espindola2013-06-142-16/+27
| | | | llvm-svn: 183996
* Remove unused argument.Rafael Espindola2013-06-141-3/+3
| | | | llvm-svn: 183992
* Remove a use of sys::Path.Rafael Espindola2013-06-141-2/+3
| | | | llvm-svn: 183979
* Try to fix the windows build.Rafael Espindola2013-06-131-1/+1
| | | | llvm-svn: 183950
* Don't use PathV1.h in Signals.h.Rafael Espindola2013-06-131-6/+8
| | | | llvm-svn: 183947
* Have sys::FindProgramByName return a std::string.Rafael Espindola2013-06-131-8/+8
| | | | llvm-svn: 183928
* [Support] Fix handle and memory leak for processes that are not waited forReid Kleckner2013-06-131-28/+18
| | | | | | | | | | | | 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
* [Win] Put ChangeStdinToBinary ChangeStdoutToBinary ChangeStderrToBinary in sys.Rafael Espindola2013-06-121-3/+3
| | | | llvm-svn: 183868
* s/Void/void.Rafael Espindola2013-06-121-1/+1
| | | | llvm-svn: 183866
* Attempt at fixing the windows build.Rafael Espindola2013-06-121-34/+35
| | | | llvm-svn: 183865
* Remove Path::getMagicNumber.Rafael Espindola2013-06-121-25/+0
| | | | llvm-svn: 183839
* Remove Path::isAbsolute.Rafael Espindola2013-06-121-18/+0
| | | | llvm-svn: 183836
* Remove Path::isAbsolute().Rafael Espindola2013-06-121-15/+0
| | | | llvm-svn: 183835
* Remove Path::getSuffix.Rafael Espindola2013-06-121-16/+0
| | | | llvm-svn: 183833
* Remove sys::CopyFile.Rafael Espindola2013-06-121-11/+0
| | | | llvm-svn: 183831
* Remove the old file memory mapping functions.Rafael Espindola2013-06-121-11/+0
| | | | llvm-svn: 183828
* Remove Path::createFileOnDisk.Rafael Espindola2013-06-121-12/+0
| | | | llvm-svn: 183827
* Remove Path::makeExecutableOnDisk.Rafael Espindola2013-06-121-5/+0
| | | | llvm-svn: 183826
* Remove Path::getDirname.Rafael Espindola2013-06-111-5/+0
| | | | llvm-svn: 183780
* Remove Path::getBasename.Rafael Espindola2013-06-111-16/+0
| | | | llvm-svn: 183779
* Remove Path::getLast.Rafael Espindola2013-06-111-17/+0
| | | | llvm-svn: 183778
* Remove GetRootDirectory.Rafael Espindola2013-06-111-8/+0
| | | | llvm-svn: 183775
* Remove GetUserHomeDirectory.Rafael Espindola2013-06-111-13/+0
| | | | llvm-svn: 183773
* Remove GetSystemLibraryPaths.Rafael Espindola2013-06-111-30/+0
| | | | llvm-svn: 183770
* Remove Path::GetBitcodeLibraryPaths.Rafael Espindola2013-06-111-17/+0
| | | | llvm-svn: 183765
* sys::process::get_id() now returns the process ID instead of a process ↵Aaron Ballman2013-06-081-1/+1
| | | | | | handle on Windows. Patch thanks to Kim Gräsman! llvm-svn: 183621
OpenPOWER on IntegriCloud