Fixes are available
July 2012 PTF for XL C/C++ for AIX, V11.1
October 2012 PTF for XL C/C++ for AIX, V11.1
February 2013 PTF for XL C/C++ for AIX, V11.1
XL C/C++ for AIX Fix Pack 14 (May 2013 PTF) for 11.1
XL C/C++ for AIX Fix Pack 15 (August 2013 PTF) for 11.1
XL C/C++ for AIX Fix Pack 16 (November 2013 PTF) for 11.1
XL C/C++ for AIX Fix Pack 17 (February 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 18 (May 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 19 (August 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 20 (November 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 21 (April 2015 PTF) for 11.1
XL C/C++ for AIX Fix Pack 22 (September 2015 PTF) for 11.1
XL C/C++ for AIX Fix Pack 23 (March 2016 PTF) for 11.1
XL C/C++ for AIX Fix Pack 24 (September 2016 PTF) for 11.1
APAR status
Closed as program error.
Error description
The following testcase fails with $xlC -qlanglvl=extended0x -c t.cpp /usr/vacpp/bin/.orig/xlC: 1501-230 (S) Internal compiler error; please contact your Service Representative. For more information visit: http://www.ibm.com/support/docview.wss?uid=swg21110810 $cat t.cpp /////////////////// t.cpp /////////////////// struct House { private: struct Base { virtual ~Base() { } }; template <class T> struct Derived : Base { public: virtual ~Derived() { }; T& value() { return value_; } const T& value() const { return value_; } protected: T value_; }; public: House() : imp_(0) { } ~House() { delete imp_; } template<class T> T* fun() { House::Derived<T>* p = dynamic_cast<House::Derived<T>*>(this->imp_); return p ? &p->value() : 0; // <--- ICE at &p->value() } template<class T> const T* fun() const { return const_cast<House*>(this)->fun<T> (); } private: Base* imp_; }; ///////////////// end of t.cpp ///////////////////
Local fix
N/A
Problem summary
ICE with -qlanglvl=extended0x or -qtmplparse=error
Problem conclusion
Avoid instantiation of function specializations for dependent function calls while parsing template definitions.
Temporary fix
Comments
APAR Information
APAR number
IV18337
Reported component name
XL C/C++ AIX
Reported component ID
5724X1300
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-03-28
Closed date
2012-07-05
Last modified date
2012-07-05
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
XL C/C++ AIX
Fixed component ID
5724X1300
Applicable component levels
RB10 PSY U852967
UP C
Document Information
Modified date:
05 July 2012