From 9babfab4791a84bf2f84f5d639126b9bc805c95d Mon Sep 17 00:00:00 2001 From: Govindraj Raja Date: Thu, 2 Mar 2023 13:56:32 +0000 Subject: [PATCH] docs: add guidelines for thirdparty includes Currently there is no guidelines in docs for including thirdparty includes, trying to address that with a proposed method to use third party includes. Change-Id: Ieec7a5c88a60b66ca72228741ba1894545130a06 Signed-off-by: Govindraj Raja --- docs/process/coding-style.rst | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/process/coding-style.rst b/docs/process/coding-style.rst index be13b14fa..483780b3e 100644 --- a/docs/process/coding-style.rst +++ b/docs/process/coding-style.rst @@ -386,6 +386,27 @@ file names; this type of name reuse should be otherwise avoided. #include "a_header.h" +The preferred approach for third-party headers is to include them immediately +following system header files like in the example below, where the +``version.h`` header from the Mbed TLS library immediately follows the +``stddef.h`` system header. + +.. code:: c + + /* system header files */ + #include + + /* Mbed TLS header files */ + #include + + /* project header files */ + #include + #include + + /* platform header files */ + #include + + Include statement variants ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -463,7 +484,7 @@ Existing typedefs will be retained for compatibility. -------------- -*Copyright (c) 2020, Arm Limited. All rights reserved.* +*Copyright (c) 2020-2023, Arm Limited. All rights reserved.* .. _`Linux kernel coding style`: https://www.kernel.org/doc/html/latest/process/coding-style.html .. _`MISRA C:2012 Guidelines`: https://www.misra.org.uk/Activities/MISRAC/tabid/160/Default.aspx