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

infinity, NaN formatted differently on different platforms

    Details

    • Type: Improvement
    • Status: Reopened
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 4.1.2, 4.1.3, 4.1.4, 4.2.0, 4.2.1
    • Fix Version/s: 4.2.2
    • Component/s: 22. Localization
    • Labels:
      None
    • Environment:

      all

    • Patch Info:
      Patch Available
    • Severity:
      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

              • Assignee:
                sebor Martin Sebor
                Reporter:
                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