../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);
}
Confirmed.
../aclib/ aclib.cpp( 35): error: no instance of function template "ACSearch: :Grapher: :simple_ output" matches the argument list
argument types are: (acSearcher) :basic_ string< char> output = Grapher: :simple_ output( *s);
^
std:
Reduced testcase for the ICE:
template<typename _CharT> struct char_traits; typename _Tp> class new_allocator { }; typename _Tp> :new_allocator< _Tp> { }; typename _CharT, typename _Traits = char_traits< _CharT> , typename _Alloc = allocator<_CharT> > class basic_string; typename _CharT, typename _Traits, typename _Alloc> string< T> simple_ output( Searcher< T> &sch){ } dot(acSearcher *s){ :basic_ string< char> output = Grapher: :simple_ output( *s);
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
template<
}
namespace std __attribute__ ((__visibility__ ("default"))) {
template<
class allocator: public __gnu_cxx:
template<
template<
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_
};
typedef Searcher<char, unsafe_case_cmp> acSearcher;
void ac_print_
std:
}