/* 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 >= 0 is always true" } */
}

_Bool
fn4 (unsigned int p)
{
  return p < 0U; /* { dg-warning "12:comparison of unsigned expression < 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" } */
}
