/* { dg-options "-fshow-column -Wall -Wfloat-equal -pedantic" } */ int i, j; float a, b; int *p; struct { int a; char b; } *q; extern void bar(); void foo (void) { if (a == b) /* { dg-warning "9:comparing floating point with" } */ bar (); if (p < q) /* { dg-warning "9:comparison of distinct pointer types" } */ bar (); if (&p == 0) /* { dg-warning "10:comparison will always evaluate as 'false'" } */ bar(); if (p == 4) /* { dg-warning "9:comparison between pointer and integer" } */ bar(); if (p < 0) /* { dg-warning "9:ordered comparison of pointer with" } */ bar(); -q; /* { dg-error "3:wrong type argument to unary" } */ ~q; /* { dg-error "3:wrong type argument to bit" } */ ++*q; /* { dg-error "3:wrong type argument to increment" } */ i = j / 0; /* { dg-warning "9:division by zero" } */ i /= 0; /* { dg-warning "5:division by zero" } */ }