------- Comment #4 from jakub at gcc dot gnu dot org 2010-09-06 06:33 ------- In G++ 4.6+ you can do: int i; unsigned j;
template <class T> void bar (const T& t) { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wtype-limits" if (t < 0) #pragma GCC diagnostic pop { i++; } } void foo (void) { bar (i); bar (j); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45553