Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cda39c4ee4 
								
							 
						 
						
							
							
								
								improve Path::makeUnique when mkstemp/mktemp are not available  
							
							 
							
							... 
							
							
							
							patch by Lasse Kärkkäinen in PR7404.
llvm-svn: 108110 
							
						 
						
							2010-07-12 00:09:55 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								78d1e84521 
								
							 
						 
						
							
							
								
								Don't bother clearing the Magic string when the magic number  
							
							 
							
							... 
							
							
							
							can't be read, since it isn't cleared on other error paths.
llvm-svn: 104852 
							
						 
						
							2010-05-27 17:14:10 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b0071d041f 
								
							 
						 
						
							
							
								
								This doesn't need SmallVector.h anymore.  
							
							 
							
							... 
							
							
							
							llvm-svn: 101790 
							
						 
						
							2010-04-19 17:51:31 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3457061a66 
								
							 
						 
						
							
							
								
								Fix this for std::vectors which don't have .data().  
							
							 
							
							... 
							
							
							
							llvm-svn: 101785 
							
						 
						
							2010-04-19 16:33:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a84dc0cc6e 
								
							 
						 
						
							
							
								
								Revert 91528 and use a std::vector instead, fixing an abuse of std::string.  
							
							 
							
							... 
							
							
							
							llvm-svn: 101781 
							
						 
						
							2010-04-19 15:54:44 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								39027c403c 
								
							 
						 
						
							
							
								
								Fix a grammaro.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99917 
							
						 
						
							2010-03-30 20:04:57 +00:00  
						
					 
				
					
						
							
							
								 
								Jeffrey Yasskin
							
						 
						
							 
							
							
							
							
								
							
							
								5908f1e27b 
								
							 
						 
						
							
							
								
								Make Path use StringRef instead of std::string where possible.  
							
							 
							
							... 
							
							
							
							llvm-svn: 91620 
							
						 
						
							2009-12-17 21:02:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a6fc9de9fc 
								
							 
						 
						
							
							
								
								remove use of SmallVector from Path::makeUnique.  Path::makeUnique  
							
							 
							
							... 
							
							
							
							is not used by anything performance sensitive, so just use std::string.
llvm-svn: 91528 
							
						 
						
							2009-12-16 08:40:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e6be85661d 
								
							 
						 
						
							
							
								
								eliminate an extraneous use of SmallVector in a case where  
							
							 
							
							... 
							
							
							
							a fixed size buffer is perfectly fine.
llvm-svn: 91527 
							
						 
						
							2009-12-16 08:35:54 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								5ea6200d06 
								
							 
						 
						
							
							
								
								Remove spurious extern.  
							
							 
							
							... 
							
							
							
							llvm-svn: 90937 
							
						 
						
							2009-12-09 03:26:33 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								8cb52c266f 
								
							 
						 
						
							
							
								
								Remove dead returns.  
							
							 
							
							... 
							
							
							
							llvm-svn: 90083 
							
						 
						
							2009-11-29 17:42:58 +00:00  
						
					 
				
					
						
							
							
								 
								Kovarththanan Rajaratnam
							
						 
						
							 
							
							
							
							
								
							
							
								4b9f0b6720 
								
							 
						 
						
							
							
								
								This patch ensures that Path::GetMainExecutable is able to handle the  
							
							 
							
							... 
							
							
							
							case where realpath() fails. When this occurs we segfault trying to
create a std::string from a NULL pointer.
Fixes PR5635.
llvm-svn: 90082 
							
						 
						
							2009-11-29 17:19:48 +00:00  
						
					 
				
					
						
							
							
								 
								Edward O'Callaghan
							
						 
						
							 
							
							
							
							
								
							
							
								746782dde5 
								
							 
						 
						
							
							
								
								API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review.  
							
							 
							
							... 
							
							
							
							llvm-svn: 89848 
							
						 
						
							2009-11-25 06:32:19 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								7402c472c3 
								
							 
						 
						
							
							
								
								Remove bogus error handling code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 89786 
							
						 
						
							2009-11-24 19:03:33 +00:00  
						
					 
				
					
						
							
							
								 
								Edward O'Callaghan
							
						 
						
							 
							
							
							
							
								
							
							
								dddf134a3c 
								
							 
						 
						
							
							
								
								Provide Path::isSpecialFile interface for PR5568.  
							
							 
							
							... 
							
							
							
							llvm-svn: 89765 
							
						 
						
							2009-11-24 15:19:10 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								2a1131a42f 
								
							 
						 
						
							
							
								
								Add a shortcut for OS X to Path::GetMainExecutable. This gives a nice speedup on  
							
							 
							
							... 
							
							
							
							clang's testsuite.
