Launchpad has imported 7 comments from the remote bug at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44629.
If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. ------------------------------------------------------------------------ On 2010-06-22T09:56:54+00:00 Matthias Klose wrote: seen with 4.3, 4.4, 4.5, 4.6 $ gcc-4.5 -c aclib.ii ../aclib/aclib.cpp: In function 'void ac_print_dot(acSearcher*)': ../aclib/aclib.cpp:35:61: internal compiler error: in unify, at cp/pt.c:15155 Please submit a full bug report, with preprocessed source if appropriate. Reply at: https://bugs.launchpad.net/gcc/+bug/541425/comments/3 ------------------------------------------------------------------------ On 2010-06-22T09:57:48+00:00 Matthias Klose wrote: Created attachment 20976 preprocessed source Reply at: https://bugs.launchpad.net/gcc/+bug/541425/comments/4 ------------------------------------------------------------------------ On 2010-06-22T11:04:53+00:00 Rguenth wrote: 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); } Reply at: https://bugs.launchpad.net/gcc/+bug/541425/comments/6 ------------------------------------------------------------------------ On 2010-06-22T16:46:02+00:00 Jakub-gcc wrote: 3.4 gives here: pr44629.C:23: sorry, unimplemented: use of `overload' in template type unification pr44629.C:23: error: no matching function for call to `Grapher::simple_output(Searcher<char, unsafe_case_cmp [with T = char]>&)' int unsafe_case_cmp(T, T) [with T = char] So it is a regression. Reply at: https://bugs.launchpad.net/gcc/+bug/541425/comments/7 ------------------------------------------------------------------------ On 2011-03-04T00:54:56+00:00 Jason-gcc wrote: Same ICE on valid testcase: template<typename T> int cmp1(T a, T b); template<typename T> int cmp2(T a, T b); template<typename T, int (*cmp)(T, T) = cmp1> struct A { }; template <typename T> void f (A<T> &); void g() { A<char> a; f(a); } though 3.4 didn't accept it, it gave the same sorry, so it isn't a big regression. Reply at: https://bugs.launchpad.net/gcc/+bug/541425/comments/8 ------------------------------------------------------------------------ On 2011-03-04T22:24:30+00:00 Jason-gcc wrote: Created attachment 23550 WIP patch to accept my testcase Here's a patch that makes my testcase work. I don't want to put it in 4.6 because it produces mangling different from the EDG compiler, and want to clarify how it should mangle first. Reply at: https://bugs.launchpad.net/gcc/+bug/541425/comments/9 ------------------------------------------------------------------------ On 2011-03-04T22:30:16+00:00 Jason-gcc wrote: Created attachment 23551 WIP patch to make the testcase sorry as before And here's a patch that just restores the previous sorry behavior. Do you think it's worth applying this to 4.6? Reply at: https://bugs.launchpad.net/gcc/+bug/541425/comments/10 ** Changed in: gcc Importance: Unknown => Medium -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/541425 Title: [PR44629] internal compiler error in unify -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs