[Bug c++/63263] friend declaration of function template specialization gets confused when specialization was forward declared.

2016-09-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63263 Jonathan Wakely changed: What|Removed |Added Keywords||ice-on-valid-code Last reconfirmed|2

[Bug c++/63263] friend declaration of function template specialization gets confused when specialization was forward declared.

2014-12-13 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63263 Ville Voutilainen changed: What|Removed |Added Keywords||rejects-valid Status|UNC

[Bug c++/63263] friend declaration of function template specialization gets confused when specialization was forward declared.

2014-09-14 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63263 --- Comment #2 from Andrew Pinski --- With the trunk I get an ICE too: t.cc: In instantiation of ‘void f(T&, float&) [with T = B]’: t.cc:22:9: required from here t.cc:4:3: error: no matching function for call to ‘B::B(int)’ T(1); ^ t.cc:1

[Bug c++/63263] friend declaration of function template specialization gets confused when specialization was forward declared.

2014-09-14 Thread carlo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63263 --- Comment #1 from Carlo Wood --- Guess the float isn't needed: template void f(T&) { T(1); } struct B; template<> void f(B&) { } struct B { friend void f(B&); }; void g() { B b; f(b); }