Greg Roth 6b44d611f7 convert recoverable exceptions to c++ (#3636) 4 years ago
..
Unix 597376b4b1 [linux-port] Enhance FS interface support (#1420) 7 years ago
Windows 4391420da4 Integration from OS repo (#2541) 5 years ago
APFloat.cpp b9f2c78314 [linux-port] Evade unused in LLVM code (#1327) 7 years ago
APInt.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
APSInt.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
ARMBuildAttrs.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
ARMWinEH.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Allocator.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Atomic.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
BlockFrequency.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
BranchProbability.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
CMakeLists.txt 6008113f60 Support for ARM64EC and custom cmake (#3245) 4 years ago
COM.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
COPYRIGHT.regex 6ee4074a4b first commit 8 years ago
CommandLine.cpp 5481aca58f [linux-port] Remove unused from HLSL code (#1315) 7 years ago
Compression.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
ConvertUTF.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
ConvertUTFWrapper.cpp 180ea63ba0 [linux-port] Introduce Windows "adapter" headers (#1314) 7 years ago
CrashRecoveryContext.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
DAGDeltaAlgorithm.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
DataExtractor.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
DataStream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Debug.cpp f749543a76 Fix buffer overflow in debug printing. (#2248) 6 years ago
DeltaAlgorithm.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Dwarf.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
DynamicLibrary.cpp 0459364bd8 [linux-port] Fix mising cast from const void* to void* in macro (#1496) 7 years ago
Errno.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
ErrorHandling.cpp 6b44d611f7 convert recoverable exceptions to c++ (#3636) 4 years ago
FileOutputBuffer.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
FileUtilities.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
FoldingSet.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
FormattedStream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
GraphWriter.cpp b9f2c78314 [linux-port] Evade unused in LLVM code (#1327) 7 years ago
Hashing.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Host.cpp b8e5590dfa Fix build for ARM64EC dxilconv.dll, because _xgetbv is currently not a supported intrinsic for ARM64EC. (#3211) 4 years ago
IntEqClasses.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
IntervalMap.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
IntrusiveRefCntPtr.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
LEB128.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
LLVMBuild.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
LineIterator.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Locale.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
LockFileManager.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
MD5.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
MSFileSystemBasic.cpp 4391420da4 Integration from OS repo (#2541) 5 years ago
ManagedStatic.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
MathExtras.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Memory.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
MemoryBuffer.cpp 597376b4b1 [linux-port] Enhance FS interface support (#1420) 7 years ago
MemoryObject.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Mutex.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Options.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Path.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
PluginLoader.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
PrettyStackTrace.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Process.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Program.cpp 180ea63ba0 [linux-port] Introduce Windows "adapter" headers (#1314) 7 years ago
README.txt.system 6ee4074a4b first commit 8 years ago
RWMutex.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 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) 8 years ago
ScaledNumber.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
SearchForAddressOfSpecialSymbol.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Signals.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
SmallPtrSet.cpp 725189cf17 Remove malloc usages in favor of operator new (#2150) 6 years ago
SmallVector.cpp 725189cf17 Remove malloc usages in favor of operator new (#2150) 6 years ago
SourceMgr.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
SpecialCaseList.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 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) 8 years ago
StringExtras.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
StringMap.cpp e4ceb30434 Convert more mallocs/frees to news/deletes (#2157) 6 years ago
StringPool.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
StringRef.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
StringSaver.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
SystemUtils.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
TargetParser.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
TargetRegistry.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
ThreadLocal.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Threading.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
TimeValue.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Timer.cpp 5481aca58f [linux-port] Remove unused from HLSL code (#1315) 7 years ago
ToolOutputFile.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Triple.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Twine.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Unicode.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Valgrind.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
Watchdog.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
YAMLParser.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
YAMLTraits.cpp fd9362c338 [spirv] Bring back accidentally deleted include. 6 years ago
assert.cpp 4799c6ce50 [linux-port] Enable some code. Disable some code. (#1372) 7 years ago
circular_raw_ostream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
raw_os_ostream.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
raw_ostream.cpp c37d554d1e Merged PR 83: Integration fixes. 7 years ago
regcclass.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
regcname.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
regcomp.c e4ceb30434 Convert more mallocs/frees to news/deletes (#2157) 6 years ago
regengine.inc e4ceb30434 Convert more mallocs/frees to news/deletes (#2157) 6 years ago
regerror.c eacaf5a58c [macos-port] Allow dxc and tests to run on mac (#1383) 7 years ago
regex2.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
regex_impl.h eacaf5a58c [macos-port] Allow dxc and tests to run on mac (#1383) 7 years ago
regexec.c e4ceb30434 Convert more mallocs/frees to news/deletes (#2157) 6 years ago
regfree.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
regmalloc.cpp e4ceb30434 Convert more mallocs/frees to news/deletes (#2157) 6 years ago
regstrlcpy.c f805233b49 Revert license text in banner comments to original llvm verbage (#33) 8 years ago
regutils.h e4ceb30434 Convert more mallocs/frees to news/deletes (#2157) 6 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