From ac3559b5ac77d2b88f00466db9e7d8e826836bb8 Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 3 May 2012 19:46:37 +0000 Subject: Upated NxWM comments git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4692 7fd9a85b-ad96-42d3-883c-3090e2eb8679 --- nuttx/libxx/README.txt | 73 +++++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 36 deletions(-) (limited to 'nuttx/libxx') diff --git a/nuttx/libxx/README.txt b/nuttx/libxx/README.txt index c97dae4ba4..6cf066f080 100644 --- a/nuttx/libxx/README.txt +++ b/nuttx/libxx/README.txt @@ -1,36 +1,37 @@ -libxx/README.txt -^^^^^^^^^^^^^^^^ - -This directory contains a fragmentary C++ library that will allow -to build only the simplest of C++ applications. In the deeply -embedded world, that is probably all that is necessary. If you -have a need for more extensive C++ support, the following libraries -are recommended: - - - libstdc++ (part of GCC) - - STLport http://www.stlport.org/ - - uClibc++ http://cxx.uclibc.org/ - -At present, only the following are supported here: - - - void *operator new(std::size_t nbytes); - - void operator delete(void* ptr); - - void operator delete[](void *ptr); - - void __cxa_pure_virtual(void); - - int __aeabi_atexit(void* object, void (*destroyer)(void*), void *dso_handle); - -operator new ------------- - - This operator should take a type of size_t. But size_t has an unknown underlying - type. In the nuttx sys/types.h header file, size_t is typed as uint32_t - (which is determined by architecture-specific logic). But the C++ - compiler may believe that size_t is of a different type resulting in - compilation errors in the operator. Using the underlying integer type - instead of size_t seems to resolve the compilation issues. Need to - REVISIT this. - - Once some C++ compilers, this will cause an error: - - Problem: "'operator new' takes size_t ('...') as first parameter" - Workaround: Add -fpermissive to the compilation flags +libxx/README.txt +^^^^^^^^^^^^^^^^ + +This directory contains a fragmentary C++ library that will allow +to build only the simplest of C++ applications. In the deeply +embedded world, that is probably all that is necessary. If you +have a need for more extensive C++ support, the following libraries +are recommended: + + - libstdc++ (part of GCC) + - STLport http://www.stlport.org/ + - uClibc++ http://cxx.uclibc.org/ + - uSTL http://ustl.sourceforge.net/ + +At present, only the following are supported here: + + - void *operator new(std::size_t nbytes); + - void operator delete(void* ptr); + - void operator delete[](void *ptr); + - void __cxa_pure_virtual(void); + - int __aeabi_atexit(void* object, void (*destroyer)(void*), void *dso_handle); + +operator new +------------ + + This operator should take a type of size_t. But size_t has an unknown underlying + type. In the nuttx sys/types.h header file, size_t is typed as uint32_t + (which is determined by architecture-specific logic). But the C++ + compiler may believe that size_t is of a different type resulting in + compilation errors in the operator. Using the underlying integer type + instead of size_t seems to resolve the compilation issues. Need to + REVISIT this. + + Once some C++ compilers, this will cause an error: + + Problem: "'operator new' takes size_t ('...') as first parameter" + Workaround: Add -fpermissive to the compilation flags -- cgit v1.2.3