http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52875
Bug #: 52875 Summary: ADL failure + ICE in decltype Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: d...@boostpro.com Created attachment 27095 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27095 reproducer I get: y.cpp: In substitution of 'template<class T> decltype (swap(x.a, y.a)) swap(T&, T&) [with T = A]': y.cpp:11:17: required by substitution of 'template<class T> decltype (swap(x.a, y.a)) swap(T&, T&) [with T = B]' y.cpp:20:14: required from here y.cpp:11:17: error: 'swap' was not declared in this scope y.cpp:11:17: note: suggested alternative: y.cpp:11:17: note: 'swap' y.cpp: In substitution of 'template<class T> decltype (swap(x.a, y.a)) swap(T&, T&) [with T = A]': y.cpp:11:17: required from here y.cpp:11:17: error: 'swap' was not declared in this scope y.cpp:11:17: note: suggested alternative: y.cpp:11:17: note: 'swap' ' Internal compiler error: Error reporting routines re-entered. Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.