From issues-return-2698-apmail-stdcxx-issues-archive=stdcxx.apache.org@stdcxx.apache.org Mon Feb 6 20:53:23 2012 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 82B88957C for ; Mon, 6 Feb 2012 20:53:23 +0000 (UTC) Received: (qmail 76292 invoked by uid 500); 6 Feb 2012 20:53:23 -0000 Delivered-To: apmail-stdcxx-issues-archive@stdcxx.apache.org Received: (qmail 76268 invoked by uid 500); 6 Feb 2012 20:53:23 -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 76260 invoked by uid 99); 6 Feb 2012 20:53:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Feb 2012 20:53:22 +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 20:53:20 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 31C6ECC001 for ; Mon, 6 Feb 2012 20:52:59 +0000 (UTC) Date: Mon, 6 Feb 2012 20:52:59 +0000 (UTC) From: "Martin Sebor (Commented) (JIRA)" To: issues@stdcxx.apache.org Message-ID: <1013402683.3601.1328561579205.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <586051145.12150.1328400593879.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (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 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/STDCXX-1055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13201573#comment-13201573 ] Martin Sebor commented on STDCXX-1055: -------------------------------------- Changing {{struct}} to {{class}} sounds fine. You're right that the {{money_base}} and {{time_base}} classes aren't specified to have virtual destructors (and so aren't allowed to have them). It's been too long since I looked at the code and I forgot that these weren't facets. For (2) unless we can come up with a _strictly conforming_ test case that detects when a dtor is protected I'm not convinced we should change it (except under a strict conformance macro like {{\_RWSTD_STRICT_ANSI}}). > 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