Skip to content
Snippets Groups Projects
Commit 5cc0580c authored by Dmitri Gribenko's avatar Dmitri Gribenko
Browse files

Documentation: convert InternalsManual.html to reST

Patch by Anastasi Voitova with with small fixes by me.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170275 91177308-0d34-0410-b5e6-96231b3b80d8
parent 1228d66b
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
This diff is collapsed.
...@@ -194,12 +194,11 @@ Source Manager Block ...@@ -194,12 +194,11 @@ Source Manager Block
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
The source manager block contains the serialized representation of Clang's The source manager block contains the serialized representation of Clang's
`SourceManager <InternalsManual.html#SourceLocation>`_ class, which handles the :ref:`SourceManager <SourceManager>` class, which handles the mapping from
mapping from source locations (as represented in Clang's abstract syntax tree) source locations (as represented in Clang's abstract syntax tree) into actual
into actual column/line positions within a source file or macro instantiation. column/line positions within a source file or macro instantiation. The AST
The AST file's representation of the source manager also includes information file's representation of the source manager also includes information about all
about all of the headers that were (transitively) included when building the of the headers that were (transitively) included when building the AST file.
AST file.
The bulk of the source manager block is dedicated to information about the The bulk of the source manager block is dedicated to information about the
various files, buffers, and macro instantiations into which a source location various files, buffers, and macro instantiations into which a source location
...@@ -254,8 +253,7 @@ the types block where the serialized representation of that type resides, ...@@ -254,8 +253,7 @@ the types block where the serialized representation of that type resides,
enabling lazy deserialization of types. When a type is referenced from within enabling lazy deserialization of types. When a type is referenced from within
the AST file, that reference is encoded using the type ID shifted left by 3 the AST file, that reference is encoded using the type ID shifted left by 3
bits. The lower three bits are used to represent the ``const``, ``volatile``, bits. The lower three bits are used to represent the ``const``, ``volatile``,
and ``restrict`` qualifiers, as in Clang's and ``restrict`` qualifiers, as in Clang's :ref:`QualType <QualType>` class.
`QualType <http://clang.llvm.org/docs/InternalsManual.html#Type>`_ class.
.. _pchinternals-decls: .. _pchinternals-decls:
...@@ -277,13 +275,12 @@ the top of the hierarchy is the translation unit (``TranslationUnitDecl``), ...@@ -277,13 +275,12 @@ the top of the hierarchy is the translation unit (``TranslationUnitDecl``),
which contains all of the declarations in the translation unit but is not which contains all of the declarations in the translation unit but is not
actually written as a specific declaration node. Its child declarations (such actually written as a specific declaration node. Its child declarations (such
as functions or struct types) may also contain other declarations inside them, as functions or struct types) may also contain other declarations inside them,
and so on. Within Clang, each declaration is stored within a `declaration and so on. Within Clang, each declaration is stored within a :ref:`declaration
context <http://clang.llvm.org/docs/InternalsManual.html#DeclContext>`_, as context <DeclContext>`, as represented by the ``DeclContext`` class.
represented by the ``DeclContext`` class. Declaration contexts provide the Declaration contexts provide the mechanism to perform name lookup within a
mechanism to perform name lookup within a given declaration (e.g., find the given declaration (e.g., find the member named ``x`` in a structure) and
member named ``x`` in a structure) and iterate over the declarations stored iterate over the declarations stored within a context (e.g., iterate over all
within a context (e.g., iterate over all of the fields of a structure for of the fields of a structure for structure layout).
structure layout).
In Clang's AST file format, deserializing a declaration that is a In Clang's AST file format, deserializing a declaration that is a
``DeclContext`` is a separate operation from deserializing all of the ``DeclContext`` is a separate operation from deserializing all of the
......
...@@ -19,9 +19,8 @@ Site <http://llvm.org>`_. ...@@ -19,9 +19,8 @@ Site <http://llvm.org>`_.
This document describes important notes about using Clang as a compiler This document describes important notes about using Clang as a compiler
for an end-user, documenting the supported features, command line for an end-user, documenting the supported features, command line
options, etc. If you are interested in using Clang to build a tool that options, etc. If you are interested in using Clang to build a tool that
processes code, please see `the Clang Internals processes code, please see :doc:`InternalsManual`. If you are interested in the
Manual <InternalsManual.html>`_. If you are interested in the `Clang `Clang Static Analyzer <http://clang-analyzer.llvm.org>`_, please see its web
Static Analyzer <http://clang-analyzer.llvm.org>`_, please see its web
page. page.
Clang is designed to support the C family of programming languages, Clang is designed to support the C family of programming languages,
......
...@@ -29,7 +29,7 @@ progress. This page will get filled out with docs soon... ...@@ -29,7 +29,7 @@ progress. This page will get filled out with docs soon...
RAVFrontendAction RAVFrontendAction
UsersManual UsersManual
AutomaticReferenceCounting AutomaticReferenceCounting
InternalsManual
Indices and tables Indices and tables
================== ==================
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment