Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 52329 invoked from network); 14 Dec 2007 00:24:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Dec 2007 00:24:04 -0000 Received: (qmail 92907 invoked by uid 500); 14 Dec 2007 00:23:53 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 92898 invoked by uid 500); 14 Dec 2007 00:23:53 -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 92887 invoked by uid 99); 14 Dec 2007 00:23:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Dec 2007 16:23:53 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Dec 2007 00:23:40 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 7741371420E for ; Thu, 13 Dec 2007 16:23:43 -0800 (PST) Message-ID: <5642541.1197591823486.JavaMail.jira@brutus> Date: Thu, 13 Dec 2007 16:23:43 -0800 (PST) From: "Martin Sebor (JIRA)" To: stdcxx-dev@incubator.apache.org Subject: [jira] Issue Comment Edited: (STDCXX-605) [IBM XLC++] errors compiling dynatype.cpp In-Reply-To: <11822252.1193029250779.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/STDCXX-605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12551653 ] sebor edited comment on STDCXX-605 at 12/13/07 4:22 PM: --------------------------------------------------------------- Hmmm. I tried to change the patch to show you what I meant with the const but I'm just getting an exception. I guess I don't understand how it works... Why can't one overload of retrieve be const and the other non-const, like this: template T& retrieve (T*); template const T& retrieve (const T*) const; I was hoping to then define the conversion operators like so: template operator T& () { return retrieve ((T*)0); } template operator const T& () const { return retrieve ((const T*)0); } But when I do this and run it I get this on stdout: static_cast(v1 = 1) = exception was (Author: sebor): Hmmm. I tried to change the patch to show you what I meant with the const but I'm just getting an exception. I guess I don't understand how it works... Why can't one overload of retrieve be const and the other non-const, like this: template T& retrieve (T*); template const T& retrieve (const T*) const; I was hoping to then define the conversion operators like so: template operator T& () { return retrieve ((T*)0); } template operator const T& () const { return retrieve ((T*)0); } But when I do this and run it I get this on stdout: static_cast(v1 = 1) = exception > [IBM XLC++] errors compiling dynatype.cpp > ----------------------------------------- > > Key: STDCXX-605 > URL: https://issues.apache.org/jira/browse/STDCXX-605 > Project: C++ Standard Library > Issue Type: Bug > Components: Examples > Affects Versions: 4.2.0 > Environment: XLC++ 6.0 through 9.0/AIX 5.3 > Reporter: Martin Sebor > Assignee: Travis Vitek > Fix For: 4.2.1 > > Attachments: stdcxx-605.patch > > > The dynatype.cpp example program fails to compile with IBM XLC++ 9.0 on AIX with ethe following errors: > xlCcore_r -c -I$(TOPDIR)/include/ansi -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/examples/include -O -Q -qtemplateregistry=dynatype.ti $(TOPDIR)/examples/tutorial/dynatype.cpp > "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 203.27: 1540-0216 (S) An expression of type "dynatype" cannot be converted to type "int". > "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 209.30: 1540-0216 (S) An expression of type "dynatype" cannot be converted to type "double". > "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 215.30: 1540-0216 (S) An expression of type "dynatype" cannot be converted to type "double". > "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 222.35: 1540-0216 (S) An expression of type "dynatype" cannot be converted to type "const char *". > "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 228.35: 1540-0216 (S) An expression of type "dynatype" cannot be converted to type "const char *". > "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 238.28: 1540-0216 (S) An expression of type "dynatype" cannot be converted to type "char". > gmake: *** [dynatype.o] Error 1 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.