This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[v3] Fix libstdc++/38421
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: Gcc Patch List <gcc-patches at gcc dot gnu dot org>
- Cc: libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Sat, 06 Dec 2008 11:27:52 +0100
- Subject: [v3] Fix libstdc++/38421
Hi,
committed to mainline.
Paolo.
/////////////////
2008-12-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38421
* include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
* doc/xml/manual/appendix_contributing.xml: Add __ea to the list
of badnames.
Index: doc/xml/manual/appendix_contributing.xml
===================================================================
*** doc/xml/manual/appendix_contributing.xml (revision 142486)
--- doc/xml/manual/appendix_contributing.xml (working copy)
*************** indicate a place that may require attent
*** 364,369 ****
--- 364,372 ----
_res_ext
__tg_*
+ SPU adds:
+ __ea
+
For GCC:
[Note that this list is out of date. It applies to the old
Index: include/tr1/ell_integral.tcc
===================================================================
*** include/tr1/ell_integral.tcc (revision 142486)
--- include/tr1/ell_integral.tcc (working copy)
*************** namespace tr1
*** 371,387 ****
__zn = __c0 * (__zn + __lambda);
}
! _Tp __ea = __xndev * __yndev;
_Tp __eb = __zndev * __zndev;
! _Tp __ec = __ea - __eb;
! _Tp __ed = __ea - _Tp(6) * __eb;
_Tp __ef = __ed + __ec + __ec;
_Tp __s1 = __ed * (-__c1 + __c3 * __ed
/ _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
/ _Tp(2));
_Tp __s2 = __zndev
* (__c2 * __ef
! + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea));
return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
/ (__mu * std::sqrt(__mu));
--- 371,388 ----
__zn = __c0 * (__zn + __lambda);
}
! // Note: __ea is an SPU badname.
! _Tp __eaa = __xndev * __yndev;
_Tp __eb = __zndev * __zndev;
! _Tp __ec = __eaa - __eb;
! _Tp __ed = __eaa - _Tp(6) * __eb;
_Tp __ef = __ed + __ec + __ec;
_Tp __s1 = __ed * (-__c1 + __c3 * __ed
/ _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
/ _Tp(2));
_Tp __s2 = __zndev
* (__c2 * __ef
! + __zndev * (-__c3 * __ec - __zndev * __c4 - __eaa));
return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
/ (__mu * std::sqrt(__mu));
*************** namespace tr1
*** 634,649 ****
__pn = __c0 * (__pn + __lambda);
}
! _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev;
_Tp __eb = __xndev * __yndev * __zndev;
_Tp __ec = __pndev * __pndev;
! _Tp __e2 = __ea - _Tp(3) * __ec;
! _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec);
_Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
- _Tp(3) * __c4 * __e3 / _Tp(2));
_Tp __s2 = __eb * (__c2 / _Tp(2)
+ __pndev * (-__c3 - __c3 + __pndev * __c4));
! _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3)
- __c2 * __pndev * __ec;
return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)
--- 635,651 ----
__pn = __c0 * (__pn + __lambda);
}
! // Note: __ea is an SPU badname.
! _Tp __eaa = __xndev * (__yndev + __zndev) + __yndev * __zndev;
_Tp __eb = __xndev * __yndev * __zndev;
_Tp __ec = __pndev * __pndev;
! _Tp __e2 = __eaa - _Tp(3) * __ec;
! _Tp __e3 = __eb + _Tp(2) * __pndev * (__eaa - __ec);
_Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
- _Tp(3) * __c4 * __e3 / _Tp(2));
_Tp __s2 = __eb * (__c2 / _Tp(2)
+ __pndev * (-__c3 - __c3 + __pndev * __c4));
! _Tp __s3 = __pndev * __eaa * (__c2 - __pndev * __c3)
- __c2 * __pndev * __ec;
return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)