Jeffrey Yasskin
88cd3582b6
Make Path use StringRef instead of std::string where possible.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91620 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 21:02:39 +00:00
Edward O'Callaghan
5b512fe527
Adjust comments to new semantics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89862 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25 12:00:34 +00:00
Edward O'Callaghan
e49a8e4db9
API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25 06:32:19 +00:00
Edward O'Callaghan
3d8f87969b
Fix comments as pre-post review for rev.89765.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89770 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-24 16:29:23 +00:00
Edward O'Callaghan
d41e944501
Provide Path::isSpecialFile interface for PR5568.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-24 15:19:10 +00:00
Chris Lattner
74382b7c69
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:45:37 +00:00
Benjamin Kramer
f221c0bd0d
Revert 78662 to fix broken windows build. Add a comment which explains the problem.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 16:41:22 +00:00
Dan Gohman
3c8178e625
Remove an unnecessary mutable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 15:03:52 +00:00
Dan Gohman
6ca5f9360c
Add a raw_ostream operator<< to sys::Path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75790 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15 16:33:33 +00:00
Chris Lattner
88d7e403d0
add a new static method to portably determine whether a patch is
...
absolute or not, based on a patch by Gregory Curfman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-15 04:17:07 +00:00
Daniel Dunbar
6ddf2c1930
Add sys::Path::makeAbsolute().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68663 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09 00:33:08 +00:00
Chris Lattner
0eab5e2efa
add a helper method to sys::Path for clang, patch by
...
Kovarththanan Rajaratnam!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54655 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-11 23:39:47 +00:00
Bill Wendling
40db5d4539
Follow-up to the reverting of r51218. This puts the checks out-of-line. Because
...
they aren't in the header file, systems with a <string> header file that isn't
64-bit clean shouldn't warn if #including Path.h and specifying
-Wshorten-64-to-32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51393 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-21 21:20:07 +00:00
Bill Wendling
55384a853c
Reverting r51218 because of breakage on PPC32.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 23:54:27 +00:00
Chris Lattner
68d2d2f823
add missing #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51227 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-18 14:24:58 +00:00
Bill Wendling
fbaa37937f
On Darwin, the string header file isn't 64-bit clean. The use of
...
"-Wshorten-64-to-32 -Werror" will cause a failure when compiling this complex
program:
#include <string>
class Path {
mutable std::string path;
public:
bool operator == (const Path &that) {
return path == that.path;
}
};
Using strcmp gets us past this annoying error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51218 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-17 09:10:40 +00:00
Nick Lewycky
fff116fd58
Make constructors target-specific. This fixes problems where the path would
...
include backslashes on Windows. This should fix llvm-ld problems on win32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50960 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-11 17:37:40 +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
Bill Wendling
a5261923b4
Add "empty()" method to sys::Path and remove unnecessary whitespace.
...
Patch by Mikhail Glushenkov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49803 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-16 18:27:02 +00:00
Ted Kremenek
9b01cc0ede
Make getDirnameSep a static method (not part of Path's interface).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49354 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07 22:01:32 +00:00
Ted Kremenek
cf55c8e221
Added method Path::getDirname().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49352 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07 21:53:57 +00:00
Chris Lattner
799ed1053b
Stub out some sys::Path::MapInFilePages/UnMapFilePages methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 06:00:12 +00:00
Chris Lattner
cc56e64a59
add an accessor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49023 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 03:20:31 +00:00
Chris Lattner
1a091447f4
Stub out a Path::GetMainExecutable call to find the path to the
...
main executable of a program. This needs to be implemented on windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47835 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 02:55:43 +00:00
Chris Lattner
e1b332a304
Add path separator support, patch by Sam Bishop.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47662 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 06:17:10 +00:00
Anton Korobeynikov
e18bc08fbc
Add convenient helper to get suffix of the file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 19:41:22 +00:00
Chris Lattner
7ed47a1335
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 19:59:42 +00:00
Ted Kremenek
79200788df
Added "GetCurrentDirectory()" to sys::Path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45182 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 22:07:33 +00:00
Ted Kremenek
fd52711675
Added "isDirectory" method to llvm::sys::Path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45168 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 19:46:22 +00:00
Chris Lattner
ef361a638a
remove obviously dead uses of IncludeFile.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 19:15:48 +00:00
Reid Spencer
181b6c9cb5
Fix minor doxygen nits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40854 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-05 20:06:04 +00:00
Gabor Greif
e75ca3d809
eliminate residual cruft related to recognizing bytecode
...
files.
bitcode files are the only LLVM format left.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37945 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 13:38:17 +00:00
Gabor Greif
a99be51bf5
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:07:56 +00:00
Chris Lattner
609083b9e0
add support for identifying bitcode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36845 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 05:30:10 +00:00
Chris Lattner
18a4c74136
remove extraneous type qualifiers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36679 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:14:56 +00:00
Chris Lattner
ee181bc899
Jeff's fix was fine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36563 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 17:44:10 +00:00
Chris Lattner
9728905481
add missing ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36562 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 17:40:50 +00:00
Jeff Cohen
930c0fead9
Fix MemoryBuffer breakage correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36561 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 14:43:31 +00:00
Chris Lattner
a527bf13a5
new method for creating a path, which does not create a temporary string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36552 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 06:16:32 +00:00
Reid Spencer
947aa7de67
Teach sys::Path how to recognize different kinds of object files for ELF
...
and Mach-O systems. Additionally, correct the Mach-O logic code to look at
byte 12 not byte 15. Hopefully this fixes the llvm-ld warning on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35876 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 02:02:09 +00:00
Reid Spencer
84c8a9c592
Implement the output inserter for PathWithStatus
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35770 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-08 20:05:10 +00:00
Reid Spencer
2ae9d11b7c
For PR1291:
...
Implement the PathWithStatus class and its use throughout lib/System.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35742 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 18:52:17 +00:00
Reid Spencer
73ca166145
For PR1302:
...
Make the FileType enumerators more readable and add COFF, ELF and Mach-O.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35649 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 06:29:49 +00:00
Reid Spencer
8475ec068c
For PR789:
...
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 19:05:44 +00:00
Jeff Cohen
b9681893c8
uniqueID is a uint64_t (caught by VC++)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35465 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:28:31 +00:00
Reid Spencer
4031befb62
Add a uniqueID field to the FileStatus structure for Paths. This will map
...
to the inode number on Unix and something far less unique on Windows. The
windows case needs to be improved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:00:31 +00:00
Reid Spencer
a5cb38980b
Don't forget to delete the FileStatus structure on destruction of Path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35459 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 16:50:49 +00:00
Reid Spencer
69cce815e7
For PR789:
...
* Add a method: bool isAbsolute() const, which determines if the path name
is absolute or not.
* Implement caching of file status information in the Path object. Allow it
to be updated forcefully or lazily re-fetched from the cached value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35456 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 16:43:20 +00:00
Jeff Cohen
d41b30def3
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-05 19:31:28 +00:00
Reid Spencer
51c5a286ba
For PR797:
...
Final removal of exceptions from lib/System and adjustment of users to
accommodate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29846 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 20:34:57 +00:00