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

Reply via email to