Argyrios Kyrtzidis 
							
						 
					 
					
						
						
							
						
						541b2a4aa3 
					 
					
						
						
							
							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 
						
						
					 
					
						2012-04-05 04:23:56 +00:00 
						 
				 
			
				
					
						
							
							
								Argyrios Kyrtzidis 
							
						 
					 
					
						
						
							
						
						b9153bacd0 
					 
					
						
						
							
							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 
						
						
					 
					
						2012-03-13 20:18:42 +00:00 
						 
				 
			
				
					
						
							
							
								David Blaikie 
							
						 
					 
					
						
						
							
						
						58604cd944 
					 
					
						
						
							
							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 
						
						
					 
					
						2012-02-09 19:24:12 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						5745fbce16 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-11-22 12:31:53 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						a673e8352a 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-11-22 11:37:11 +00:00 
						 
				 
			
				
					
						
							
							
								David Meyer 
							
						 
					 
					
						
						
							
						
						e1d0b4fc25 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-10-20 21:57:46 +00:00 
						 
				 
			
				
					
						
							
							
								Ivan Krasin 
							
						 
					 
					
						
						
							
						
						71280b55a3 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-09-15 23:13:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9bb4a2ae8a 
					 
					
						
						
							
							random comment cleanups.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131829  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-22 00:50:53 +00:00 
						 
				 
			
				
					
						
							
							
								Ted Kremenek 
							
						 
					 
					
						
						
							
						
						5d86759e0f 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-04-28 20:34:18 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						11d1803770 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-03-22 19:20:47 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						49ab1207df 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-03-18 02:55:51 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						9916d2ac39 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-03-17 22:18:42 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						9d2234d6a0 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-03-10 20:54:07 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						f7fdad15d9 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-03-10 18:33:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						4b0e1f1278 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-03-10 18:01:43 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						7deb187736 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-03-10 16:10:30 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						b4cc031a3e 
					 
					
						
						
							
							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 
						
						
					 
					
						2011-02-08 22:40:47 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						476b242fe7 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-12-19 20:43:38 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						3ff9563c3e 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-12-16 03:29:14 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						333fb04506 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-12-09 17:36:48 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						1f6efa3996 
					 
					
						
						
							
							Merge System into Support.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-29 18:16:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7cf705461c 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-11-23 22:20:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9f9bd8e4af 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-11-23 06:09:51 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						831338b320 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-06-25 16:07:18 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						7262c19c41 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-06-25 12:51:01 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						d4d1f85aa7 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-06-25 11:50:40 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						60e6f3d412 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-06-24 16:25:50 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						455164bdff 
					 
					
						
						
							
							Add an explicit keyword.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106538  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-22 13:53:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						30377e7809 
					 
					
						
						
							
							Add basic error checking to MemoryBuffer::getSTDIN.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104855  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-27 17:31:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4c842dda39 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-04-05 22:42:30 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						d48c1f9b10 
					 
					
						
						
							
							Remove accidental include and add a comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100107  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-01 14:39:55 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						6a9cd41549 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-04-01 14:35:22 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						1bb30b6f75 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-15 20:32:14 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						aabc26c4d5 
					 
					
						
						
							
							Replace a temporary std::string with SmallString.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97259  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-26 20:28:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						62dc896bc4 
					 
					
						
						
							
							sizeof(char) is always 1.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92079  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-23 23:03:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6e1f16d522 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-12-01 22:51:41 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						d65267ee62 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-10 00:43:58 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						7127b13342 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-04 20:50:23 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						954cb43c80 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-03 19:10:22 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						96cd7af935 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-05-18 08:44:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e2b3fdd649 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-02-13 08:24:55 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						726135ad1a 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-02-13 07:54:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						34cd4a484e 
					 
					
						
						
							
							Fix more -Wshorten-64-to-32 warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-05 18:30:58 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						8811080a65 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-30 08:53:22 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						a442006f48 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-01 22:09:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						038112a4e0 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-01 18:04:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						11da4cf25c 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-01 06:05:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						37db5d67f9 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-01 03:40:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bdbd2d710c 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-01 03:10:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							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 
						
						
					 
					
						2007-12-29 20:36:04 +00:00