History log of /external/llvm/lib/Support/MemoryBuffer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cc3a595ab938352f3acf8652c5858ddf879524a5 14-Mar-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Support] Fix lifetime of file descriptors when using MemoryBuffer.

Clients of MemoryBuffer::getOpenFile expect it not to take ownership of the file
descriptor passed in. So don't.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
cc189bfb08864ef615e5dc48476b992b81f29167 12-Mar-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Support][MemoryBuffer] Use sys::fs::mapped_file_region instead of sys::Path::MapInFilePages.

This gives us memory mapped file I/O on Windows.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
3b05d9f4db3399f524fdf206a22771a87fa321b2 01-Mar-2013 Argyrios Kyrtzidis <akyrtzi@gmail.com> In llvm::MemoryBuffer::getFile() remove an unnecessary stat call check.

The sys::fs::is_directory() check is unnecessary because, if the filename is
a directory, the function will fail anyway with the same error code returned.
Remove the check to avoid an unnecessary stat call.

Someone needs to review on windows and see if the check is necessary there or not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
2f87fed2479017589051a5a99277e4278f6372e3 19-Feb-2013 Dan Gohman <dan433584@gmail.com> Update a portability kludge to keep it in sync with changes in the code
which uses it. This is not ideal, but it ought to at least restore the
behavior to what it was before.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
a8eae3e35866329f2191a22a34421faa61448508 19-Feb-2013 Dan Gohman <dan433584@gmail.com> Whitelist files and block devices instead of blacklisting fifos and
character devices.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
2b49dec41bff103925d63b57f79b076daad4179e 19-Feb-2013 Dan Gohman <dan433584@gmail.com> Don't trust st_size of a character device. This fixes using
/dev/stdin as an input when stdin is connected to a tty, for example.

No test, because it's difficult to write a reasonably portable test
for this. /dev/stdin isn't a character device when stdin is redirected
from a file or connected to a pipe.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
f5867ab7178784bc63a3deafcf4fb09260e4d19a 01-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Go ahead and get rid of the old page size interface and convert all the
users over to the new one. No sense maintaining this "compatibility"
layer it seems.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
64afe13a2090d34e25d197862f4c3f54fcea6397 06-Nov-2012 Daniel Dunbar <daniel@zuster.org> MemoryBuffer: Windows doesn't define S_IFIFO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
7895353b758829647515a993a26dcfffa89727a8 05-Nov-2012 Daniel Dunbar <daniel@zuster.org> MemoryBuffer: Support reading named pipes in getFile().

- We only support this when the client didn't claim to know the file size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
a96a1824747632ce87ef065b4a13fb777d2b14d6 23-Sep-2012 Craig Topper <craig.topper@gmail.com> Add LLVM_OVERRIDE to methods that override their base classes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
10dedb9421467f2813195bcd9c81aca508a1875b 11-Jul-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> In MemoryBuffer::getOpenFile() don't verify that the mmap'ed
file buffer is null-terminated.

If the file is smaller than we thought, mmap will not allow dereferencing
past the pages that are enough to cover the actual file size,
even though we asked for a larger address range.

rdar://11612916

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
3aaa59bcbb226499cd4743a42e919d3bdc24aa42 20-Jun-2012 Kaelyn Uhrain <rikka@google.com> Remove an "else" that snuck in after a "return" ;)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
3f85144a8958ef2365e7a145859a26f870ba8445 20-Jun-2012 Kaelyn Uhrain <rikka@google.com> Check that a file is not a directory before reading it into a MemoryBuffer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
541b2a4aa3401b1dcff9a127e0abeee08c5720f9 05-Apr-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> In MemoryBuffer::getOpenFile() make sure that the buffer is null-terminated if
the caller requested a null-terminated one.

When mapping the file there could be a racing issue that resulted in the file being larger
than the FileSize passed by the caller. We already have an assertion
for this in MemoryBuffer::init() but have a runtime guarantee that
the buffer will be null-terminated, so do a copy that adds a null-terminator.

Protects against crash of rdar://11161822.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
b9153bacd05f4e31f8d841a54ee035abea5b3f41 13-Mar-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Add a sanity check in MemoryBuffer::getOpenFile() to make sure we don't hang
if the passed in FileSize is inaccurate.