llvm-svn: 81333 
							
						 
						
							2009-09-09 12:09:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								30ebdc4311 
								
							 
						 
						
							
							
								
								remove the last uses of Config/alloca.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 79873 
							
						 
						
							2009-08-23 22:57:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c521f54198 
								
							 
						 
						
							
							
								
								Prune #includes from llvm/Linker.h and llvm/System/Path.h,  
							
							 
							
							... 
							
							
							
							forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
   for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
   clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
   instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
llvm-svn: 79869 
							
						 
						
							2009-08-23 22:45:37 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								798ae47b59 
								
							 
						 
						
							
							
								
								Minor code simplification.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78239 
							
						 
						
							2009-08-05 20:16:55 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								4723c103e3 
								
							 
						 
						
							
							
								
								Remove another F_OK.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77405 
							
						 
						
							2009-07-29 00:02:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								367006523a 
								
							 
						 
						
							
							
								
								It isn't necessary to use F_OK when using R_OK or similar.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77392 
							
						 
						
							2009-07-28 23:22:01 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								df555fd6f8 
								
							 
						 
						
							
							
								
								Improve sys::Path::makeAbsolute on Win32.  
							
							 
							
							... 
							
							
							
							- Patch by Viktor Kutuzov!
 - Minor tweak by me to add llvm_unreachable calls on FIXMEd error paths.
llvm-svn: 75424 
							
						 
						
							2009-07-12 20:23:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a3c69aeb65 
								
							 
						 
						
							
							
								
								"UNIX paths can contain non-ASCII characters, so Path::isValid() should not reject paths with such characters in them. The attached patch removes the check from Path::isValid()."  
							
							 
							
							... 
							
							
							
							patch by Benjamin Kramer!
llvm-svn: 75421 
							
						 
						
							2009-07-12 19:01:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3f556daa6e 
								
							 
						 
						
							
							
								
								add a new static method to portably determine whether a patch is  
							
							 
							
							... 
							
							
							
							absolute or not, based on a patch by Gregory Curfman!
llvm-svn: 73368 
							
						 
						
							2009-06-15 04:17:07 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								09f17a8479 
								
							 
						 
						
							
							
								
								Untabification.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72604 
							
						 
						
							2009-05-30 01:09:53 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								3222b9be04 
								
							 
						 
						
							
							
								
								Make Unix.h:MakeErrMsg separate the prefix and errno string, so we get:  
							
							 
							
							... 
							
							
							
							clang: error: unable to make temporary file: /etc/cc: can't make
  unique filename: Permission denied
instead of 
  clang: error: unable to make temporary file: /etc/cc: can't make
  unique filenamePermission denied
for example.
Also, audited the uses of MakeErrMsg to make the prefix strings
consistent (not end with newline/punctuation/space/": ").
llvm-svn: 69626 
							
						 
						
							2009-04-20 20:50:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bab4417e05 
								
							 
						 
						
							
							
								
								Fix main executable path name resolution on FreeBSD, patch by  
							
							 
							
							... 
							
							
							
							Ed Schouten!
llvm-svn: 65882 
							
						 
						
							2009-03-02 22:17:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3c50fdf4ca 
								
							 
						 
						
							
							
								
								If an executable is run through a symlink, dladdr will return the  
							
							 
							
							... 
							
							
							
							symlink.  We really want the ultimate executable being run, not
the symlink.  This lets clang find its headers when invoked through
a symlink. rdar://6602012
llvm-svn: 65017 
							
						 
						
							2009-02-19 05:34:35 +00:00  
						
					 
				
					
						
							
							
								 
								Mikhail Glushenkov
							
						 
						
							 
							
							
							
							
								
							
							
								58a1a8e546 
								
							 
						 
						
							
							
								
								Fix warning on gcc 4.3.  
							
							 
							
							... 
							
							
							
							"system() declared with attribute warn_unused_result."
llvm-svn: 64574 
							
						 
						
							2009-02-15 03:20:32 +00:00  
						
					 
				
					
						
							
							
								 
								Mikhail Glushenkov
							
						 
						
							 
							
							
							
							
								
							
							
								a539836b95 
								
							 
						 
						
							
							
								
								Whitespace fixes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 64573 
							
						 
						
							2009-02-15 03:20:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b56e07e736 
								
							 
						 
						
							
							
								
								add a helper method to sys::Path for clang, patch by  
							
							 
							
							... 
							
							
							
							Kovarththanan Rajaratnam!
