1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid test() { 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao void *vp; 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao int *ip; 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao char *cp; 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao struct foo *fp; 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao struct bar *bp; 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao short sint = 7; 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao if (ip < cp) {} // expected-warning {{comparison of distinct pointer types ('int *' and 'char *')}} 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao if (cp < fp) {} // expected-warning {{comparison of distinct pointer types ('char *' and 'struct foo *')}} 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao if (fp < bp) {} // expected-warning {{comparison of distinct pointer types ('struct foo *' and 'struct bar *')}} 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao if (ip < 7) {} // expected-warning {{comparison between pointer and integer ('int *' and 'int')}} 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao if (sint < ip) {} // expected-warning {{comparison between pointer and integer ('int' and 'int *')}} 16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao if (ip == cp) {} // expected-warning {{comparison of distinct pointer types ('int *' and 'char *')}} 17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 18