Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/wrappers/pr88680.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line source
// { dg-do compile { target c++11 } } // { dg-options "-Wtype-limits -fno-short-enums" } const unsigned N = 8; const unsigned P = 0; enum { FOO, BAR }; static_assert (N >= 0 && N % 2 == 0, ""); static_assert (FOO >= 0, ""); static_assert (FOO >= FOO, ""); static_assert (FOO >= P, ""); static_assert (BAR >= P, ""); static_assert (N >= FOO, ""); void test(unsigned n) { if (N >= 0 && N % 2 == 0) return; if (FOO >= 0) return; if (FOO >= FOO) return; if (FOO >= P) return; if (BAR >= P) return; if (N >= FOO) return; if (n >= 0) // { dg-warning "'>= 0' is always true" } return; if (n < 0) // { dg-warning "'< 0' is always false" } return; if (n >= FOO) return; if (n < FOO) return; if (N >= 0) return; if (N < 0) return; if (N >= FOO) return; if (N < FOO) return; if (0 <= FOO) return; if (0 <= n) // { dg-warning "'>= 0' is always true" } return; if (0 > n) // { dg-warning "'< 0' is always false" } return; if (N <= FOO) return; if (N <= n) return; }