Nick Kledzik 
							
						 
					 
					
						
						
							
						
						ca077ec5ea 
					 
					
						
						
							
							Add permissions(), map_file_pages(), and unmap_file_pages() to llvm::sys::fs and add unit test. Unix is implemented.  Windows side needs to be implemented.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158770  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-20 00:28:54 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						1222c5c121 
					 
					
						
						
							
							Use access(2) instead of stat(2) to check if a file exists.  
						
						... 
						
						
						
						Apart from being slightly cheaper, this fixes a real bug that hits 32 bit
linux systems. When passing a file larger than 2G to be linked (which isn't
that uncommon with large projects such as WebKit), clang's driver checks
if the file exists but the file size doesn't fit in an off_t and stat(2)
fails with EOVERFLOW. Clang then says that the file doesn't exist instead
of passing it to the linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157891  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-02 16:28:09 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						61aef8bdf7 
					 
					
						
						
							
							Allow unique_file to take a mode for file permissions, but default  
						
						... 
						
						
						
						to user only read/write.
Part of rdar://11325849
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156591  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-11 00:07:44 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						463a719d36 
					 
					
						
						
							
							[Support] Fix up comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156239  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-05 16:39:22 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						92bb514612 
					 
					
						
						
							
							[Support] Rewrite sys::fs::unique_file to not be stupid with /dev/urandom.  
						
						... 
						
						
						
						- Just use sys::Process::GetRandomNumber instead of having two poor
   implementations.
 - This is ~70 times (!) faster on my OS X machine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156238  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-05 16:36:24 +00:00 
						 
				 
			
				
					
						
							
							
								Sylvestre Ledru 
							
						 
					 
					
						
						
							
						
						9dc06bd431 
					 
					
						
						
							
							Conflict with st_dev/st_ino identifiers under Debian GNU/Hurd  
						
						... 
						
						
						
						The problem is that the struct file_status on UNIX systems has two
members called st_dev and st_ino; those are also members of the
struct stat, and they are reserved identifiers which can also be
provided as #define (and this is the case for st_dev on Hurd).
The solution (attached) is to rename them, for example adding a
"fs_" prefix (= file status) to them.
Patch by Pino Toscano
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-23 16:37:23 +00:00 
						 
				 
			
				
					
						
							
							
								Sylvestre Ledru 
							
						 
					 
					
						
						
							
						
						6fc30c26b7 
					 
					
						
						
							
							Fix the build under Debian GNU/Hurd.  
						
						... 
						
						
						
						Thanks to Pino Toscano for the patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154500  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-11 15:35:36 +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 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						7ae606a2a8 
					 
					
						
						
							
							Revert r146363 to allow buildbots to make forward progress.  
						
						... 
						
						
						
						Original commit message:
Support/FileSystem: Implement canonicalize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146378  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-12 17:58:31 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						d45fbe6227 
					 
					
						
						
							
							Support/FileSystem: Implement bool equivalent(file_status A, file_status B);  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-12 06:04:28 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						c3b00e8040 
					 
					
						
						
							
							Support/FileSystem: Implement canonicalize.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146363  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-12 06:04:01 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						a81ac8f2b5 
					 
					
						
						
							
							Support/FileSystem: Implement recursive_directory_iterator and make  
						
						... 
						
						
						
						directory_iterator preserve InputIterator semantics on copy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146200  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-08 22:50:09 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						544e4124fe 
					 
					
						
						
							
							Include limits.h to make sure PATH_MAX is known on Solaris 10.  
						
						... 
						
						
						
						Patch by Joakim Johansson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139743  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-09-14 21:49:42 +00:00 
						 
				 
			
				
					
						
							
							
								Argyrios Kyrtzidis 
							
						 
					 
					
						
						
							
						
						814450a429 
					 
					
						
						
							
							Add an optional 'bool makeAbsolute' in llvm::sys::fs::unique_file function.  
						
						... 
						
						
						
						If true and 'model' parameter is not an absolute path, a temp directory will be prepended.
Make it true by default to match current behaviour.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-28 00:29:20 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Trick 
							
						 
					 
					
						
						
							
						
						0a828fd7ef 
					 
					
						
						
							
							revert r128199 until it can be made to work with Frontend/dependency-gen.c.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128218  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-24 16:43:37 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						e1db1b8d4e 
					 
					
						
						
							
							Remove all uses of PATH_MAX and MAXPATHLEN from PathV2.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128199  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-24 05:23:40 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						f3e3f21db1 
					 
					
						
						
							
							Rip out realpath() support. It's expensive, and often a bad idea, and  
						
						... 
						
						
						
						I have another way to achieve the same goal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125239  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-09 23:33:15 +00:00 
						 
				 
			
				
					
						
							
							
								Cameron Zwarich 
							
						 
					 
					
						
						
							
						
						0bef1f3d1b 
					 
					
						
						
							
							Attempt to fix the build after r125228.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125236  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-09 23:02:14 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						025feadb97 
					 
					
						
						
							
							Add llvm::sys::path::canonical(), which provides the canonicalized  
						
						... 
						
						
						
						name of a path, after resolving symbolic links and eliminating excess
