We are currently discussing this issue in the Core Working group of the ISO C++ committee. Currently there is not agreement that such an instantiation should be disallowed. In particular, the case of an overloaded operator that operates on enums is under consideration. In any case, there does not seem to be a mechanism to suppress this warning at the moment.
-- Summary: No flag to turn off warning: warning: template- argument `<anonymous enum>' uses anonymous type Product: gcc Version: 3.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mmarcus at emarcus dot org CC: gcc-bugs at gcc dot gnu dot org,gdr at integrable- solutions dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21701