rdar://11034179

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
58604cd944eec4a75046076cb53eb708aaf2ee09 09-Feb-2012 David Blaikie <dblaikie@gmail.com> Change default error_code ctor to a 'named ctor' so it's more self-documenting.

Unify default construction of error_code uses on this idiom so that users don't
feel compelled to make static globals for naming convenience. (unfortunately I
couldn't make the original ctor private as some APIs don't return their result,
instead using an out parameter (that makes sense to default construct) - which
is a bit of a pity. I did, however, find/fix some cases of unnecessary default
construction of error_code before I hit the unfixable cases)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
5745fbce1674b29f4dce6b6e31556c4c1e83dc89 22-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add configure checking for pread(2) and use it to save a syscall when reading files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
a673e8352a64665598e6cabd37ba9f51fd9841b6 22-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Turn error recovery into an assert.

This was put in because in a certain version of DragonFlyBSD stat(2) lied about the
size of some files. This was fixed a long time ago so we can remove the workaround.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
e1d0b4fc252443299db87264aa4f3a889b7480aa 20-Oct-2011 David Meyer <pdox@google.com> Remove unused include of sys/uio.h in MemoryBuffer.cpp. It was not correctly protected by ifdef either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
71280b55a3406c7dd4215449bf4a3ab216e78ffd 16-Sep-2011 Ivan Krasin <krasin@chromium.org> use 64-bit types instead of off_t/size_t to avoid the issue when
gold plugin is built with Large File Support (sizeof(off_t) == 64 on i686)
and the rest of LLVM is built w/o Large File Support
(sizeof(off_t) == 32 on i686) which corrupts the stack.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
9bb4a2ae8a0ce6404b9752f93ceebb2d00401997 22-May-2011 Chris Lattner <sabre@nondot.org> random comment cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
5d86759e0ff44e07ead4982673fe10abec50f765 28-Apr-2011 Ted Kremenek <kremenek@apple.com> Add MemoryBuffer::getBufferKind() to report whether a memory buffer uses malloc'ed or mmap'ed memory. This is for performance analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
11d1803770f54dad441007a6ebafc70cb9395695 22-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> We don't need a null terminator for the output file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
49ab1207df3d7d5a4bb3b3e3dcc611e78d262714 18-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Check RequiresNullTerminator first, or we might read from an invalid address.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
9916d2ac3941513e301e39dee76a981c7caab694 17-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Use RequiresNullTerminator to create buffers without a null terminator
instead of copying.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
9d2234d6a0a5b2840427927ac971027aec0ddf63 10-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Don't compute the file size if we don't need to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
f7fdad15d910fc27bc9334faab5b71c101455e1a 10-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Add r127409 back now that the windows file was updated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
4b0e1f127841590d61783cda21babbdd79e49fae 10-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Revert r127409 which broke all the Windows bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
7deb187736b09aa0805b7d9902f499e41feefccc 10-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support for MemoryBuffers that are not null terminated and add
support for creating buffers that cover only a part of a file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
b4cc031a3e1306fea74c9211d50c5cde6d9a8cd5 08-Feb-2011 Rafael Espindola <rafael.espindola@gmail.com> Don't open the file again in the gold plugin. To be able to do this, update
MemoryBuffer::getOpenFile to not close the file descriptor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
476b242fe7a61e5f9ac6214b0bc5c680d24f152e 19-Dec-2010 Nick Lewycky <nicholas@mxc.ca> Add missing standard headers. Patch by Joerg Sonnenberger!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
3ff9563c3e391954b2e224afcf8b2b0fcc3888aa 16-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
333fb04506233255f10d8095c9e2de5e5f0fdc6f 09-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with error_code &ec. And fix clients.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
7cf705461cfdca5dd5b48a5065f8e24a1ce8c8c4 23-Nov-2010 Chris Lattner <sabre@nondot.org> add a MemoryBuffer::getOpenFile method, which turns an open
file descriptor into a MemoryBuffer (and closes the FD).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
9f9bd8e4af8c5e7ae02eb5de418a49a6fdafb3f1 23-Nov-2010 Chris Lattner <sabre@nondot.org> Revert functionality doug added in r98575 that was never
documented and only used by some clang stuff I just removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
831338b320d9059b59564aa82f0703c3aff8c74f 25-Jun-2010 Benjamin Kramer <benny.kra@googlemail.com> Rewrite MemoryBuffer::getSTDIN to use read(2) and a SmallVector buffer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
7262c19c41fd291af7a23a6bb8558314ef8425dd 25-Jun-2010 Benjamin Kramer <benny.kra@googlemail.com> Bring back the empty vector workaround I removed in r106839. Looks like MSVC needs it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
d4d1f85aa751cadf69768746afd2c6c43c116ac2 25-Jun-2010 Benjamin Kramer <benny.kra@googlemail.com> Tweak MemoryBuffer to allocate the class itself, the name and possibly the
buffer in the same chunk of memory.

