------- Comment #2 from rguenth at gcc dot gnu dot org  2010-06-22 11:04 -------
Confirmed.

../aclib/aclib.cpp(35): error: no instance of function template
"ACSearch::Grapher::simple_output" matches the argument list
            argument types are: (acSearcher)
    std::basic_string<char> output = Grapher::simple_output(*s);
                                     ^
Reduced testcase for the ICE:

template<typename _CharT>     struct char_traits;
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
    template<typename _Tp>     class new_allocator     { };
}
namespace std __attribute__ ((__visibility__ ("default"))) {
    template<typename _Tp>     
    class allocator: public __gnu_cxx::new_allocator<_Tp>     { };
    template<typename _CharT, typename _Traits = char_traits<_CharT>,          
    typename _Alloc = allocator<_CharT> >     class basic_string;
    template<typename _CharT, typename _Traits, typename _Alloc>     
    class basic_string     {
    };
}
template<typename T> int eq_cmp(T a, T b){ }
template<typename T> int unsafe_case_cmp(T a, T b){ }
template<typename T, int (*cmp_fn)(T, T) = eq_cmp> class Searcher{ };
class Grapher{
    template <typename T>
    static std::basic_string<T> simple_output(Searcher<T> &sch){ }
};
typedef Searcher<char, unsafe_case_cmp> acSearcher;
void ac_print_dot(acSearcher *s){
    std::basic_string<char> output = Grapher::simple_output(*s);
}


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-invalid-code
   Last reconfirmed|0000-00-00 00:00:00         |2010-06-22 11:04:54
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44629

Reply via email to