Barto22 opened a new pull request, #17850:
URL: https://github.com/apache/nuttx/pull/17850

   This commit switches SIM board builds from GCC to Clang and migrates
   the C++ runtime to LLVM's libc++ and libc++abi. This PR is related to: 
https://github.com/apache/nuttx/pull/17826
   
   ## Summary
   
   Recent C++ code additions require features provided by modern C++ runtimes
   and standard libraries. The GNU toolchain versions currently available in CI
   and common Linux distributions (GCC < 15) lack several required C++ standard
   library capabilities needed by the latest libc++/libc++abi.  
   To ensure continued progress on C++ support in NuttX, this change:
   
   - Switches SIM builds to Clang as the primary compiler
   - Adopts LLVM's libc++ and libc++abi as the default runtime/standard library
   - Updates related flags and linker options for compatibility
   
   This brings the SIM toolchain in line with modern C++ requirements and avoids
   blocking future features on GCC version availability.
   
   ## Impact
   
   - SIM board builds now default to Clang + libc++/libc++abi
   - Improved support for modern C++20/C++23 features
   - No impact on embedded architectures/toolchains (limited to SIM boards)
   - No ABI impact for non-SIM boards
   - CI builds gain broader warning coverage and better diagnostics
   - No documentation updates required at this time, but users building SIM
     locally may need Clang + libc++ installed
   
   ## Testing
   
   Test matrix executed across Linux CI:
   
   - SIM builds validated with Clang + libc++/libc++abi
   - Full build completed without regressions
   - `ostest` executed successfully under the SIM target
   - Additional C++ examples confirmed to compile and run correctly
   
   Host: GitHub Actions CI (Ubuntu Linux)  
   Compiler: Clang `<version>` (LLVM libc++ `<version>`)  
   Prior GCC versions tested (< 15) confirmed incompatibility with modern libc++
   
   No regressions observed in SIM functionality.
   
   **_PRs without testing information will not be accepted. Test logs available
   from CI artifacts._**
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to