Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 43180 invoked from network); 2 Nov 2007 21:19:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Nov 2007 21:19:33 -0000 Received: (qmail 81253 invoked by uid 500); 2 Nov 2007 21:19:20 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 81238 invoked by uid 500); 2 Nov 2007 21:19:20 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 81227 invoked by uid 99); 2 Nov 2007 21:19:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2007 14:19:20 -0700 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_OPENWHOIS,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2007 21:19:42 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1Io3uu-00005Q-RB for stdcxx-dev@incubator.apache.org; Fri, 02 Nov 2007 14:19:00 -0700 Message-ID: <13556315.post@talk.nabble.com> Date: Fri, 2 Nov 2007 14:19:00 -0700 (PDT) From: Travis Vitek To: stdcxx-dev@incubator.apache.org Subject: Re: 19.exceptions.mt.cpp fails on AIX In-Reply-To: <472B77AB.7000506@roguewave.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: vitek@roguewave.com References: <13551223.post@talk.nabble.com> <472B77AB.7000506@roguewave.com> X-Virus-Checked: Checked by ClamAV on apache.org Martin Sebor wrote: > >> That said, what is the appropriate solution? Should we just pad the type >> out >> to the correct size, > > Yes. As Farid says, the XLC exception and ours must have the same > size. > Is this a binary compatible change? I've always believed changing the size of a type breaks binary compatibility, but if the the special functions are no-op, I'm thinking it might be safe. Martin Sebor wrote: > >>I guess I >> would understand if I had got a linker error complaining of mulitply >> defined >> symbols, but I don't. > > This (the interface between the language runtime and the library) > is the most difficult area of the library for independent library > authors like us to get right. We can't help but make assumptions > about the runtime. Some are based on our inspection of the native > library headers (which may change in subtle but sometimes > important ways from one release to another), others we try to > automate (the detection of the special member functions of the > exception classes). Both approaches are fraught with peril. > Okay. So the appropriate solution is to modify the exception header to have the correct size. As I mentioned, I think I can easily write a config test to determine the necessary pad and apply it. Is that a better approach? At the very least I'd like to determine the size of the runtime library version of std::exception and then add a test that will check the size matches up with the size of the type we are providing. That way we have a way to be notified of the problem in the future instead of having to find it the hard way. Travis -- View this message in context: http://www.nabble.com/19.exceptions.mt.cpp-fails-on-AIX-tf4738595.html#a13556315 Sent from the stdcxx-dev mailing list archive at Nabble.com.