Home | History | Annotate | Line # | Download | only in lint1
msg_124.c revision 1.8
      1  1.8  rillig /*	$NetBSD: msg_124.c,v 1.8 2021/02/28 12:40:00 rillig Exp $	*/
      2  1.1  rillig # 3 "msg_124.c"
      3  1.1  rillig 
      4  1.8  rillig // Test for message: illegal pointer combination (%s) and (%s), op %s [124]
      5  1.1  rillig 
      6  1.4  rillig /* lint1-extra-flags: -s */
      7  1.4  rillig 
      8  1.2  rillig typedef void(*signal_handler)(int);
      9  1.2  rillig 
     10  1.2  rillig typedef signal_handler(*sys_signal)(signal_handler);
     11  1.2  rillig 
     12  1.2  rillig typedef int(*printflike)(const char *, ...)
     13  1.2  rillig     __attribute__((format(printf, 1, 2)));
     14  1.2  rillig 
     15  1.2  rillig void
     16  1.2  rillig example(int *ptr)
     17  1.2  rillig {
     18  1.3  rillig 	signal_handler handler = ptr;	/* expect: 124 */
     19  1.3  rillig 	sys_signal signal = ptr;	/* expect: 124 */
     20  1.3  rillig 	printflike printf = ptr;	/* expect: 124 */
     21  1.3  rillig }
     22  1.3  rillig 
     23  1.3  rillig void ok(_Bool);
     24  1.3  rillig void not_ok(_Bool);
     25  1.3  rillig 
     26  1.3  rillig void
     27  1.3  rillig compare_pointers(const void *vp, const char *cp, const int *ip,
     28  1.3  rillig 		 signal_handler fp)
     29  1.3  rillig {
     30  1.3  rillig 	ok(vp == cp);
     31  1.3  rillig 	ok(vp == ip);
     32  1.4  rillig 	ok(vp == fp);		/* expect: 274 */
     33  1.3  rillig 	not_ok(cp == ip);	/* expect: 124 */
     34  1.3  rillig 	not_ok(cp == fp);	/* expect: 124 */
     35  1.3  rillig 	ok(vp == (void *)0);
     36  1.3  rillig 	ok(cp == (void *)0);
     37  1.3  rillig 	ok(ip == (void *)0);
     38  1.7  rillig 	ok(fp == (void *)0);	/* wrong 274 before 2021-01-25 */
     39  1.5  rillig 	ok((void *)0 == vp);
     40  1.5  rillig 	ok((void *)0 == cp);
     41  1.5  rillig 	ok((void *)0 == ip);
     42  1.7  rillig 	ok((void *)0 == fp);	/* wrong 274 before 2021-01-25 */
     43  1.3  rillig 	ok(vp == 0);
     44  1.3  rillig 	ok(cp == 0);
     45  1.3  rillig 	ok(ip == 0);
     46  1.3  rillig 	ok(fp == 0);
     47  1.3  rillig 	ok(vp == 0L);
     48  1.3  rillig 	ok(cp == 0L);
     49  1.3  rillig 	ok(ip == 0L);
     50  1.3  rillig 	ok(fp == 0L);
     51  1.2  rillig }
     52