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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]