Return-Path: X-Original-To: apmail-stdcxx-dev-archive@www.apache.org Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4E529DF4C for ; Sat, 15 Sep 2012 17:51:45 +0000 (UTC) Received: (qmail 88098 invoked by uid 500); 15 Sep 2012 17:51:45 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 88016 invoked by uid 500); 15 Sep 2012 17:51:45 -0000 Mailing-List: contact dev-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 dev@stdcxx.apache.org Received: (qmail 88006 invoked by uid 99); 15 Sep 2012 17:51:45 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 15 Sep 2012 17:51:45 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of stefan.teleman@gmail.com designates 209.85.220.182 as permitted sender) Received: from [209.85.220.182] (HELO mail-vc0-f182.google.com) (209.85.220.182) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 15 Sep 2012 17:51:38 +0000 Received: by vcbfw7 with SMTP id fw7so6221440vcb.41 for ; Sat, 15 Sep 2012 10:51:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=BWy+yA0oQLUTiLoquOPE837ZjvNQxodo0wg6HI5nkGk=; b=YbvTzsfPwkPiyNQsbJ7jbMSzWTdJjJO/qnGD5A0bJmNzaIa54jjy/EAoYC8Gk94042 hSC5uCPqQp7zPAQvIBnOaDt/bDYiIkO7bwUlN0gqVCcUD85Ly6oRGayuu7W64uKLf0vC BjEluO+5p5C+5a5s3iYJAbekJKm3PmE522tIEeRpSIZYBd/U+WxoiN1rKBvoPijLoHno jUGvg6m0Iy4Oc8EFtYTuHm0L6Xw1oij+MNEUmoFA5QX1o7HftZNZ3tirBYJDjBRQNGpQ oRFH4+21RJRJTXaM+8aNymsfEcW7pXknqd8XTZlXjg6MxdUWQOdp6Tm4NaTNT886AFwJ Lusw== MIME-Version: 1.0 Received: by 10.52.17.203 with SMTP id q11mr1368602vdd.19.1347731478056; Sat, 15 Sep 2012 10:51:18 -0700 (PDT) Received: by 10.58.29.164 with HTTP; Sat, 15 Sep 2012 10:51:17 -0700 (PDT) In-Reply-To: <50547C22.1000604@hates.ms> References: <40394653-8FCC-4D04-A108-2C650AF8F95B@hates.ms> <50481DDC.6010906@gmail.com> <5048A224.7060402@hates.ms> <5048CC76.5060603@gmail.com> <5049016D.8000902@gmail.com> <504E2440.1060706@gmail.com> <504FE7F9.90102@gmail.com> <504FF10E.8020506@hates.ms> <50508849.4070708@hates.ms> <50547C22.1000604@hates.ms> Date: Sat, 15 Sep 2012 13:51:17 -0400 Message-ID: Subject: Re: STDCXX-1056 [was: Re: STDCXX forks] From: Stefan Teleman To: dev@stdcxx.apache.org Content-Type: text/plain; charset=UTF-8 On Sat, Sep 15, 2012 at 9:01 AM, Liviu Nicoara wrote: > That is funny. What compiler are you using? What does the following test > case return for you? It's the Intel compiler with the patched stdcxx for the wrong case and GCC 4.7.1 + GNU libstdc++ for the correct case. GCC + GNU libstdc++ are correct. The patched facet does not call the protected do_*() virtual functions from their public counterparts, as it is required to do by the Standard. Instead, it returns the data mebers directly (the data members were initialized in the constructor). That is the patch you proposed, which is indeed much better performing than using a mutex lock. Unfortunately, in doing so, overriding the virtual functions in a derived facet type becomes pointless. --Stefan -- Stefan Teleman KDE e.V. stefan.teleman@gmail.com