Hi Stefano,
On 22/08/2023 02:02, Stefano Stabellini wrote:
From: Stefano Stabellini <stefano.stabell...@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabell...@amd.com>
---
v2:
- split << and >>
- do not use the word "shift" instead of << or >>
---
docs/misra/C-language-toolchain.rst | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/docs/misra/C-language-toolchain.rst
b/docs/misra/C-language-toolchain.rst
index 785aed1eaf..4c4942a113 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -200,6 +200,15 @@ The table columns are as follows:
- ARM64, X86_64
- See Section "6.29 Designated Initializers" of GCC_MANUAL
+ * - Signed << compiler-defined behavior
+ - All architectures
+ - See Section "4.5 Integers" of GCC_MANUAL. As an extension to the
+ C language, GCC does not use the latitude given in C99 and C11
+ only to treat certain aspects of signed << as undefined.
+
+ * - Signed >> acts on negative numbers by sign extension
+ - All architectures
+ - See Section "4.5 Integers" of GCC_MANUAL.
I noticed that all this document is referring to GCC. But we also
support CLang. Did you confirm that CLang abide with this behavior?
Cheers,
--
Julien Grall