40 lines
1.3 KiB
ReStructuredText
40 lines
1.3 KiB
ReStructuredText
========================
|
|
Libsycl Coding Standards
|
|
========================
|
|
|
|
.. contents::
|
|
:local:
|
|
|
|
Introduction
|
|
============
|
|
|
|
The ``libsycl`` project follows the
|
|
`LLVM Coding Standards <https://llvm.org/docs/CodingStandards.html>`_ with
|
|
exceptions as described in this document.
|
|
|
|
Naming
|
|
------
|
|
|
|
Names of Macros, Types, Functions, Variables, and Enumerators
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Entities specified by the SYCL specification are named as required by the SYCL
|
|
specification. Names of all other entities follow the guidance in the LLVM
|
|
Coding Standards.
|
|
|
|
Names of Files and Directories
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
* **Directory Names** should be in snake case (e.g. ``test_e2e``) except in
|
|
cases where LLVM project wide conventions are used. For example, LIT tests
|
|
often use an ``Inputs`` directory to hold files that are used by tests but
|
|
that should be excluded from test discovery.
|
|
|
|
* **File Names in snake case** should be used for all C++ implementation files.
|
|
For example files in directories ``include``, ``src``, ``test``, ``utils``,
|
|
and ``tools`` should be named in snake case.
|
|
|
|
* **File Names in camel case** should be used for most other files. For example
|
|
files in directories ``cmake/modules`` and ``docs`` should be named in camel
|
|
case.
|