Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-51

infinity, NaN formatted differently on different platforms

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Reopened
    • Minor
    • Resolution: Unresolved
    • 4.1.2, 4.1.3, 4.1.4, 4.2.0, 4.2.1
    • 4.2.2
    • 22. Localization
    • None
    • all

    • Patch Available
    • Incorrect Behavior

    Description

      The output of the program below is different depending on the operating system it runs on. It should be the same (preferably like that on AIX).

      $ cat u.cpp && uname -sr && make u -r && ./u
      #include <iostream>
      #include <limits>
      
      int main ()
      {
          std::cout << std::numeric_limits<double>::infinity () << '\n'
                    << std::numeric_limits<double>::quiet_NaN () << '\n'
                    << std::numeric_limits<double>::signaling_NaN () << '\n'; 
      }
      SunOS 5.9
      gcc -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG   -pthreads -D_RWSTD_USE_CONFIG -I/build/sebor/gcc-3.4.3-15s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/examples/include  -pedantic -nostdinc++ -g  -Wall -W -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long  u.cpp
      gcc u.o -o u -pthreads -L/build/sebor/gcc-3.4.3-15s/lib -lstd15s  -lsupc++ -lm
      rm u.o
      inf
      nan
      nan
      
      $ uname -vs && gmake u -r && ./u
      AIX 5
      xlCcore_r -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/vacpp-7.0.0.3-15D/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/examples/include  -g  -q64  -qtemplateregistry=u.ti   u.cpp
      xlCcore_r u.o -o u -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -liconv -brtl   -q64 -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/vacpp-7.0.0.3-15D/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/examples/include  -qtemplateregistry=u.ti -L/build/sebor/vacpp-7.0.0.3-15D/lib -lstd15D   -lm
      rm u.o
      inf
      nanq
      nans
      

      Attachments

        1. num_put.diff
          10 kB
          Farid Zaripov

        Issue Links

          Activity

            People

              sebor Martin Sebor
              sebor Martin Sebor
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 13h Original Estimate - 13h
                  13h
                  Remaining:
                  Time Spent - 13h Remaining Estimate - 8h
                  8h
                  Logged:
                  Time Spent - 13h Remaining Estimate - 8h
                  13h