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

some of the localization class declarations do not follow the ISO/IEC:14882:2003 specification

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 4.2.1, 4.2.2, 4.2.x, 4.3.x, 5.0.0
    • Fix Version/s: 4.2.x, 4.3.x, 5.0.0
    • Component/s: 22. Localization
    • Environment:

      Solaris 10 and 11, Linux (RedHat and OpenSUSE), Sun C++ Compiler 12.1, 12.2, 12.3, GCC4.
      The defect is independent of platform or compiler.

    • Patch Info:
      Patch Available
    • Regression:
      Unit Test Broken
    • Severity:
      Incorrect Behavior

      Description

      For the following classes:

      std::codecvt<> and its specializations
      std::collate<> and its specializations
      std::ctype<> and its specializations
      std::ctype_byname<> and its specializations
      std::messages<> and its specializations
      std::messages_byname<> and its specializations
      std::money_get<> and its specializations
      std::moneypunct<> and is specializations
      std::moneypunct_byname<> and its specializations
      std::money_put<> and its specializations
      std::num_get<> and its specializations
      std::numpunct<> and its specializations
      std::numpunct_byname<> and its specializations
      std::num_put<> and its specializations
      std::time_get<> and its specializations
      std::time_get_byname<> and its specializations
      std::time_put<> and its specializations

      1. all these type declarations must be of class type (and not of struct type)
      2. all these classes must have protected virtual destructors
      3. all the corresponding *_base (time_base, money_base, etc), must have virtual destructors

      The current implementation of these types as structs (with default public access
      specifier on their non-virtual destructors) causes failures in Perennial CPPVS V8.1.

      Changing the access specifier for these destructors requires some changes in the
      stdcxx tests for localization.

      Patch based on 4.2.1 to follow shortly.

        Attachments

        1. stdcxx-1055.patch
          23 kB
          Stefan Teleman

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              steleman Stefan Teleman
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: