------- Comment #13 from manu at gcc dot gnu dot org 2007-01-17 00:47 -------
#include <cassert>
template <typename Int, Int D>
void f(Int x) {
assert(0 <= x and x <= D);
}
int main() {
f<unsigned char, 2>(5);
f<signed char, 2>(5);
}
We don't emit a warning when instantiated as a signed char, so everything boils
down to having an option to disable the warning, doesn't it?
There is a patch pending review for that:
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01120.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11856