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



--- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> 2012-12-04 10:47:38 
UTC ---

For the example of comment #3, clang compiles it happily, and comeau gives this

message:



"ComeauTest.c", line 12: error: type name is not allowed

    return f.template apply<T>(address);

                      ^



"ComeauTest.c", line 12: warning: ambiguous class member reference -- function

          template "factory::apply" (declared at line 3) used in preference to

          type "apply<T>::apply [with T=int]" (declared at line 9)

    return f.template apply<T>(address);

                      ^

          detected during instantiation of "void *apply<T>::operator()(const

                    FactoryT &, void *) const [with T=int, FactoryT=factory]"

                    at line 18

Reply via email to