diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/warn/Wdiv-by-zero-bogus.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/warn/Wdiv-by-zero-bogus.C | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/warn/Wdiv-by-zero-bogus.C b/gcc-4.9/gcc/testsuite/g++.dg/warn/Wdiv-by-zero-bogus.C new file mode 100644 index 000000000..2157df30c --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/warn/Wdiv-by-zero-bogus.C @@ -0,0 +1,30 @@ +// PR c++/52299 + +template<unsigned x> +struct test0 { + static const unsigned a_ + = x ? 10 / x : 10; +}; + +template<unsigned x> +struct test1 { + static const unsigned a_ + = !x ? 10 : 10 / x; +}; + +template<bool x> +struct test2 { + static const unsigned a_ + = x ? 10 / x : 10; +}; + +template<bool x> +struct test3 { + static const unsigned a_ + = !x ? 10 : 10 / x; +}; + +unsigned i0 = test0<0>::a_; +unsigned i1 = test1<0>::a_; +unsigned i2 = test2<false>::a_; +unsigned i3 = test3<false>::a_; |