You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jianglk.darker 7ee447c011
v811_spc009_project
7 months ago
..
Unix v811_spc009_project 7 months ago
Windows v811_spc009_project 7 months ago
APFloat.cpp v811_spc009_project 7 months ago
APInt.cpp v811_spc009_project 7 months ago
APSInt.cpp v811_spc009_project 7 months ago
ARMBuildAttrs.cpp v811_spc009_project 7 months ago
ARMWinEH.cpp v811_spc009_project 7 months ago
Allocator.cpp v811_spc009_project 7 months ago
Android.bp v811_spc009_project 7 months ago
Atomic.cpp v811_spc009_project 7 months ago
BlockFrequency.cpp v811_spc009_project 7 months ago
BranchProbability.cpp v811_spc009_project 7 months ago
CMakeLists.txt v811_spc009_project 7 months ago
COM.cpp v811_spc009_project 7 months ago
COPYRIGHT.regex v811_spc009_project 7 months ago
CachePruning.cpp v811_spc009_project 7 months ago
CommandLine.cpp v811_spc009_project 7 months ago
Compression.cpp v811_spc009_project 7 months ago
ConvertUTF.c v811_spc009_project 7 months ago
ConvertUTFWrapper.cpp v811_spc009_project 7 months ago
CrashRecoveryContext.cpp v811_spc009_project 7 months ago
DAGDeltaAlgorithm.cpp v811_spc009_project 7 months ago
DataExtractor.cpp v811_spc009_project 7 months ago
DataStream.cpp v811_spc009_project 7 months ago
Debug.cpp v811_spc009_project 7 months ago
DeltaAlgorithm.cpp v811_spc009_project 7 months ago
Dwarf.cpp v811_spc009_project 7 months ago
DynamicLibrary.cpp v811_spc009_project 7 months ago
Errno.cpp v811_spc009_project 7 months ago
Error.cpp v811_spc009_project 7 months ago
ErrorHandling.cpp v811_spc009_project 7 months ago
FileOutputBuffer.cpp v811_spc009_project 7 months ago
FileUtilities.cpp v811_spc009_project 7 months ago
FoldingSet.cpp v811_spc009_project 7 months ago
FormattedStream.cpp v811_spc009_project 7 months ago
GraphWriter.cpp v811_spc009_project 7 months ago
Hashing.cpp v811_spc009_project 7 months ago
Host.cpp v811_spc009_project 7 months ago
IntEqClasses.cpp v811_spc009_project 7 months ago
IntervalMap.cpp v811_spc009_project 7 months ago
IntrusiveRefCntPtr.cpp v811_spc009_project 7 months ago
JamCRC.cpp v811_spc009_project 7 months ago
LEB128.cpp v811_spc009_project 7 months ago
LLVMBuild.txt v811_spc009_project 7 months ago
LineIterator.cpp v811_spc009_project 7 months ago
Locale.cpp v811_spc009_project 7 months ago
LockFileManager.cpp v811_spc009_project 7 months ago
MD5.cpp v811_spc009_project 7 months ago
ManagedStatic.cpp v811_spc009_project 7 months ago
MathExtras.cpp v811_spc009_project 7 months ago
Memory.cpp v811_spc009_project 7 months ago
MemoryBuffer.cpp v811_spc009_project 7 months ago
MemoryObject.cpp v811_spc009_project 7 months ago
Mutex.cpp v811_spc009_project 7 months ago
Options.cpp v811_spc009_project 7 months ago
Path.cpp v811_spc009_project 7 months ago
PluginLoader.cpp v811_spc009_project 7 months ago
PrettyStackTrace.cpp v811_spc009_project 7 months ago
Process.cpp v811_spc009_project 7 months ago
Program.cpp v811_spc009_project 7 months ago
README.txt.system v811_spc009_project 7 months ago
RWMutex.cpp v811_spc009_project 7 months ago
RandomNumberGenerator.cpp v811_spc009_project 7 months ago
Regex.cpp v811_spc009_project 7 months ago
SHA1.cpp v811_spc009_project 7 months ago
ScaledNumber.cpp v811_spc009_project 7 months ago
ScopedPrinter.cpp v811_spc009_project 7 months ago
SearchForAddressOfSpecialSymbol.cpp v811_spc009_project 7 months ago
Signals.cpp v811_spc009_project 7 months ago
SmallPtrSet.cpp v811_spc009_project 7 months ago
SmallVector.cpp v811_spc009_project 7 months ago
SourceMgr.cpp v811_spc009_project 7 months ago
SpecialCaseList.cpp v811_spc009_project 7 months ago
Statistic.cpp v811_spc009_project 7 months ago
StreamingMemoryObject.cpp v811_spc009_project 7 months ago
StringExtras.cpp v811_spc009_project 7 months ago
StringMap.cpp v811_spc009_project 7 months ago
StringPool.cpp v811_spc009_project 7 months ago
StringRef.cpp v811_spc009_project 7 months ago
StringSaver.cpp v811_spc009_project 7 months ago
SystemUtils.cpp v811_spc009_project 7 months ago
TargetParser.cpp v811_spc009_project 7 months ago
TargetRegistry.cpp v811_spc009_project 7 months ago
ThreadLocal.cpp v811_spc009_project 7 months ago
ThreadPool.cpp v811_spc009_project 7 months ago
Threading.cpp v811_spc009_project 7 months ago
TimeValue.cpp v811_spc009_project 7 months ago
Timer.cpp v811_spc009_project 7 months ago
ToolOutputFile.cpp v811_spc009_project 7 months ago
Triple.cpp v811_spc009_project 7 months ago
Twine.cpp v811_spc009_project 7 months ago
Unicode.cpp v811_spc009_project 7 months ago
Valgrind.cpp v811_spc009_project 7 months ago
Watchdog.cpp v811_spc009_project 7 months ago
YAMLParser.cpp v811_spc009_project 7 months ago
YAMLTraits.cpp v811_spc009_project 7 months ago
circular_raw_ostream.cpp v811_spc009_project 7 months ago
raw_os_ostream.cpp v811_spc009_project 7 months ago
raw_ostream.cpp v811_spc009_project 7 months ago
regcclass.h v811_spc009_project 7 months ago
regcname.h v811_spc009_project 7 months ago
regcomp.c v811_spc009_project 7 months ago
regengine.inc v811_spc009_project 7 months ago
regerror.c v811_spc009_project 7 months ago
regex2.h v811_spc009_project 7 months ago
regex_impl.h v811_spc009_project 7 months ago
regexec.c v811_spc009_project 7 months ago
regfree.c v811_spc009_project 7 months ago
regstrlcpy.c v811_spc009_project 7 months ago
regutils.h v811_spc009_project 7 months 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