aboutsummaryrefslogtreecommitdiff
path: root/lib/System
AgeCommit message (Collapse)Author
2008-04-03Re-implemented Path::createDirectoryOnDisk (for Unix).Ted Kremenek
This method allows one to create a directory, and optionally create all parent directories that do not exist. The original implementation would require that *all* directories along a path are writable by the user, including directories that already exist. For example, suppose we wanted to create the directory "/tmp/foo/bar", and the directory "/tmp" already exists, but not "/tmp/foo". Since "/tmp" is writable by all users, the original implementation would work, and create "/tmp/foo", followed by "/tmp/bar". A problem occurred, however if one wanted to created the directory "/Users/myuser/bar" (or equivalently "/home/myuser/bar"), and "/Users/myuser" already existed and is writable by the current user. The directory "/User/myuser" is writable by the user, but "/User" is not. The original implementation of createDirectoryOnDisk would return with failure since "/User" is not writable, even though "/User/mysuser" is writable. The new implementation works by recursively creating parents as needed, and thus doesn't need to check the permissions on every directory in a path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49162 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01add some #includes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49036 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01MappedFile is dead, remove it.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49035 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Implement Path::MapInFilePages/UnMapFilePages on unix, which Chris Lattner
provides fast MappedFile::getFile for large files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49034 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Stub out some sys::Path::MapInFilePages/UnMapFilePages methods.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Make MappedFile::map return a const correct pointer, don't leak address ↵Chris Lattner
space on Unix platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49026 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Remove MappedFile support for mapping files for write and execChris Lattner
and shared. This complicates the design, is not used, and probably doesn't even work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49022 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01cleanup the MappedFile API and comments. This removes and updatesChris Lattner
tons of out of date comments (really nothing throws here!) and fixes some other fairly glaring issues: "size" used to return the size of the file *and* change it, depending on how you called it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49009 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01remove DEFINING_FILE_FOR for MappedFile.hChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49008 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-31Actually disable crash reporting on Mac OS X, returning bugpoint to speedyNate Begeman
crash miscompilations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49000 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24Revert r48676. I had plans for using it, but now it's just dead code.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48743 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-22Add a comment, and fix a bug where AllocateRW recurred to AllocateRWX ↵Owen Anderson
instead of itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48677 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-22Add an AllocateRW to match AllocateRWX.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48676 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21Avoid calling array_endof in a static initializer, as it incursDan Gohman
dynamic initialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48666 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21Specialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trickDan Gohman
to avoid using constructor calls for static objects. This reduces the number of objects requiring static constructors in a typical LLVM build by around 20%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48665 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14this was removed from the Unix side.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48370 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13Remove unused GetAddressOfSymbol()Devang Patel
Thanks Daniel Dunbar! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48340 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13Fix Path::GetMainExecutable on cygwin, patch by Sam Bishop.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48328 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13remove extraneous namespace qualifier, PR2142Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48327 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12This is a simple fix for getting error messages from dlerror inChris Lattner
LoadLibraryPermanently. The current code modifies the value of a pointer that is passed by value, so the caller never gets the message. Patch by Julien Lerouge! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48270 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03Stub out a Path::GetMainExecutable call to find the path to theChris Lattner
main executable of a program. This needs to be implemented on windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47835 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27Add path separator support, patch by Sam Bishop. Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47662 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22Provide __main hooks for cygwin & mingw32Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47479 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Add convenient helper to get suffix of the fileAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15It is not safe to call fork in PrintStackTrace. Sometimes it freezes the ↵Lauro Ramos Venancio
program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47161 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13Remove use of ltdlDevang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47065 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04Set error message.Devang Patel
Patch by Shantonu Sen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46715 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29Use empty() instead of comparing size() with zero.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46514 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-24Fix potential buffer overflowAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46296 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-09Fix compile failures with g++-4.3.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45781 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29Remove attribution from file headers, per discussion on llvmdev.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29remove attribution from lib Makefiles.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-22Unbreak mingw buildAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45314 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Added "GetCurrentDirectory()" to sys::Path.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45182 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Added "isDirectory" method to llvm::sys::Path.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45168 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18remove obviously dead uses of IncludeFile.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-08Remove dead file and directory.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44720 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Provide hook for _alloca to make JITing on Cygwin slightly happier :)Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44528 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-21This change does a couple of things. First it gets the Visual Studio builds ↵Chuck Rose III
working. I added the lexing files to the VStudio projects and removed the .l files from the VStudio projects. There was a problem with use of strtoll in TGLexer.cpp and Chris suggested switching to strtol, so that's included here. Additionally, this checkin adds minimal x64 builds to the VStudio builds. Build issues related to x64 in the windows specific files for DynamicLibrary.inc and Singals.inc are worked around, but not ultimately solved. Binaries used to be stored in ...\win32\{Debug|Release} but are now kept in ...\win32\bin\{win32|x64}\{Debug|Release} intermediate files will continue to be stored in the individual project directories under win32. Some names will likely change in the future to reflect that the vstudio projects are no longer 32-bit only, but I wanted to get things up and running today so kept away from bigger restructuring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44260 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Silence a warning saying that the variables always resolve to "true" in anBill Wendling
expression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43610 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-28really fix PR1581, thanks to Daniel Dunbar for pointingChris Lattner
this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42448 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-14Remove spurious consts. This fixes warnings with compilers thatDan Gohman
are strict about such things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41956 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-07Add lengthof and endof templates that hide a lot of sizeof computations.Owen Anderson
Patch by Sterling Stein! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41758 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31Fix PR1581, patch by Timo SavolaChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40616 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06finishing touches of bytecode -> bitcode changes. also unbreak WindowsGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37950 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06eliminate residual cruft related to recognizing bytecodeGabor Greif
files. bitcode files are the only LLVM format left. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37945 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06Solaris 2.x does not have RLIMIT_RSS, check for this symbol (analog NetBSD ↵Gabor Greif
below), should subsume Cygwin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37939 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05Here is the bulk of the sanitizing.Gabor Greif
Almost all occurrences of "bytecode" in the sources have been eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-25Provide hook for alloca on VCPP. Patch by Scott GrahamAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37715 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-04Fix LLVM build on NetBSD. Patch by Neil Booth.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37410 91177308-0d34-0410-b5e6-96231b3b80d8