1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

[Docs] [Support] Correct a missed reference and use up to date .inc examples.

In my original diff I missed #include "llvm/System/Thing.h" and forgot to update a
reference to .inc files a few lines down. This patch corrects these things as 
they were missed in revision 342500.

llvm-svn: 342705
This commit is contained in:
Kristina Brooks 2018-09-21 01:53:51 +00:00
parent e134a7d664
commit 3f85f9ee6d

View File

@ -58,10 +58,11 @@ Don't Expose System Headers
---------------------------
The Support Library must shield LLVM from **all** system headers. To obtain
system level functionality, LLVM source must ``#include "llvm/System/Thing.h"``
and nothing else. This means that ``Thing.h`` cannot expose any system header
files. This protects LLVM from accidentally using system specific functionality
and only allows it via the ``lib/Support`` interface.
system level functionality, LLVM source must
``#include "llvm/Support/Thing.h"`` and nothing else. This means that
``Thing.h`` cannot expose any system header files. This protects LLVM from
accidentally using system specific functionality and only allows it via
the ``lib/Support`` interface.
Use Standard C Headers
----------------------
@ -213,20 +214,20 @@ the ``LLVM_ON_UNIX`` and ``_WIN32`` ``#defines``. Each source file in
``lib/Support``, after implementing the generic (operating system independent)
functionality needs to include the correct implementation using a set of
``#if defined(LLVM_ON_XYZ)`` directives. For example, if we had
``lib/Support/File.cpp``, we'd expect to see in that file:
``lib/Support/Path.cpp``, we'd expect to see in that file:
.. code-block:: c++
#if defined(LLVM_ON_UNIX)
#include "Unix/File.inc"
#include "Unix/Path.inc"
#endif
#if defined(_WIN32)
#include "Windows/File.inc"
#include "Windows/Path.inc"
#endif
The implementation in ``lib/Support/Unix/File.cpp`` should handle all Unix
variants. The implementation in ``lib/Support/Windows/File.cpp`` should handle
all Windows variants. What this does is quickly differentiate the basic class
The implementation in ``lib/Support/Unix/Path.inc`` should handle all Unix
variants. The implementation in ``lib/Support/Windows/Path.inc`` should handle
all Windows variants. What this does is quickly inc the basic class
of operating system that will provide the implementation. The specific details
for a given platform must still be determined through the use of ``#ifdef``.