Marcelo Lopez Ruiz d5bb3089cf Add support for custom allocators (#390) 8 years ago
..
Unix e077864885 Clean up mistakes made when fixing copyright banners. 9 years ago
Windows d5bb3089cf Add support for custom allocators (#390) 8 years ago
APFloat.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
APInt.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
APSInt.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
ARMBuildAttrs.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
ARMWinEH.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Allocator.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Atomic.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
BlockFrequency.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
BranchProbability.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
CMakeLists.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
COM.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
COPYRIGHT.regex 6ee4074a4b first commit 9 years ago
CommandLine.cpp d5bb3089cf Add support for custom allocators (#390) 8 years ago
Compression.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
ConvertUTF.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
ConvertUTFWrapper.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
CrashRecoveryContext.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
DAGDeltaAlgorithm.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
DataExtractor.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
DataStream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Debug.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
DeltaAlgorithm.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Dwarf.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
DynamicLibrary.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Errno.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
ErrorHandling.cpp d5bb3089cf Add support for custom allocators (#390) 8 years ago
FileOutputBuffer.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
FileUtilities.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
FoldingSet.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
FormattedStream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
GraphWriter.cpp d5bb3089cf Add support for custom allocators (#390) 8 years ago
Hashing.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Host.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
IntEqClasses.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
IntervalMap.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
IntrusiveRefCntPtr.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
LEB128.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
LLVMBuild.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
LineIterator.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Locale.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
LockFileManager.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
MD5.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
MSFileSystemBasic.cpp af6b2a552f fixes #37 - License cleanup. 9 years ago
ManagedStatic.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
MathExtras.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Memory.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
MemoryBuffer.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
MemoryObject.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Mutex.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Options.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Path.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
PluginLoader.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
PrettyStackTrace.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Process.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Program.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
README.txt.system 6ee4074a4b first commit 9 years ago
RWMutex.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
RandomNumberGenerator.cpp d5bb3089cf Add support for custom allocators (#390) 8 years ago
Regex.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
ScaledNumber.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
SearchForAddressOfSpecialSymbol.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Signals.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
SmallPtrSet.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
SmallVector.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
SourceMgr.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
SpecialCaseList.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Statistic.cpp d5bb3089cf Add support for custom allocators (#390) 8 years ago
StreamingMemoryObject.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
StringExtras.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
StringMap.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
StringPool.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
StringRef.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
StringSaver.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
SystemUtils.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
TargetParser.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
TargetRegistry.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
ThreadLocal.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Threading.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
TimeValue.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Timer.cpp d5bb3089cf Add support for custom allocators (#390) 8 years ago
ToolOutputFile.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Triple.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Twine.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Unicode.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Valgrind.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
Watchdog.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
YAMLParser.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
YAMLTraits.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
assert.cpp af6b2a552f fixes #37 - License cleanup. 9 years ago
circular_raw_ostream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
raw_os_ostream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
raw_ostream.cpp d5bb3089cf Add support for custom allocators (#390) 8 years ago
regcclass.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regcname.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regcomp.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regengine.inc f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regerror.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regex2.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regex_impl.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regexec.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regfree.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regstrlcpy.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago
regutils.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 years ago

README.txt.system

Design Of lib/System
====================

The software in this directory is designed to completely shield LLVM from any
and all operating system specific functionality. It is not intended to be a
complete operating system wrapper (such as ACE), but only to provide the
functionality necessary to support LLVM.

The software located here, of necessity, has very specific and stringent design
rules. Violation of these rules means that cracks in the shield could form and
the primary goal of the library is defeated. By consistently using this library,
LLVM becomes more easily ported to new platforms since the only thing requiring
porting is this library.

Complete documentation for the library can be found in the file:
llvm/docs/SystemLibrary.html
or at this URL:
http://llvm.org/docs/SystemLibrary.html

While we recommend that you read the more detailed documentation, for the
impatient, here's a high level summary of the library's requirements.

1. No system header files are to be exposed through the interface.
2. Std C++ and Std C header files are okay to be exposed through the interface.
3. No exposed system-specific functions.
4. No exposed system-specific data.
5. Data in lib/System classes must use only simple C++ intrinsic types.
6. Errors are handled by returning "true" and setting an optional std::string
7. Library must not throw any exceptions, period.
8. Interface functions must not have throw() specifications.
9. No duplicate function impementations are permitted within an operating
system class.

To accomplish these requirements, the library has numerous design criteria that
must be satisfied. Here's a high level summary of the library's design criteria:

1. No unused functionality (only what LLVM needs)
2. High-Level Interfaces
3. Use Opaque Classes
4. Common Implementations
5. Multiple Implementations
6. Minimize Memory Allocation
7. No Virtual Methods