path elements such as "foo/../" and "./".
This routine still needs a Windows implementation, but I don't have a
Windows machine available. Help? Please?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125228  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-09 22:11:23 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						283d49c766 
					 
					
						
						
							
							Fix rename.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-16 22:18:41 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						d6cdf1d3cb 
					 
					
						
						
							
							Support/PathV2: Implement get_magic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123544  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-15 18:52:33 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						da7c1cab8c 
					 
					
						
						
							
							Support/PathV2: Implement directory iteration on POSIX.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122879  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-05 16:38:57 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						5029159fbe 
					 
					
						
						
							
							Support/PathV2: Change most functions in the path namespace to return their work  
						
						... 
						
						
						
						via their return value instead of an out parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121149  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-07 17:04:04 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						936671b2ea 
					 
					
						
						
							
							Support/PathV2: Remove the error_code return type from all functions in the path  
						
						... 
						
						
						
						namespace. None of them return anything except for success anyway. These will be
converted to returning their result soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121109  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-07 03:57:37 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						69cbbbf005 
					 
					
						
						
							
							Support/Unix/PathV2: Return the real error from realpath instead of any error  
						
						... 
						
						
						
						that close or unlink set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121094  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-07 01:23:39 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						79c3c3a1de 
					 
					
						
						
							
							Support/Unix/PathV2: Use 0770 instead of 0700 when creating a directory. Also use  
						
						... 
						
						
						
						the standard macros instead of octal notation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121093  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-07 01:23:29 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						fbd1bbd7fa 
					 
					
						
						
							
							Support/PathV2: Use SmallVector::clear instead of set_size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121092  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-07 01:23:19 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						ad8a14f24e 
					 
					
						
						
							
							Support/PathV2: Clarify and correct documentation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-07 01:23:08 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						1522fce477 
					 
					
						
						
							
							Support/PathV2: Move current_path from path to fs and fix the Unix implementation.  
						
						... 
						
						
						
						Unix bug spotted by Dan Gohman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121090  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-07 01:22:31 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						9d425e7687 
					 
					
						
						
							
							Support/PathV2: Remove redundant calls to make_error_code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120913  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-04 18:45:32 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						470ae13be8 
					 
					
						
						
							
							Support/FileSystem: Add status implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120870  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-04 00:32:40 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						01a87c413d 
					 
					
						
						
							
							Support/FileSystem: Add file_size implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120867  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-04 00:31:48 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						b531f45a9d 
					 
					
						
						
							
							Support/FileSystem: Add equivalent implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120827  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 18:49:13 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						3920d3b4f4 
					 
					
						
						
							
							Support/FileSystem: Add resize_file implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120819  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 17:54:07 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						a50b98c517 
					 
					
						
						
							
							Support/FileSystem: Add rename implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120818  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 17:53:55 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						106aa731bf 
					 
					
						
						
							
							Support/FileSystem: Add remove implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120817  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 17:53:43 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						9b391c513e 
					 
					
						
						
							
							Support/FileSystem: Add create_symlink implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120800  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 07:41:25 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						d7b305f13e 
					 
					
						
						
							
							Support/FileSystem: Add create_hard_link implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120792  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 05:58:41 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						b83769f36a 
					 
					
						
						
							
							Support/FileSystem: Add create_director{y,ies} implementations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120790  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 05:42:11 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						3cb84ef65d 
					 
					
						
						
							
							Support/FileSystem: Add unique_file and exists implementations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120776  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-03 01:21:28 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						871498e2ce 
					 
					
						
						
							
							Support/FileSystem: Fix copy_file implementation to use toNullTerminatedStringRef  
						
						... 
						
						
						
						instead of toStringRef. The file system APIs need c strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-01 20:37:42 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						bee0c38f59 
					 
					
						
						
							
							Support/FileSystem: Add copy_file implementation. Not tests yet because the  
						
						... 
						
						
						
						file creation APIs aren't implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120593  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-01 19:32:01 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						dffde99644 
					 
					
						
						
							
							Support: Add PathV2 implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120329  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-29 22:28:51 +00:00