poco/Foundation
André Draszik 54777d7f18 fp: support environments without hardware floating point
| cd <build>/Foundation && \
|    mipsel-poky-linux-musl-g++   -DFoundation_EXPORTS -DHAVE_PTHREAD_SETAFFINITY_NP -DHAVE_THREE_PARAM_SCHED_SETAFFINITY \
|         -DPCRE_STATIC -DPOCO_HAVE_FD_EPOLL -DPOCO_NO_AUTOMATIC_LIBS -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED \
|         -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 \
|         -I<sysroot>/usr/include -I<poco>/Foundation/include -I<poco>/Foundation/src  \
|         -mel -mabi=32 -msoft-float -march=mips32r2 -mno-mips16  -minterlink-compressed -mtune=24kec -mdsp  \
|         --sysroot=<sysroot> -O2 -pipe -g -feliminate-unused-debug-types \
|         -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security \
|         -fvisibility-inlines-hidden  -mel -mabi=32 -msoft-float -march=mips32r2 -mno-mips16  -minterlink-compressed \
|         -mtune=24kec -mdsp  --sysroot=<sysroot> -O2 -g -DNDEBUG -fPIC   \
|         -o CMakeFiles/Foundation.dir/src/ArchiveStrategy.cpp.o \
|         -c <poco>/Foundation/src/ArchiveStrategy.cpp
| In file included from <poco>/Foundation/include/Poco/FPEnvironment.h:33:0,
|                  from <poco>/Foundation/include/Poco/NumericString.h:25,
|                  from <poco>/Foundation/include/Poco/NumberFormatter.h:24,
|                  from <poco>/Foundation/include/Poco/ArchiveStrategy.h:27,
|                  from <poco>/Foundation/src/ArchiveStrategy.cpp:17:
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:36:30: error: 'FE_DOWNWARD' was not declared in this scope
|    FP_ROUND_DOWNWARD_IMPL   = FE_DOWNWARD,
|                               ^~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:37:30: error: 'FE_UPWARD' was not declared in this scope
|    FP_ROUND_UPWARD_IMPL     = FE_UPWARD,
|                               ^~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:39:30: error: 'FE_TOWARDZERO' was not declared in this scope
|    FP_ROUND_TOWARDZERO_IMPL = FE_TOWARDZERO
|                               ^~~~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:43:28: error: 'FE_DIVBYZERO' was not declared in this scope
|    FP_DIVIDE_BY_ZERO_IMPL = FE_DIVBYZERO,
|                             ^~~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:44:28: error: 'FE_INEXACT' was not declared in this scope
|    FP_INEXACT_IMPL        = FE_INEXACT,
|                             ^~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:45:28: error: 'FE_OVERFLOW' was not declared in this scope
|    FP_OVERFLOW_IMPL       = FE_OVERFLOW,
|                             ^~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:46:28: error: 'FE_UNDERFLOW' was not declared in this scope
|    FP_UNDERFLOW_IMPL      = FE_UNDERFLOW,
|                             ^~~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:47:28: error: 'FE_INVALID' was not declared in this scope
|    FP_INVALID_IMPL        = FE_INVALID
|                             ^~~~~~~~~~

The reason is that some (notably FPU-less) architectures,
including mips*-nf, don't define/implement some of the
floating point constants, even though fenv.h is
available.

The key point is:
  A fully standards conforming fenv.h does not have to
  define any FE_* macros, and if it does define them,
  then it defines macros only for the FP exceptions it
  actually supports.

See similar issue in boost:
  https://svn.boost.org/trac/boost/ticket/11756
2017-03-22 11:10:28 +00:00
..
cmake CMake: Create PocoConfig.cmake to make importable from other CMake projects 2014-10-14 17:58:46 +02:00
include/Poco fp: support environments without hardware floating point 2017-03-22 11:10:28 +00:00
samples added Visual Studio 2017 project files 2017-02-20 16:46:44 +01:00
src Bugfix for gcc and add copyright text 2017-03-21 16:35:16 +01:00
testsuite Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
wcelibcex-1.0 new trunk (base for 1.5) 2012-04-23 01:14:34 +00:00
CMakeLists.txt Poco.Foundation now links with pthreads on Unix platforms 2016-03-11 10:14:43 -03:00
extradirs new trunk (base for 1.5) 2012-04-23 01:14:34 +00:00
Foundation_CE_vs90.sln added ProGen Files for Foundation and regenerated projects to include JSONString 2015-03-02 19:57:46 -06:00
Foundation_CE_vs90.vcproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs90.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_vs90.vcproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs100.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_vs100.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs100.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs110.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_vs110.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs110.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs120.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_vs120.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs120.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs140.sln fixed VS2015 solution files for Foundation (missing TestApp and TestLibrary) 2017-02-02 20:22:09 +01:00
Foundation_vs140.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs140.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs150.sln added Visual Studio 2017 project files 2017-02-20 16:46:44 +01:00
Foundation_vs150.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_vs150.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_WEC2013_vs110.sln fixed WEC2013 project files 2015-03-11 16:41:40 +01:00
Foundation_WEC2013_vs110.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_WEC2013_vs110.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_WEC2013_vs120.sln fixed WEC2013 project files 2015-03-11 16:41:40 +01:00
Foundation_WEC2013_vs120.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_WEC2013_vs120.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs90.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_x64_vs90.vcproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs100.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_x64_vs100.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs100.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs110.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_x64_vs110.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs110.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs120.sln fixed project files 2015-03-11 18:39:23 +01:00
Foundation_x64_vs120.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs120.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs140.sln fixed VS2015 solution files for Foundation (missing TestApp and TestLibrary) 2017-02-02 20:22:09 +01:00
Foundation_x64_vs140.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs140.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs150.sln added Visual Studio 2017 project files 2017-02-20 16:46:44 +01:00
Foundation_x64_vs150.vcxproj Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation_x64_vs150.vcxproj.filters Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Foundation.progen added ProGen Files for Foundation and regenerated projects to include JSONString 2015-03-02 19:57:46 -06:00
Foundation.vxbuild Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00
Makefile Update make files and Visual Studio projects with SHA2 2017-03-21 17:20:05 +01:00