[ https://issues.apache.org/jira/browse/STDCXX-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538610 ]
Travis Vitek commented on STDCXX-617: ------------------------------------- According to 12.8 p9, any user-declared copy assignment X::operator=() that takes a single X, X& const X&, volatile X& or const volatile X& is supposed to be considered a copy-assignment operator. The Intel 10.0.025 compiler does not appear to consider X::operator=() const, and later fails to generate a copy constructor. 2007-10-29 Travis Vitek <[EMAIL PROTECTED]> STDCXX-617 * 26.valarray.transcend.stdcxx-315.cpp: Work around bug in Intel C++ 10.0.025 that does not consider const copy- assignment operator before attempting to generate one. Index: 26.valarray.transcend.stdcxx-315.cpp =================================================================== --- 26.valarray.transcend.stdcxx-315.cpp (revision 589749) +++ 26.valarray.transcend.stdcxx-315.cpp (working copy) @@ -48,7 +48,7 @@ ~S () { pass = pass && this == self; } operator double () const { pass = pass && this == self; return 1.0; } - void operator=(const S &s) const { + void operator=(const S &s) { pass = pass && &s == s.self && this == self; } S operator- () const { pass = pass && this == self; return *this; } > [Intel C++ 10.0] error on implicit assignment in > 26.valarray.transcend.stdcxx-315.cp > ------------------------------------------------------------------------------------ > > Key: STDCXX-617 > URL: https://issues.apache.org/jira/browse/STDCXX-617 > Project: C++ Standard Library > Issue Type: Bug > Components: Tests > Affects Versions: 4.2 > Environment: Intel C++ 10.0/Linux > Reporter: Martin Sebor > Assignee: Travis Vitek > Priority: Minor > Fix For: 4.2.1 > > > Copied from > http://www.nabble.com/Re%3A--VOTE--release-stdcxx-4.2.0-%28candidate-7%29-p13372451.html: > ...I tried Intel 10.0 and found another test that gave a compiler error. I > didn't investigate it in great detail but it looks like a problem > in the test rather than a compiler bug. > /home/mbrown/stdcxx-4.2.0/tests/regress/26.valarray.transcend.stdcxx-315.cpp(43): > error: implicitly generated assignment operator cannot copy: > const member "S::self" > struct S { > ^ > detected during: > implicit generation of "S &S::operator=(const S &)" at line 1033 > of "/home/mbrown/stdcxx-4.2.0/include/valarray" > instantiation of "std::valarray<_TypeT> std::abs(const > std::valarray<_TypeT> &) [with _TypeT=S]" at line 78 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.