summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--misc/uClibc++/libxx/uClibc++/Make.defs4
-rw-r--r--misc/uClibc++/libxx/uClibc++/eh_terminate.cxx2
-rw-r--r--nuttx/arch/arm/Kconfig3
-rw-r--r--nuttx/include/cxx/cmath59
4 files changed, 67 insertions, 1 deletions
diff --git a/misc/uClibc++/libxx/uClibc++/Make.defs b/misc/uClibc++/libxx/uClibc++/Make.defs
index b8f7a7092..335ae8db1 100644
--- a/misc/uClibc++/libxx/uClibc++/Make.defs
+++ b/misc/uClibc++/libxx/uClibc++/Make.defs
@@ -44,10 +44,14 @@ CXXSRCS += new_opvnt.cxx numeric.cxx ostream.cxx queue.cxx set.cxx
CXXSRCS += sstream.cxx stack.cxx streambuf.cxx string.cxx typeinfo.cxx
CXXSRCS += utility.cxx valarray.cxx vector.cxx
+# Exception handling logic
+
ifeq ($(CONFIG_UCLIBCXX_EXCEPTION),y)
CXXSRCS += exception.cxx func_exception.cxx stdexcept.cxx
endif
+# libsupc++ replacement
+
ifneq ($(CONFIG_UCLIBCXX_HAVE_LIBSUPCXX),y)
CXXSRCS += eh_alloc.cxx eh_globals.cxx eh_terminate.cxx
endif
diff --git a/misc/uClibc++/libxx/uClibc++/eh_terminate.cxx b/misc/uClibc++/libxx/uClibc++/eh_terminate.cxx
index 1d1aa9eb7..5b9e1aa2e 100644
--- a/misc/uClibc++/libxx/uClibc++/eh_terminate.cxx
+++ b/misc/uClibc++/libxx/uClibc++/eh_terminate.cxx
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 Garrett A. Kajmowicz
+/* Copyright (C) 2004 Garrett A. Kajmowicz
*
* This file is part of the uClibc++ Library.
*
diff --git a/nuttx/arch/arm/Kconfig b/nuttx/arch/arm/Kconfig
index 02a871994..9bec34ff1 100644
--- a/nuttx/arch/arm/Kconfig
+++ b/nuttx/arch/arm/Kconfig
@@ -155,6 +155,9 @@ config ARCH_CHIP
default "stm32" if ARCH_CHIP_STM32
default "str71x" if ARCH_CHIP_STR71X
+config ARCH_HAVE_CMNVECTOR
+ bool
+
config ARMV7M_CMNVECTOR
bool "Use common ARMv7-M vectors"
default n
diff --git a/nuttx/include/cxx/cmath b/nuttx/include/cxx/cmath
index 7cb3a2109..55c7c1dcc 100644
--- a/nuttx/include/cxx/cmath
+++ b/nuttx/include/cxx/cmath
@@ -40,6 +40,9 @@
// Included Files
//***************************************************************************
+#include <nuttx/config.h>
+#include <nuttx/compiler.h>
+
#include <math.h>
//***************************************************************************
@@ -48,6 +51,33 @@
namespace std
{
+#if CONFIG_HAVE_FLOAT
+ using ::acosf;
+ using ::asinf;
+ using ::atanf;
+ using ::atan2f;
+ using ::ceilf;
+ using ::cosf;
+ using ::coshf;
+ using ::expf;
+ using ::fabsf;
+ using ::floorf;
+ using ::fmodf;
+ using ::frexpf;
+ using ::ldexpf;
+ using ::logf;
+ using ::log10f;
+ using ::log2f;
+ using ::modff;
+ using ::powf;
+ using ::sinf;
+ using ::sinhf;
+ using ::sqrtf;
+ using ::tanf;
+ using ::tanhf;
+#endif
+
+#if CONFIG_HAVE_DOUBLE
using ::acos;
using ::asin;
using ::atan;
@@ -63,6 +93,7 @@ namespace std
using ::ldexp;
using ::log;
using ::log10;
+ using ::log2;
using ::modf;
using ::pow;
using ::sin;
@@ -70,6 +101,34 @@ namespace std
using ::sqrt;
using ::tan;
using ::tanh;
+#endif
+
+#ifdef CONFIG_HAVE_LONG_DOUBLE
+ using ::acosl;
+ using ::asinl;
+ using ::atanl;
+ using ::atan2l;
+ using ::ceill;
+ using ::cosl;
+ using ::coshl;
+ using ::expl;
+ using ::fabsl;
+ using ::floorl;
+ using ::fmodl;
+ using ::frexpl;
+ using ::ldexpl;
+ using ::logl;
+ using ::log10l;
+ using ::log2l;
+ using ::modfl;
+ using ::powl;
+ using ::sinl;
+ using ::sinhl;
+ using ::sqrtl;
+ using ::tanl;
+ using ::tanhl;
+#endif
+
}
#endif // __INCLUDE_CXX_CMATH