2 less mallocs for every uninitialized MemoryBuffer and 1 less malloc for every
MemoryBuffer pointing to a memory range translate into 20% less mallocs on
clang -cc1 -Eonly Cocoa_h.m.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
60e6f3d4123a01babeb2c1a0e00d0a2b109008e5 24-Jun-2010 Dan Gohman <gohman@apple.com> Add overloads for getFile and getFileOrSTDIN which take a const char *
instead of a StringRef, avoiding the need to copy the string in the
common case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
455164bdff2ea20ac43a26388a7bea760581708d 22-Jun-2010 Dan Gohman <gohman@apple.com> Add an explicit keyword.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
30377e780918aacda1befa47054c61b0155c194c 27-May-2010 Dan Gohman <gohman@apple.com> Add basic error checking to MemoryBuffer::getSTDIN.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
4c842dda3939c6b9f83ba7e8e19e43445cd9a832 06-Apr-2010 Chris Lattner <sabre@nondot.org> stringref-ize the MemoryBuffer::get apis. This requires
a co-committed clang patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
d48c1f9b105c1c09e3914d9a08ad90f6a0893c9a 01-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Remove accidental include and add a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
6a9cd415495cd2422502fa2b84835409ce80d4de 01-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Various improvements to MemoryBuffer::getFile:

- Use a RAII object to close the FD.
- Use sys::StrError instead of thread-unsafe strerror calls.
- Recover gracefully if read returns zero. This works around an issue on
DragonFlyBSD where /dev/null has an st_size of 136 but we can't read 136 bytes
from it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
1bb30b6f750e2364a68af3b04c76ed26b4f508e8 15-Mar-2010 Douglas Gregor <dgregor@apple.com> Extend MemoryBuffer::getFile() to take an optional "stat" structure
pointer. If given, the structure will be set with the stat information from
the file actually read.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
aabc26c4d579995ec441bb2e632290ec241f6383 26-Feb-2010 Benjamin Kramer <benny.kra@googlemail.com> Replace a temporary std::string with SmallString.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
62dc896bc458ca37f212f1244be6c87007703976 24-Dec-2009 Chris Lattner <sabre@nondot.org> sizeof(char) is always 1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
6e1f16d5221a0bb3fe5292b3cf84d225c00f95f6 01-Dec-2009 Chris Lattner <sabre@nondot.org> return more useful error messages by using strerror to format errno
instead of returning an ambiguous reason.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
d65267ee625bb9cf8dc655a0c0409760e2b76c71 10-Nov-2009 Daniel Dunbar <daniel@zuster.org> Fix MemoryBuffer::getSTDIN to *not* return null if stdin is empty, this is a lame API.

