aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Support/MemoryBuffer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Switch from new[] + delete[] to malloc + free since llvm does not catch C++ ↵Evan Cheng2009-02-131-3/+3
| | | | | | exceptions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64448 91177308-0d34-0410-b5e6-96231b3b80d8
* If new[] fails, return 0 rather then trying to dereference a null pointer.Evan Cheng2009-02-131-3/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64444 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix more -Wshorten-64-to-32 warnings.Evan Cheng2008-05-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
* fcntl.h is pretty standard on unix (without the sys/)Gabor Greif2008-04-301-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50475 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix compilation errors on MSVC. Patch by Argiris Kirtzidis!Bill Wendling2008-04-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49055 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the MemoryBuffer::getFile* methods to take just a pointer to theChris Lattner2008-04-011-13/+8
| | | | | | | | | start of a filename, not a filename+length. All clients can produce a null terminated name, and the system api's require null terminated strings anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement MemoryBuffer::getFile with three enhancements:Chris Lattner2008-04-011-85/+64
| | | | | | | | | | | | | | | | | | | | | | | 1) stop using MappedFile. 2) if profitable use the sys::path::MapInFilePages api to read the file. 3) otherwise fallback to read. When sys::path::MapInFilePages is implemented, this provides several benefits: #1: this avoids fragmenting memory for small files. #2: this avoids extraneous stat calls when the file size is known. #3: this only keeps the file descriptor open while reading the file, not for the duration of the lifetime of the memory buffer. This fixes a serious clang FD 'leak' problem. I believe that this will work on a win32 machine, but I don't have one to test on. I'd appreciate it if someone could check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49031 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the MappedFile::charBase member, rename base -> getBase() andChris Lattner2008-04-011-3/+4
| | | | | | | make getBase() return a const-correct pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49025 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove MappedFile support for mapping files for write and execChris Lattner2008-04-011-1/+1
| | | | | | | | 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
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN ↵Chris Lattner2007-11-181-0/+18
| | | | | | | | | return a valid but empty buffer if stdin is empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44219 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new MemoryBuffer::getMemBufferCopy method.Chris Lattner2007-10-091-2/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42815 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getSTDIN return null if the standard input is empty, as the header fileReid Spencer2007-08-081-2/+4
| | | | | | | documentation implies and as its uses depend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40939 91177308-0d34-0410-b5e6-96231b3b80d8
* It's not necessary to do rounding for alloca operations when the requestedDan Gohman2007-07-181-0/+259
alignment is equal to the stack alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8