Lines Matching +full:overlay +full:- +full:relative
15 #. **Non-const variables** - This includes function arguments, struct and
16 class data members, non-const globals and local variables. They all use the
18 #. **const and constexpr variables** - They use the capitalized
20 #. **Function and methods** - They use the ``snake_case`` style like the
21 non-const variables.
22 #. **Internal type names** - These are types which are internal to the libc
24 #. **Public names** - These are the names as prescribed by the standards and
33 down to the compiler with the ``-D`` command line flag. They start with the
40 * ``src/__support/macros/properties/`` - Build related properties like
44 * ``architectures.h`` - Target architecture properties.
46 * ``compiler.h`` - Host compiler properties.
48 * ``cpu_features.h`` - Target cpu feature availability.
50 * ``types.h`` - Type properties and availability.
52 * ``os.h`` - Target os properties.
55 * ``src/__support/macros/config.h`` - Important compiler and platform
59 * ``src/__support/macros/attributes.h`` - Attributes for functions, types,
61 * ``src/__support/macros/optimization.h`` - Portable macros for performance
70 #. The functions should not be given file-static linkage. There can be class
77 .. code-block:: c++
87 class methods (static and non-static) defined inline and ``constexpr``
108 .. code-block:: c++
115 …`cpp::optional <https://github.com/llvm/llvm-project/blob/main/libc/src/__support/CPP/optional.h>`_
117 `ErrorOr <https://github.com/llvm/llvm-project/blob/main/libc/src/__support/error_or.h>`_
136 libc runtime code without causing any recursive calls or chicken-and-egg
155 `src/__support/CPP/new.h <https://github.com/llvm/llvm-project/blob/main/libc/src/__support/CPP/new…
159 .. code-block:: c++
188 .. __: https://libc.llvm.org/compiler_support.html#minimum-supported-versions
193 Because llvm-libc supports
194 `Overlay Mode <https://libc.llvm.org/overlay_mode.html>`__ and
201 overlay mode and are NEVER appropriate to include in ``libc/src/`` without
211 the underlying system header (overlay mode).
221 system header (overlay).
226 Coding in high level languages such as C++ provides benefits relative to low
239 the above, we do not wish to maintain such Assembly sources in llvm-libc.
241 That said, there are a few functions provided by llvm-libc that are impossible
243 llvm-libc.
245 We do use inline or out-of-line Assembly in an intentionally minimal set of
257 that seek to add Assembly to llvm-libc.
260 maintainers. llvm-libc maintainers reserve the right to reject Assembly
267 llvm-libc provides a macro `LIBC_NAMESPACE` which contains internal implementations of
275 .. code-block:: c++
292 TODO(97655): We should have a clang-tidy check to enforce this and a