Also, Stringrefify some more MemoryBuffer functions, and add two performance FIXMEs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
7127b13342f25a1fa06ed2c6f81891d3613df3fd 04-Nov-2009 Duncan Sands <baldrick@free.fr> A value is only assigned to errno if NumRead equals -1, so do
not reason based on errno if NumRead has a different value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
954cb43c8075a66390de9357595ca6069d86941c 03-Nov-2009 Duncan Sands <baldrick@free.fr> Make this code more robust by not thinking we are making progress
if zero bytes were read.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
96cd7af935dd2813e66335a76c4715ced5a36cec 18-May-2009 Eli Friedman <eli.friedman@gmail.com> Tweak MemoryBuffer::getSTDIN so that it returns after the first EOF.
It doesn't matter for piped input, but it's annoying when typing at the
console.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
e2b3fdd64909fb290848db0a50f7458b1ff992ef 13-Feb-2009 Evan Cheng <evan.cheng@apple.com> Switch from new[] + delete[] to malloc + free since llvm does not catch C++ exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
726135ad1afe27af5f36a893eb55435b85d389a9 13-Feb-2009 Evan Cheng <evan.cheng@apple.com> If new[] fails, return 0 rather then trying to dereference a null pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
34cd4a484e532cc463fd5a4bf59b88d13c5467c1 05-May-2008 Evan Cheng <evan.cheng@apple.com> Fix more -Wshorten-64-to-32 warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
8811080a65f003127961b98a98d5474ddde6801a 30-Apr-2008 Gabor Greif <ggreif@gmail.com> fcntl.h is pretty standard on unix (without the sys/)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
a442006f4876be13b632ba1a4bee3ae827194eb1 02-Apr-2008 Bill Wendling <isanbard@gmail.com> Fix compilation errors on MSVC. Patch by Argiris Kirtzidis!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
038112a4e0a9afd656f415ab397a230ae5921627 01-Apr-2008 Chris Lattner <sabre@nondot.org> Change the MemoryBuffer::getFile* methods to take just a pointer to the
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
/external/llvm/lib/Support/MemoryBuffer.cpp
11da4cf25c3de590ecf434316973e9f25eec34c3 01-Apr-2008 Chris Lattner <sabre@nondot.org> Reimplement MemoryBuffer::getFile with three enhancements:

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
/external/llvm/lib/Support/MemoryBuffer.cpp
37db5d67f92504226c17cfbf98c07c7bbe3afc3b 01-Apr-2008 Chris Lattner <sabre@nondot.org> Remove the MappedFile::charBase member, rename base -> getBase() and
make getBase() return a const-correct pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
bdbd2d710c665bcdf31cbed4b44cf3f94ba746e7 01-Apr-2008 Chris Lattner <sabre@nondot.org> Remove MappedFile support for mapping files for write and exec
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
/external/llvm/lib/Support/MemoryBuffer.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
2b1f1066aca0f6a3687377636a86086fa2cd222d 18-Nov-2007 Chris Lattner <sabre@nondot.org> Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN 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
/external/llvm/lib/Support/MemoryBuffer.cpp
3daae2701b76293c31c1cbdafc9782352321e1f0 09-Oct-2007 Chris Lattner <sabre@nondot.org> Add new MemoryBuffer::getMemBufferCopy method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
2372ccc111cd8d33553fb20116a449ba5df5f6e9 08-Aug-2007 Reid Spencer <rspencer@reidspencer.com> Make getSTDIN return null if the standard input is empty, as the header file
documentation implies and as its uses depend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
ea332946d3577cc75422a1ad0cbce9321e9e8c59 01-Jul-2007 Nick Lewycky <nicholas@mxc.ca> Fix undefined behaviour reported by the new --enable-expensive-checks option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
a24b04e9e5565c1af970329f0b74d201e85b3697 11-May-2007 Chris Lattner <sabre@nondot.org> fix a memory leak


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
0fea8ebb4a1e5b97d2413f45c0b5807d7eb5397e 07-May-2007 Jeff Cohen <jeffc@jolt-lang.org> Unbreak VC++ build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
5499da88331a31a9dcc24dc160f58b411fb0d34a 07-May-2007 Chris Lattner <sabre@nondot.org> Enhance MemoryBuffer to return error messages in strings if they occur.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
82e791dc420c399b7382a4754019b80466c898b0 06-May-2007 Chris Lattner <sabre@nondot.org> Fix MemoryBuffer::getFile to return null if it has an error opening the
file instead of aborting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
930c0fead9ad8cb91322c02fdead15cdd8dcbe0d 29-Apr-2007 Jeff Cohen <jeffc@jolt-lang.org> Fix MemoryBuffer breakage correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
9bc406019ef8e8c682afc10c46a9c4d4d6840d42 29-Apr-2007 Jeff Cohen <jeffc@jolt-lang.org> Unbreak build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp
333ffd4abfcc3be32a945dc73c81adeafde1ba6b 29-Apr-2007 Chris Lattner <sabre@nondot.org> Add a new memorybuffer class, to unify all the file reading code in the system


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/MemoryBuffer.cpp