From e116b4c651a03c518c14e1ccebf56e52c7a91638 Mon Sep 17 00:00:00 2001 From: Andy Ross Date: Wed, 1 Mar 2023 08:08:42 -0800 Subject: [PATCH] doc: Clarify C++ standards support We weren't explicit about what we mean by "C++ support" as it relates to standards versions, and it's been causing some friction in the tree vs. some of our cruftier toolchains. Add a paragraph to clarify things. Fixes #55204 Signed-off-by: Andy Ross --- doc/develop/languages/cpp/index.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/develop/languages/cpp/index.rst b/doc/develop/languages/cpp/index.rst index de08fd591fd50de..b0c5a2d9bb7832e 100644 --- a/doc/develop/languages/cpp/index.rst +++ b/doc/develop/languages/cpp/index.rst @@ -19,6 +19,12 @@ and the included compiler must be supported by the Zephyr build system. The is supported by Zephyr, and the features and their availability documented here assume the use of the Zephyr SDK. +The default C++ standard level (i.e. the language enforced by the +compiler flags passed) for Zephyr apps is C++11. Other standards are +available via kconfig choice, for example +:kconfig:option:`CONFIG_STD_CPP98`. The oldest standard supported and +tested in Zephyr is C++98. + When compiling a source file, the build system selects the C++ compiler based on the suffix (extension) of the files. Files identified with either a **cpp** or a **cxx** suffix are compiled using the C++ compiler. For example,