[ 
https://issues.apache.org/jira/browse/XALANC-588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Bertoni resolved XALANC-588.
----------------------------------

       Resolution: Fixed
    Fix Version/s: CurrentCVS

> Floating point exceptions in DoubleSupport::initialize() on Solaris 10 (x86)
> ----------------------------------------------------------------------------
>
>                 Key: XALANC-588
>                 URL: https://issues.apache.org/jira/browse/XALANC-588
>             Project: XalanC
>          Issue Type: Bug
>          Components: XalanC
>    Affects Versions: 1.10
>         Environment: Sun Solaris 10, Opteron chipset (x86/i386). XercesC++ 
> 2.7  XalanC 1.10
> $ CC -V
> CC: Sun C++ 5.7 Patch 117831-02 2005/03/30
> $ cc -V
> cc: Sun C 5.7 Patch 117837-04 2005/05/11
> usage: cc [ options] files.  Use 'cc -flags' for details
>            Reporter: Sean Pearce
>            Assignee: David Bertoni
>             Fix For: CurrentCVS
>
>
> A couple of issues.
> Prior to compiling, XERCESCROOT and XALANCROOT are configured to point the 
> their respective foliders, and the configurations used as follows:
> Xerces: ./runConfigure -p solaris -c cc -x CC -b 64 -P 
> $P4SRCROOT/Tools/libs/64/SUN/xerces-c_2_7_0
> Xalan:   ./runConfigure -p solaris -c cc -x CC -b 64 -P 
> $P4SRCROOT/Tools/libs/64/SUN/xalanc_1_10
> 1) To compile on this platform, the 'solaris' entries in runConfigure had to 
> be changed to use option '-xarch=amd64' in place of '-xarch=v9' (for XercesC 
> and XalanC)
> 2) After building the libraries, our program was crashing in 
> XalanTransformer::initialize(); (after calling 
> XMLPlatformUtils::Initialize(); of course), with a Floating Point Exception 
> (FPE) in:
> void
> DoubleSupport::initialize()
> {
> #if defined(XALAN_NO_STD_NUMERIC_LIMITS)
>     // We initialize this at here because some
>     // platforms have had issues with signals
>     // if we call sqrt(-2.01) during static
>     // initialization.
> #if defined(XALAN_STRICT_ANSI_HEADERS)
>     s_NaN.d = std::sqrt(-2.01);
> #else
>     s_NaN.d = sqrt(-2.01);
> #endif
> #elif !defined(XALAN_NO_STD_NAMESPACE)
>     // There seems to be problems with various standard libraries, so
>     // this is disabled for now.  We need to revisit this when we
>     // update our autoconf/automake system to detect the right value
>     // for NaN at configuration time.
>     // XALAN_STATIC_ASSERT(std::numeric_limits<double>::has_quiet_NaN);
> #endif
> Removing  #define XALAN_NO_STD_NUMERIC_LIMITS from the 
> Include/SolarisDefinitions.hpp fixes this problem.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to