g2gps opened a new pull request, #8173: URL: https://github.com/apache/nuttx/pull/8173
## Summary Upgrade of LLVM libcxx from 12.0.0 to 14.0.6 in order to take advantage of newer features and fixes. See #7105 for previous discussion. ## Impact Changes to the Nuttx tree are relatively minimal. However, there are a couple of new patches applied to libcxx in order to get the build working with c++17, c++14 and c++11. It is a possible that there are additional options that could be applied to `__config_site` which would remove this requirement. Although there is nothing obvious which stands out to me. Feedback or guidance in relation to this would be appreciated. ## Testing I've performed testing using `sim:libcxxtest` configuration, whilst setting the `CONFIG_CXX_STANDARD` to: - c++11 - c++14 - c++17 - c++20 Attempting to build with c++98 fails miserably. Although this was also the case with libcxx `12.0.0`. A sample of the output from `cxxtest`, with `CONFIG_CXX_STANDARD` set to c++17, the default value is: ``` nsh> cxxtest load_absmodule: Loading /bin/cxxtest builtin_loadbinary: Loading file: /bin/cxxtest load_absmodule: Successfully loaded module /bin/cxxtest binfmt_dumpmodule: Module: binfmt_dumpmodule: entrypt: 0x55786b3b92e6 binfmt_dumpmodule: mapped: 0 size=0 binfmt_dumpmodule: alloc: 0 0 0 binfmt_dumpmodule: stacksize: 2048 binfmt_dumpmodule: stackaddr: 0 binfmt_dumpmodule: unload: 0 exec_module: Executing cxxtest Test ofstream ================================ printf: Starting test_ostream printf: Successfully opened /dev/console cout: Successfully opened /dev/console Writing this to /dev/console Test iostream ================================ Hello, this is only a test Print an int: 190 Print a char: d Test std::vector ============================= v1=1 2 3 Hello World Good Luck Test std::map ================================ Test C++17 features ========================== File /proc/meminfo exists! Invalid file! /invalid File /proc/version exists! Test RTTI ==================================== extend Test Exception =============================== Catch exception: runtime error nsh> ``` -- 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: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org