Return-Path: X-Original-To: apmail-stdcxx-issues-archive@minotaur.apache.org Delivered-To: apmail-stdcxx-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DF1D49118 for ; Mon, 6 Feb 2012 21:39:20 +0000 (UTC) Received: (qmail 75711 invoked by uid 500); 6 Feb 2012 21:39:20 -0000 Delivered-To: apmail-stdcxx-issues-archive@stdcxx.apache.org Received: (qmail 75683 invoked by uid 500); 6 Feb 2012 21:39:20 -0000 Mailing-List: contact issues-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list issues@stdcxx.apache.org Received: (qmail 75675 invoked by uid 99); 6 Feb 2012 21:39:20 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Feb 2012 21:39:20 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Feb 2012 21:39:19 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 22502CC20B for ; Mon, 6 Feb 2012 21:38:59 +0000 (UTC) Date: Mon, 6 Feb 2012 21:38:59 +0000 (UTC) From: "Stefan Teleman (Issue Comment Edited) (JIRA)" To: issues@stdcxx.apache.org Message-ID: <1058571325.3910.1328564339142.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <586051145.12150.1328400593879.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Issue Comment Edited] (STDCXX-1055) some of the localization class declarations do not follow the ISO/IEC:14882:2003 specification MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/STDCXX-1055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13201622#comment-13201622 ] Stefan Teleman edited comment on STDCXX-1055 at 2/6/12 9:37 PM: ---------------------------------------------------------------- It is not true that money_base and time_base are not allowed to have virtual destructors. The Standard specification does not provide any declaration for these classes' destructors at all: 22.2.6.3: {code:title=22.2.6.3|borderStyle=solid} namesapce std { class money_base { public: enum part { none, space, symbol, sign, value }; struct pattern { char field[4]; }; }; [ ... ] {code} was (Author: steleman): It is not true that money_base and time_base are not allowed to have virtual destructors. The Standard specification does not provide any declaration for these claseses' destructors at all: 22.2.6.3: {code:title=22.2.6.3|borderStyle=solid} namesapce std { class money_base { public: enum part { none, space, symbol, sign, value }; struct pattern { char field[4]; }; }; [ ... ] {code} > some of the localization class declarations do not follow the ISO/IEC:14882:2003 specification > ---------------------------------------------------------------------------------------------- > > Key: STDCXX-1055 > URL: https://issues.apache.org/jira/browse/STDCXX-1055 > Project: C++ Standard Library > Issue Type: Bug > Components: 22. Localization > Affects Versions: 4.2.1, 4.2.2, 4.2.x, 4.3.x, 5.0.0 > 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. > Reporter: Stefan Teleman > Labels: conformance, standards > Fix For: 4.2.x, 4.3.x, 5.0.0 > > Attachments: stdcxx-1055.patch > > > 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. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira