mirror of
https://github.com/apache/nuttx.git
synced 2026-06-04 06:42:32 +08:00
Verify C++ support with CodeSourcery
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4016 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
+11
-3
@@ -58,14 +58,22 @@
|
||||
// Name: new
|
||||
//
|
||||
// NOTE:
|
||||
// This should take a type of size_t, which for ARM GCC is unsigned long.
|
||||
// but size_t may actually be a different different type, in sys/include.h,
|
||||
// it is typed as uint32_t. Need to REVISIT this.
|
||||
// This 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.
|
||||
//
|
||||
//***************************************************************************
|
||||
|
||||
//void *operator new(size_t nbytes)
|
||||
#ifdef CONFIG_CXX_NEWLONG
|
||||
void *operator new(unsigned long nbytes)
|
||||
#else
|
||||
void *operator new(unsigned int nbytes)
|
||||
#endif
|
||||
{
|
||||
// We have to allocate something
|
||||
|
||||
|
||||
+12
-4
@@ -58,18 +58,26 @@
|
||||
// Name: new
|
||||
//
|
||||
// NOTE:
|
||||
// This should take a type of size_t, which for ARM GCC is unsigned long.
|
||||
// but size_t may actually be a different different type, in sys/include.h,
|
||||
// it is typed as uint32_t. Need to REVISIT this.
|
||||
// This 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.
|
||||
//
|
||||
//***************************************************************************
|
||||
|
||||
//void *operator new[](size_t size)
|
||||
#ifdef CONFIG_CXX_NEWLONG
|
||||
void *operator new[](unsigned long nbytes)
|
||||
#else
|
||||
void *operator new[](unsigned int nbytes)
|
||||
#endif
|
||||
{
|
||||
// We have to allocate something
|
||||
|
||||
if (nbytes< 1)
|
||||
if (nbytes < 1)
|
||||
{
|
||||
nbytes = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user