incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-605) [IBM XLC++] errors compiling dynatype.cpp
Date Fri, 14 Dec 2007 00:11:43 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12551653
] 

Martin Sebor commented on STDCXX-605:
-------------------------------------

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 <class T> T& retrieve (T*);
    template <class T> const T& retrieve (const T*) const;

I was hoping to then define the conversion operators like so:

    template <class T> operator T& () { return retrieve ((T*)0); }
    template <class T> operator const T& () const { return retrieve ((T*)0); }

But when I do this and run it I get this on stdout:

    static_cast<const int&>(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.


Mime
View raw message