/* PR c/59846 */
/* { dg-do compile } */
/* { dg-options "-Wlogical-op -Wtype-limits" } */

_Bool
fn1 (unsigned int p)
{
  return 0ULL > p; /* { dg-warning "15:comparison is always false due to limited range of data type" } */
}

_Bool
fn2 (unsigned int p)
{
  return 0ULL <= p; /* { dg-warning "15:comparison is always true due to limited range of data type" } */
}

_Bool
fn3 (unsigned int p)
{
  return p >= 0U; /* { dg-warning "12:comparison of unsigned expression in '>= 0' is always true" } */
}

_Bool
fn4 (unsigned int p)
{
  return p < 0U; /* { dg-warning "12:comparison of unsigned expression in '< 0' is always false" } */
}

_Bool
fn5 (_Bool p)
{
  return p || !p; /* { dg-warning "12:logical" } */
}

_Bool
fn6 (_Bool p)
{
  return p && !p; /* { dg-warning "12:logical" } */
}