llvm-svn: 54655 
							
						 
						
							2008-08-11 23:39:47 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								cbfc1a4737 
								
							 
						 
						
							
							
								
								Create temp. file in current path.  
							
							 
							
							... 
							
							
							
							llvm-svn: 53973 
							
						 
						
							2008-07-24 00:35:38 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								c5552c44a0 
								
							 
						 
						
							
							
								
								While creating temp. file on disk, if the current filename points to a existing directory then create new temp. file inside the directory.  
							
							 
							
							... 
							
							
							
							llvm-svn: 53929 
							
						 
						
							2008-07-22 20:02:39 +00:00  
						
					 
				
					
						
							
							
								 
								Seo Sanghyeon
							
						 
						
							 
							
							
							
							
								
							
							
								8f7291387f 
								
							 
						 
						
							
							
								
								Fix GetMainExecutable. Patch by Sam Bishop.  
							
							 
							
							... 
							
							
							
							llvm-svn: 52847 
							
						 
						
							2008-06-27 22:55:30 +00:00  
						
					 
				
					
						
							
							
								 
								Wojciech Matyjewicz
							
						 
						
							 
							
							
							
							
								
							
							
								c6a6618e6a 
								
							 
						 
						
							
							
								
								Add a missing semicolon.  
							
							 
							
							... 
							
							
							
							llvm-svn: 52290 
							
						 
						
							2008-06-15 18:02:47 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								2cc0abf260 
								
							 
						 
						
							
							
								
								Fix the sys::Path::getSuffix() implementation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 52288 
							
						 
						
							2008-06-15 15:15:19 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								c38c1712f7 
								
							 
						 
						
							
							
								
								Make constructors target-specific. This fixes problems where the path would  
							
							 
							
							... 
							
							
							
							include backslashes on Windows. This should fix llvm-ld problems on win32.
llvm-svn: 50960 
							
						 
						
							2008-05-11 17:37:40 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								86cb31862f 
								
							 
						 
						
							
							
								
								Fix more -Wshorten-64-to-32 warnings.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50659 
							
						 
						
							2008-05-05 18:30:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a518bb79b1 
								
							 
						 
						
							
							
								
								Make getDirnameSep a static method (not part of Path's interface).  
							
							 
							
							... 
							
							
							
							llvm-svn: 49354 
							
						 
						
							2008-04-07 22:01:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c042bf1db5 
								
							 
						 
						
							
							
								
								Added method Path::getDirname().  
							
							 
							
							... 
							
							
							
							llvm-svn: 49352 
							
						 
						
							2008-04-07 21:53:57 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								1d0436cdb0 
								
							 
						 
						
							
							
								
								Re-implemented Path::createDirectoryOnDisk (for Unix).  
							
							 
							
							... 
							
							
							
							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.
llvm-svn: 49162 
							
						 
						
							2008-04-03 16:11:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ba98fca5e5 
								
							 
						 
						
							
							
								
								add some #includes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49036 
							
						 
						
							2008-04-01 06:25:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4c5e15f7da 
								
							 
						 
						
							
							
								
								Implement Path::MapInFilePages/UnMapFilePages on unix, which  
							
							 
							
							... 
							
							
							
							provides fast MappedFile::getFile for large files.
llvm-svn: 49034 
							
						 
						
							2008-04-01 06:16:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3089e1d82e 
								
							 
						 
						
							
							
								
								Stub out some sys::Path::MapInFilePages/UnMapFilePages methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49030 
							
						 
						
							2008-04-01 06:00:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								02e727ff88 
								
							 
						 
						
							
							
								
								Fix Path::GetMainExecutable on cygwin, patch by Sam Bishop.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48328 
							
						 
						
							2008-03-13 05:22:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e209be4985 
								
							 
						 
						
							
							
								
								Stub out a Path::GetMainExecutable call to find the path to the  
							
							 
							
							... 
							
							
							
							main executable of a program.  This needs to be implemented on windows.
llvm-svn: 47835 
							
						 
						
							2008-03-03 02:55:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6fca938971 
								
							 
						 
						
							
							
								
								Add path separator support, patch by Sam Bishop.  
							
							 
							
							... 
							
							
							
							llvm-svn: 47662 
							
						 
						
							2008-02-27 06:17:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								14020706d8 
								
							 
						 
						
							
							
								
								Added "GetCurrentDirectory()" to sys::Path.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45182 
							
						 
						
							2007-12-18 22:07:33 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								74db04261b 
								
							 
						 
						
							
							
								
								Added "isDirectory" method to llvm::sys::Path.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45168 
							
						 
						
							2007-12-18 19:46:22 +00:00