|
Bugzilla – Full Text Bug Listing |
| Summary: | internal compiler error: in build_call_a, at cp/call.c:332 | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.4 | Reporter: | Christopher Yeleighton <giecrilj> |
| Component: | Development | Assignee: | Richard Biener <rguenther> |
| Status: | RESOLVED NORESPONSE | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P5 - None | CC: | pth |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | openSUSE 11.4 | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
Please provide preprocessed source. Note that we are unlikely to fix anything for openSUSE 11.4. No response from reporter. |
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2 g++ fails with an internal compiler error Reproducible: Always Steps to Reproduce: 1. { cat <<'/* EOF */' >ICE.cpp && g++ -g ICE.cpp; } #include <string> #include <vector> #include <algorithm> #include <boost/iterator/transform_iterator.hpp> #include <boost/ref.hpp> namespace ls { template < class P_C, class P_T = typename std:: basic_string < P_C >:: traits_type, class P_A = typename std:: basic_string < P_C, P_T >:: allocator_type > class file_rec { public: typedef file_rec self, &ref; typedef self const &cref; public: typedef P_C char_type; public: typedef P_T traits_type; public: typedef P_A allocator_type; public: typedef std:: basic_string < self:: char_type, self:: traits_type, self:: allocator_type > string_type; private: self:: string_type m_name; public: self:: string_type const &name (void) const { return this -> m_name; } public: class get_char_at: public ::std:: unary_function <typename ::std:: vector < self >:: const_reference, typename self:: string_type:: const_reference > { public: typedef ::std:: unary_function <typename ::std:: vector < self >:: const_reference, typename self:: string_type:: const_reference > inherited; private: typename self:: string_type:: size_type m_pos; public: get_char_at (void): m_pos () { } public: typename inherited:: result_type operator () (typename inherited:: argument_type p_r) const { return p_r. name () [+this -> m_pos]; } }; /* #ls. get_char_at X */ class as_char_at: public ::boost:: transform_iterator < self:: get_char_at, typename ::std:: vector < self >:: const_iterator > { public: typedef ::boost:: transform_iterator < self:: get_char_at, typename ::std:: vector < self >:: const_iterator > inherited; public: as_char_at (typename std:: vector < self >:: const_iterator const &p_it): inherited (p_it, self:: get_char_at ()) {} }; }; } /* $ls X */ int main (int, char const *const []) { typedef ls:: file_rec < std:: istream:: char_type > file_rec; std:: vector < file_rec > lv_fr; ::std:: string a_n; (&::std:: equal_range < file_rec:: as_char_at, char >) (::boost:: cref (lv_fr). get (). begin (), ::boost:: cref (lv_fr). get (). end (), a_n [0]); return +EXIT_FAILURE; } /* !main X */ /* EOF */ Actual Results: 1. ICE.cpp: In function ‘int main(int, const char* const*)’: ICE.cpp:47:91: internal compiler error: in build_call_a, at cp/call.c:332 Please submit a full bug report, with preprocessed source if appropriate. See <http://bugs.opensuse.org/> for instructions. Expected Results: 1. Successful compilation or ill-formed source message.