zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.48k stars 6.41k forks source link

Regulate GNUism in Zephyr codebase #52226

Open stephanosio opened 1 year ago

stephanosio commented 1 year ago

Preface

Zephyr codebase currently contains many "GNUisms" (GCC-specific constructs) in the assembly and C code because the majority of its developers use the GCC compiler and the upstream CI uses the Zephyr SDK toolchain, which is based on the GCC compiler, to test the submitted patches.

The extensive use of GNUisms throughout the Zephyr codebase creates various portability issues, especially for the proprietary compilers like IAR that strictly adhere to the ISO C standard and do not implement the GNU extensions.

In order to ensure that the Zephyr codebase remains portable and compatible with the compilers other than GCC, it is necessary to set guidelines on the GNU extension usage and regulate them at the project level.

Tasks

Toolchain WG

Resources

zephyrbot commented 7 months ago

Hi @stephanosio, @tejlmand,

This issue, marked as an Issue, was opened a while ago and did not get any traction. Please confirm the issue is correctly assigned and re-assign it otherwise.

Please take a moment to review if the issue is still relevant to the project. If it is, please provide feedback and direction on how to move forward. If it is not, has already been addressed, is a duplicate, or is no longer relevant, please close it with a short comment explaining the reason.

Thanks!