Commit Graph

246 Commits

Author SHA1 Message Date
Reid Spencer
622e220ca7 Get rid of file descriptor leak in create_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 19:25:11 +00:00
Reid Spencer
298d6c14ca 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!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-17 03:02:27 +00:00
Reid Spencer
0cc2d0a1b8 Allow "bc" as suffix for bytecode files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16381 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-16 16:36:10 +00:00
Reid Spencer
90b5413883 Implement the signals interface for Win32.
Patch provided by Jeff Cohen. Thanks Jeff!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-16 15:53:16 +00:00
Reid Spencer
b016a376ab Patches to make this file actually compile under windows.
Patches submitted by Jeff Cohen. Thanks Jeff!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16362 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15 05:49:50 +00:00
Reid Spencer
90418436c0 Initial version of the SysConfig abstraction for Win32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16361 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15 05:48:49 +00:00
Reid Spencer
0b22ba4c30 First version of a common header file for Win32 implementations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16360 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15 05:48:11 +00:00
Reid Spencer
437b079a29 Initial implementation of the Process abstraction for Win32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15 05:47:40 +00:00
Reid Spencer
4909b6c60c Fix the interface to ReleaseRWX to take MemoryBlock& not Memory&
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15 03:55:45 +00:00
Reid Spencer
8c0c33984b Fix a compilation error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16335 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 15:42:11 +00:00
Reid Spencer
74e7261e90 Implement the GetLibraryPath function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16323 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 00:16:39 +00:00
Reid Spencer
33189e787b Simplify the sys::Memory interface per Chris' request.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16318 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 22:38:11 +00:00
Reid Spencer
2565943289 Clean up the interface and implementation of sys::Program so that it is
cleanly dissociated from the sys::Path class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16315 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 21:48:44 +00:00
Reid Spencer
714470716f Fix typo: sterror -> strerror
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 20:18:08 +00:00
Reid Spencer
f51c8ea9de Correct the dynamic lib suffix on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 07:35:01 +00:00
Reid Spencer
cbad701d0b Provide initial implementations of Memory and Process concepts for various
platforms.
Implement GetLLVMSuffix function for the Path concept.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16292 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:59:30 +00:00
Reid Spencer
41b21bf2fc Provide a generic Unix implementation of the Memory concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16291 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:57:25 +00:00
Reid Spencer
27dafe1f3e Provide a generic unix implementation of the Process abstraction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16290 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:56:56 +00:00
Reid Spencer
1b554b4583 Implemented support for detecting file types by magic number, stripping
path and suffix to leave basename, and getting the DLL suffix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16289 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:55:08 +00:00
Reid Spencer
4429b2c7fc Implementation of Process concept for SUSv2 platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16288 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:54:06 +00:00
Reid Spencer
551ccae044 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/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Reid Spencer
15fd439972 mkdtemp doesn't exist on Cygwin. Use tempnam & mkdir instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16133 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 20:29:35 +00:00
Reid Spencer
0132bd4dc1 Add support for FreeBSD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16127 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 18:09:35 +00:00
Reid Spencer
a11e4dbef5 Add support for Interix and FreeBSD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16126 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 18:03:23 +00:00
Reid Spencer
ef6efabd6d Actually define PreventCoreFiles in the sys namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16125 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 17:53:41 +00:00
Reid Spencer
387e5ec502 Add a new abstraction, SysConfig for platform independent system
configuration calls. Right now this just contains PreventCoreFiles so that
bugpoint can by platform independent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16124 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-31 17:43:29 +00:00
Reid Spencer
f634f46350 Move the GetTemporaryDirectory function from "generic Unix" to platform
specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16119 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 21:46:55 +00:00
Reid Spencer
b60bf6171d Add inclusion of assert.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16118 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 16:03:54 +00:00
Reid Spencer
d8f4c8eff9 Abbreviate the long descriptions which are now in docs/SystemLibrary.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16111 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 02:03:51 +00:00
Reid Spencer
c0854bfcfc Add a declaration of environ global for Darwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16100 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 20:10:07 +00:00
Reid Spencer
bd4dd5c33a Move a warning comment to where it should have been in the first place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16088 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:25:54 +00:00
Reid Spencer
36853b99a1 Correct the vim: specification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16087 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:24:53 +00:00
Reid Spencer
c3de952426 Include some additional header files.
Fix the banner length.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16086 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:24:20 +00:00
Reid Spencer
496c277a6d Initial platform independent implementation of operating system concept
of "Signals" (cleanup after fatal errors).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16085 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:22:48 +00:00
Reid Spencer
52a7efafba Initial commit of an platform-indepdendent implementation for the
"Program" operating system concept (find and execute programs).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16084 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:20:41 +00:00
Reid Spencer
8e66595512 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16078 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 05:24:01 +00:00
Reid Spencer
bf3a4d2e1b Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16055 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 07:43:33 +00:00
Reid Spencer
5179f05080 First cut at a README for lib/System explaining the #inclusion rules and
design criteria.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16054 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 07:41:41 +00:00
Reid Spencer
2f88a0655f Add a README explaining the intended content of this directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16053 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 05:58:20 +00:00
Reid Spencer
8906e7d098 Fix documentation.
Make the library name LLVMsystem instead of just system so as to not
to be confused with other "system" libraries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-25 06:23:45 +00:00
Reid Spencer
b89a2237ea Initial implementation of the Path operating system concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16048 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-25 06:20:07 +00:00
Reid Spencer
17f130c61e License for this library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16047 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-25 00:48:02 +00:00
Reid Spencer
08bfab175a Remove lib/System contents until a satisfactory solution can be
provided.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15816 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 07:08:38 +00:00
Reid Spencer
439ed9036d Initial implementations of the ErrorCode and Path concepts for Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15763 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:14:33 +00:00
Reid Spencer
12e7b11a63 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14979 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 22:33:08 +00:00
Reid Spencer
98b5a34c81 Initiali Makefile for this library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14977 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 22:31:28 +00:00