Fix an extremely serious regression that was causing LLVM basic blocks to be
[oota-llvm.git] / lib / System / README.txt
1 System Utilities Interface
2 ==========================
3
4 The design of this library has several key constraints aimed at shielding LLVM
5 from the vagaries of operating system differences. The goal here is to provide
6 interfaces to operating system concepts (files, memory maps, sockets, signals,
7 locking, etc) efficiently and in such a way that the remainder of LLVM is
8 completely operating system agnostic. 
9
10 PLEASE READ AND COMPREHEND FULLY THE DOCUMENTATION in 
11
12 llvm/docs/SystemLibrary.html 
13
14 before making changes to this library.
15
16 Briefly, the rules are:
17
18 1. This library may not expose no system-specific header files (STL excepted).
19 2. This library may not allocate memory (directly).
20 3. This library may not throw exceptions.
21 4. This library may not use virtual methods in its classes.
22 5. This library may not expose system specific types, data or functions through 
23    its interface