Reid Spencer
5a18b63eb5
For PR351:
...
Implement three new functions to allow setting access/permission bits on
the file referenced by a path. The makeReadable and makeExecutable methods
replace the FileUtilities MakeFileReadable and MakeFileExecutable
functions. The makeWritable function is new and provided for consistency
since Path has a writable() method.
llvm-svn: 18907
2004-12-13 19:59:50 +00:00
Reid Spencer
8fc3e4392e
Genericize implementation of GetDLLSuffix now that we have LTDL_SHLIB_EXT
...
available.
llvm-svn: 18904
2004-12-13 18:41:28 +00:00
Reid Spencer
e98ef91f76
Fix a bug where "." or any single character file name doesn't get the
...
terminating / when setDirectory is called.
llvm-svn: 18886
2004-12-13 07:51:52 +00:00
Reid Spencer
2062d248c7
Remove an always false clause from an if statement.
...
llvm-svn: 18885
2004-12-13 07:51:07 +00:00
Alkis Evlogimenos
72ddb084c4
Fix a bug where directory names of length one or less where not set
...
properly (examples: "", ".", "a").
llvm-svn: 18883
2004-12-13 07:41:35 +00:00
Reid Spencer
24cf14cef6
* Add a std::ostream inserter for sys::Path
...
* Correct the std::string constructor to take a const reference.
llvm-svn: 18877
2004-12-13 06:57:15 +00:00
Jeff Cohen
b2b5f8f969
Fix recent breakage of win32 build
...
llvm-svn: 18876
2004-12-13 06:26:35 +00:00
Reid Spencer
18018b3967
Implement new functions per new interface
...
llvm-svn: 18866
2004-12-13 03:03:42 +00:00
Reid Spencer
dac49a55a1
For PR351: \
...
* Remove IsLibrary and GetLibraryPath, replaced by FindLibrary in ../Path.cpp \
* Implement GetSystemLibraryPaths and GetBytecodeLibraryPaths, instead of the \
GetSystemLibraryPath1 and GetSystemLibraryPath2 methods
llvm-svn: 18862
2004-12-13 03:00:51 +00:00
Reid Spencer
38992108f9
For PR351: \
...
* Move generic isArchive method here from Unix/Path.cpp \
* Implement isDynamicLibrary \
* Implement FindLibrary for Linker
llvm-svn: 18861
2004-12-13 03:00:39 +00:00
Reid Spencer
1e51643433
Make the size() method const
...
llvm-svn: 18852
2004-12-13 02:58:51 +00:00
Reid Spencer
e43fb31a1f
Rename Path::get -> Path::toString
...
llvm-svn: 18802
2004-12-11 17:37:01 +00:00
Reid Spencer
e2af9dc813
Path::get -> Path::toString
...
llvm-svn: 18785
2004-12-11 00:14:15 +00:00
Jeff Cohen
2d53514c83
Fix residual Visual Studio build problems
...
llvm-svn: 18688
2004-12-09 05:51:11 +00:00
Chris Lattner
aa0eee9e3e
Make this work with the ICC compiler, contributed by Bjørn Wennberg
...
llvm-svn: 18626
2004-12-08 16:10:52 +00:00
Chris Lattner
66d0cdd8ec
Fix compilation error on Darwin.
...
llvm-svn: 18485
2004-12-04 04:17:20 +00:00
Chris Lattner
c8009d368d
Move darwin-specific majik here.
...
llvm-svn: 18466
2004-12-03 23:02:42 +00:00
Reid Spencer
f16e254d8a
Fix seriously broken implementation of GetMagicNumber.
...
llvm-svn: 18422
2004-12-02 09:09:48 +00:00
Reid Spencer
66b4a250cf
Implement two new functions: LoadLibraryPermanently and
...
SearchForAddressOfSymbol.
llvm-svn: 18355
2004-11-29 13:33:28 +00:00
Reid Spencer
c0b0d036b3
We just use ltdl's implementation for this abstraction now. Its portable to
...
more platforms than LLVM supports.
llvm-svn: 18352
2004-11-29 12:39:10 +00:00
Reid Spencer
e498308615
Mods for compilation with llvm.
...
llvm-svn: 18346
2004-11-29 12:04:27 +00:00
Reid Spencer
42ceb789ad
Original version of ltdl.h from libtool 1.5.10
...
llvm-svn: 18345
2004-11-29 12:02:48 +00:00
Reid Spencer
93069daab2
Original version of ltdl.c from libtool 1.5.10
...
llvm-svn: 18344
2004-11-29 12:02:25 +00:00
Reid Spencer
9e369115fc
Implement the default constructor which causes the current program to be
...
opened as if it was a dynamic library so its symbols can be searched too.
llvm-svn: 18341
2004-11-29 10:39:46 +00:00
Reid Spencer
de847ecdaa
Cast the void* handle data member to HMODULE* to keep the VC++ compiler
...
happy. Thanks to Henrik Bach for pointing this out.
llvm-svn: 18056
2004-11-20 23:30:55 +00:00
Reid Spencer
c1871a4eaa
Dynamic Library abstraction. This makes the abstraction of a single dynamic
...
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.
llvm-svn: 17940
2004-11-18 04:33:39 +00:00
Reid Spencer
24a84793ba
* Use low-level unix I/O interface since we're on Unix.
...
* Don't use variable length arrays (replaced with alloca)
llvm-svn: 17901
2004-11-16 17:14:08 +00:00
Misha Brukman
3885f4ec6d
Erase non-applicable Unix comment, this is Win32
...
llvm-svn: 17896
2004-11-16 07:35:32 +00:00
Reid Spencer
026d2183e7
Remove useless #include.
...
Patch contributed by Jeff Cohen.
llvm-svn: 17891
2004-11-16 07:00:23 +00:00
Reid Spencer
0d16952663
Simplify code.
...
Patch contributed by Jeff Cohen.
llvm-svn: 17890
2004-11-16 06:59:53 +00:00
Reid Spencer
bcef3fef1d
Per code review:
...
* get rid of (void) construct in function declarations
* make toString a const member
* add a default implementation of toString for Win32
llvm-svn: 17873
2004-11-16 06:22:17 +00:00
Reid Spencer
4031ff44bb
Per code review:
...
* Clean up the StatusInfo constructor to construct all members and give
them reasonable values.
* Get rid of the Vector typedef and make the interface to
getDirectoryContent use a std::set instead of a std::vector so the dir
content is sorted.
* Make the getStatusInfo method const and not return a useless boolean.
llvm-svn: 17872
2004-11-16 06:15:19 +00:00
Reid Spencer
247d690431
Provide the ThrowErrno utility.
...
Patch contributed by Morten Ofstad
llvm-svn: 17827
2004-11-15 17:21:57 +00:00
Reid Spencer
238e966215
Adjust implementation to match new interface.
...
Patch provided by Morten Ofstad
llvm-svn: 17826
2004-11-15 17:20:28 +00:00
Reid Spencer
5fc587b13e
Actually get the #include correct so it compiles .. duh.
...
llvm-svn: 17817
2004-11-15 04:47:22 +00:00
Reid Spencer
8d0de0688c
Make it actually compile on Solaris.
...
llvm-svn: 17815
2004-11-15 04:42:44 +00:00
Reid Spencer
2638dac5e9
Consolidate the implementation of TimeValue::now() for Unix to use the
...
seemingly ubiquitous gettimeofday(3) call.
llvm-svn: 17813
2004-11-15 04:36:35 +00:00
Reid Spencer
2012d091b2
Implement functionality suggested from code review: getStatusInfo should
...
returnn false if the file doesn't exist rather than throw ane exception.
llvm-svn: 17809
2004-11-14 23:30:38 +00:00
Reid Spencer
7de5984452
Make sure IdentifyFileType is in the sys namespace.
...
llvm-svn: 17806
2004-11-14 23:26:18 +00:00
Alkis Evlogimenos
a29bf44bde
Add missing include.
...
llvm-svn: 17799
2004-11-14 22:37:42 +00:00
Reid Spencer
542b5216bf
Forget strerror_r, it causes problems. Fix later when threading matters
...
llvm-svn: 17783
2004-11-14 22:10:54 +00:00
Reid Spencer
bd1d413e4e
Implement the toString method
...
llvm-svn: 17782
2004-11-14 22:10:08 +00:00
Reid Spencer
3dfb002523
Update for prototype changes
...
llvm-svn: 17781
2004-11-14 22:09:22 +00:00
Reid Spencer
b73d75e4ff
* Implement getDirectoryContents * Implement getStatusInfo * Implement setStatusInfo * Implement renameFile
...
llvm-svn: 17780
2004-11-14 22:08:36 +00:00
Reid Spencer
59872e60ef
Fix bugs in class invariant
...
llvm-svn: 17779
2004-11-14 22:07:50 +00:00
Reid Spencer
a6b803539a
Include the correct implementation file
...
llvm-svn: 17778
2004-11-14 22:07:04 +00:00
Reid Spencer
85b6b57c5e
Don't exceed 80 columns.
...
llvm-svn: 17777
2004-11-14 22:06:18 +00:00
Reid Spencer
381c80ec88
Implement IdentifyFileType function
...
llvm-svn: 17776
2004-11-14 22:05:32 +00:00
Reid Spencer
d17e35893c
Fix isBytecodeFile to correctly recognized compressed bytecode too.
...
llvm-svn: 17655
2004-11-09 20:27:23 +00:00
Reid Spencer
28ceb24005
* Implement getStatusInfo for getting stat(2) like information
...
* Implement createTemporaryFile for mkstemp(3) functionality
* Fix isBytecodeFile to accept llvc magic # (compressed) as bytecode.
llvm-svn: 17654
2004-11-09 20:26:31 +00:00
Reid Spencer
af24480f3e
Fix a typo: isvalid -> isValid
...
llvm-svn: 17621
2004-11-08 08:27:51 +00:00
Misha Brukman
820aa44589
Consistently use llvm.cs.uiuc.edu instead of llvm.org
...
llvm-svn: 17548
2004-11-07 00:58:20 +00:00
Reid Spencer
7090e6a875
Stop propagating method names that violate the coding standard
...
llvm-svn: 17498
2004-11-05 22:15:36 +00:00
Reid Spencer
d3f7233495
Change Library Names Not To Conflict With Others When Installed
...
llvm-svn: 17286
2004-10-27 23:18:45 +00:00
Reid Spencer
2f74ad1e36
Add EXTRA_DIST for additional files to be distributed.
...
llvm-svn: 17233
2004-10-26 03:12:11 +00:00
Reid Spencer
e48ba34fd4
We won't use automake
...
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Misha Brukman
4cd5cde095
Fix some grammar
...
llvm-svn: 17141
2004-10-19 05:55:54 +00:00
Reid Spencer
ce514b1c2c
Initial automake generated Makefile template
...
llvm-svn: 17136
2004-10-18 23:55:41 +00:00
Misha Brukman
ed985abc65
AIX does not have mkdtemp() so emulate its behavior using mktemp() and mkdir()
...
llvm-svn: 17131
2004-10-18 17:39:45 +00:00
Reid Spencer
7689de0e49
Allow this file to compile on Darwin.
...
llvm-svn: 16971
2004-10-14 03:33:25 +00:00
Reid Spencer
d3c912a7b0
Use __MINGW instead of __MING. Patch contributed by Henrik Bach.
...
llvm-svn: 16970
2004-10-14 03:09:02 +00:00
Reid Spencer
86b05297be
Get proper BSD #includes for MappedFile implementation.
...
llvm-svn: 16969
2004-10-14 03:06:59 +00:00
Reid Spencer
27ae06c1db
Implementation of MappedFile for Win32. Patch provided by Jeff Cohen.
...
llvm-svn: 16968
2004-10-14 03:05:59 +00:00
Reid Spencer
e6418ec30f
Update to reflect changes in Makefile rules.
...
llvm-svn: 16950
2004-10-13 11:46:52 +00:00
Reid Spencer
7d9cba7a0f
Initial version of automake Makefile.am file.
...
llvm-svn: 16885
2004-10-10 20:43:57 +00:00
Brian Gaeke
38641114a3
Must include sys/stat.h before declaring a 'struct stat'
...
llvm-svn: 16728
2004-10-05 18:46:59 +00:00
Reid Spencer
bba26329ab
Adjust sys/stat.h inclusion so its only for SunOS.
...
llvm-svn: 16686
2004-10-05 00:56:46 +00:00
Tanya Lattner
7198953962
Added a couple of includes to get this to compile on Sparc.
...
llvm-svn: 16685
2004-10-05 00:51:26 +00:00
Chris Lattner
6547451f32
Solaris doesn't have MAP_FILE.
...
llvm-svn: 16682
2004-10-05 00:46:21 +00:00
Reid Spencer
da2e8b9943
First version of the MappedFile abstraction for operating system idependent
...
mapping of files. This first version uses mmap where its available. The
class needs to implement an alternate mechanism based on malloc'd memory
and file reading/writing for platforms without virtual memory.
llvm-svn: 16649
2004-10-04 11:08:32 +00:00
Misha Brukman
8a43086705
That should actually be __MING, not __MINGW.
...
llvm-svn: 16617
2004-09-30 18:28:07 +00:00
Misha Brukman
549b3533be
Check for __MINGW define instead of __MINGW_H, patch by Henrik Bach.
...
llvm-svn: 16615
2004-09-30 18:24:58 +00:00
Reid Spencer
3d434887d4
Improve validity checking of windows path names and fix file creation
...
problems.
Patch contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16565
2004-09-29 00:01:17 +00:00
Reid Spencer
6a072ccbb0
Use llvm::sys::Path to destroy the file.
...
Patch contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16564
2004-09-28 23:58:03 +00:00
Reid Spencer
e2e85bd507
Win32 implementation of TimeValue::now().
...
Patch contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16563
2004-09-28 23:56:20 +00:00
Reid Spencer
9ef91b3145
FreeBSD implementation of the TimeValue::now() method.
...
Patch kindly contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16562
2004-09-28 23:54:12 +00:00
Reid Spencer
4c3cda9e95
Updated to reflect changes in the interface of TimeValue::now().
...
llvm-svn: 16515
2004-09-25 08:32:37 +00:00
Reid Spencer
78e20a7f60
Added stub implementations of TimeValue concept for remaining platforms.
...
llvm-svn: 16513
2004-09-25 05:03:54 +00:00
Reid Spencer
07d5fa1312
Wrap to 80 cols.
...
llvm-svn: 16512
2004-09-25 05:03:22 +00:00
Reid Spencer
894f394594
Initial implementation of the TimeValue abstraction.
...
llvm-svn: 16511
2004-09-24 23:25:19 +00:00
Reid Spencer
6210b04509
Patch for MINGW. Patch provided by Henrik Bach.
...
llvm-svn: 16495
2004-09-23 14:47:10 +00:00
Reid Spencer
5eee940491
Minor correction to Signals implementation.
...
Patch submitted by Jeff Cohen. Thanks Jeff!
llvm-svn: 16401
2004-09-19 05:37:39 +00:00
Reid Spencer
b503c250a3
Use the /dev/zero device as the device on which the pages are mapped.
...
Patch contributed by Henrik Bach. Thanks Henrik!
llvm-svn: 16397
2004-09-18 19:34:09 +00:00
Reid Spencer
fb3c25ded9
Porting of Unix implementation to Win32.
...
Patch contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16396
2004-09-18 19:29:16 +00:00
Reid Spencer
9717ec42eb
Get rid of file descriptor leak in create_file.
...
llvm-svn: 16395
2004-09-18 19:25:11 +00:00
Reid Spencer
fe3656ecc6
Make sure critical sections are entered before trying to leave them.
...
Add some additional commentary about the workings of this module.
Patch contributed by Jeff Cohen. Thanks Jeff!
llvm-svn: 16383
2004-09-17 03:02:27 +00:00
Reid Spencer
08cba3070b
Allow "bc" as suffix for bytecode files.
...
llvm-svn: 16381
2004-09-16 16:36:10 +00:00
Reid Spencer
c7ed215028
Implement the signals interface for Win32.
...
Patch provided by Jeff Cohen. Thanks Jeff!
llvm-svn: 16380
2004-09-16 15:53:16 +00:00
Reid Spencer
b985bbc08d
Patches to make this file actually compile under windows.
...
Patches submitted by Jeff Cohen. Thanks Jeff!
llvm-svn: 16362
2004-09-15 05:49:50 +00:00
Reid Spencer
f8a8c7dd06
Initial version of the SysConfig abstraction for Win32.
...
llvm-svn: 16361
2004-09-15 05:48:49 +00:00
Reid Spencer
32525ca7db
First version of a common header file for Win32 implementations.
...
llvm-svn: 16360
2004-09-15 05:48:11 +00:00
Reid Spencer
64076f59a3
Initial implementation of the Process abstraction for Win32.
...
llvm-svn: 16359
2004-09-15 05:47:40 +00:00
Reid Spencer
78f98e5b49
Fix the interface to ReleaseRWX to take MemoryBlock& not Memory&
...
llvm-svn: 16356
2004-09-15 03:55:45 +00:00
Reid Spencer
73742a57c4
Fix a compilation error.
...
llvm-svn: 16335
2004-09-14 15:42:11 +00:00
Reid Spencer
d7f00c68ef
Implement the GetLibraryPath function.
...
llvm-svn: 16323
2004-09-14 00:16:39 +00:00
Reid Spencer
ce7c15737a
Simplify the sys::Memory interface per Chris' request.
...
llvm-svn: 16318
2004-09-13 22:38:11 +00:00
Reid Spencer
2114c143cf
Clean up the interface and implementation of sys::Program so that it is
...
cleanly dissociated from the sys::Path class.
llvm-svn: 16315
2004-09-13 21:48:44 +00:00
Reid Spencer
ab5442eccc
Fix typo: sterror -> strerror
...
llvm-svn: 16294
2004-09-11 20:18:08 +00:00
Reid Spencer
8496e508e2
Correct the dynamic lib suffix on Darwin.
...
llvm-svn: 16293
2004-09-11 07:35:01 +00:00
Reid Spencer
6920555959
Provide initial implementations of Memory and Process concepts for various
...
platforms.
Implement GetLLVMSuffix function for the Path concept.
llvm-svn: 16292
2004-09-11 04:59:30 +00:00
Reid Spencer
513f442c67
Provide a generic Unix implementation of the Memory concept.
...
llvm-svn: 16291
2004-09-11 04:57:25 +00:00
Reid Spencer
04d8abc147
Provide a generic unix implementation of the Process abstraction.
...
llvm-svn: 16290
2004-09-11 04:56:56 +00:00
Reid Spencer
aad677983e
Implemented support for detecting file types by magic number, stripping
...
path and suffix to leave basename, and getting the DLL suffix.
llvm-svn: 16289
2004-09-11 04:55:08 +00:00
Reid Spencer
94b2c61caa
Implementation of Process concept for SUSv2 platforms.
...
llvm-svn: 16288
2004-09-11 04:54:06 +00:00
Reid Spencer
c4abcbefb1
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
07837f4d24
mkdtemp doesn't exist on Cygwin. Use tempnam & mkdir instead.
...
llvm-svn: 16133
2004-09-01 20:29:35 +00:00
Reid Spencer
866afbdcf9
Add support for FreeBSD
...
llvm-svn: 16127
2004-08-31 18:09:35 +00:00
Reid Spencer
6e79910f16
Add support for Interix and FreeBSD
...
llvm-svn: 16126
2004-08-31 18:03:23 +00:00
Reid Spencer
20defbca69
Actually define PreventCoreFiles in the sys namespace.
...
llvm-svn: 16125
2004-08-31 17:53:41 +00:00
Reid Spencer
31513069db
Add a new abstraction, SysConfig for platform independent system
...
configuration calls. Right now this just contains PreventCoreFiles so that
bugpoint can by platform independent.
llvm-svn: 16124
2004-08-31 17:43:29 +00:00
Reid Spencer
f50551771b
Move the GetTemporaryDirectory function from "generic Unix" to platform
...
specific.
llvm-svn: 16119
2004-08-30 21:46:55 +00:00
Reid Spencer
bb50ba0d5a
Add inclusion of assert.h
...
llvm-svn: 16118
2004-08-30 16:03:54 +00:00
Reid Spencer
b67b467dc9
Abbreviate the long descriptions which are now in docs/SystemLibrary.html.
...
llvm-svn: 16111
2004-08-30 02:03:51 +00:00
Reid Spencer
2413fb8988
Add a declaration of environ global for Darwin
...
llvm-svn: 16100
2004-08-29 20:10:07 +00:00
Reid Spencer
e5793abe5e
Move a warning comment to where it should have been in the first place.
...
llvm-svn: 16088
2004-08-29 19:25:54 +00:00
Reid Spencer
de380840a4
Correct the vim: specification
...
llvm-svn: 16087
2004-08-29 19:24:53 +00:00
Reid Spencer
fd00fa3ad8
Include some additional header files.
...
Fix the banner length.
llvm-svn: 16086
2004-08-29 19:24:20 +00:00
Reid Spencer
49f3c9b9ee
Initial platform independent implementation of operating system concept
...
of "Signals" (cleanup after fatal errors).
llvm-svn: 16085
2004-08-29 19:22:48 +00:00
Reid Spencer
159b0103de
Initial commit of an platform-indepdendent implementation for the
...
"Program" operating system concept (find and execute programs).
llvm-svn: 16084
2004-08-29 19:20:41 +00:00
Reid Spencer
f7b4fa2e24
Revise the design of the Path concept per peer review. Too many changes to
...
note individually but these essence of it is to not derive from
std::string, clarify the interface, and provide better documentation.
There is now also (untested) implementations for AIX, Darwin, and SunOS.
llvm-svn: 16078
2004-08-29 05:24:01 +00:00
Reid Spencer
43ef1b181f
Fix a typo.
...
llvm-svn: 16055
2004-08-26 07:43:33 +00:00
Reid Spencer
34f15a4aa7
First cut at a README for lib/System explaining the #inclusion rules and
...
design criteria.
llvm-svn: 16054
2004-08-26 07:41:41 +00:00
Reid Spencer
fd2b68b931
Add a README explaining the intended content of this directory.
...
llvm-svn: 16053
2004-08-26 05:58:20 +00:00
Reid Spencer
b8dda1bbf1
Fix documentation.
...
Make the library name LLVMsystem instead of just system so as to not
to be confused with other "system" libraries.
llvm-svn: 16049
2004-08-25 06:23:45 +00:00
Reid Spencer
a50f1b794a
Initial implementation of the Path operating system concept.
...
llvm-svn: 16048
2004-08-25 06:20:07 +00:00
Reid Spencer
d17b7d288e
License for this library.
...
llvm-svn: 16047
2004-08-25 00:48:02 +00:00
Reid Spencer
87e4f4aec5
Remove lib/System contents until a satisfactory solution can be
...
provided.
llvm-svn: 15816
2004-08-16 07:08:38 +00:00
Reid Spencer
5eb7b42ae8
Initial implementations of the ErrorCode and Path concepts for Linux.
...
llvm-svn: 15763
2004-08-15 08:14:33 +00:00
Reid Spencer
5be5bc8453
A description of what this library is about, reference to the documentation
...
and a list of don'ts for the library. All so future maintainers don't
break the important contract this library has with its user: LLVM.
llvm-svn: 14979
2004-07-18 22:33:08 +00:00
Reid Spencer
27fc19e4fc
Initiali Makefile for this library.
...
llvm-svn: 14977
2004-07-18 22:31:28 +00:00