1 1.3 rillig /* $NetBSD: msg_124.c,v 1.3 2021/01/24 10:50:42 rillig Exp $ */ 2 1.1 rillig # 3 "msg_124.c" 3 1.1 rillig 4 1.1 rillig // Test for message: illegal pointer combination, op %s [124] 5 1.1 rillig 6 1.2 rillig typedef void(*signal_handler)(int); 7 1.2 rillig 8 1.2 rillig typedef signal_handler(*sys_signal)(signal_handler); 9 1.2 rillig 10 1.2 rillig typedef int(*printflike)(const char *, ...) 11 1.2 rillig __attribute__((format(printf, 1, 2))); 12 1.2 rillig 13 1.2 rillig void 14 1.2 rillig example(int *ptr) 15 1.2 rillig { 16 1.3 rillig signal_handler handler = ptr; /* expect: 124 */ 17 1.3 rillig sys_signal signal = ptr; /* expect: 124 */ 18 1.3 rillig printflike printf = ptr; /* expect: 124 */ 19 1.3 rillig } 20 1.3 rillig 21 1.3 rillig void ok(_Bool); 22 1.3 rillig void not_ok(_Bool); 23 1.3 rillig 24 1.3 rillig void 25 1.3 rillig compare_pointers(const void *vp, const char *cp, const int *ip, 26 1.3 rillig signal_handler fp) 27 1.3 rillig { 28 1.3 rillig ok(vp == cp); 29 1.3 rillig ok(vp == ip); 30 1.3 rillig ok(vp == fp); 31 1.3 rillig not_ok(cp == ip); /* expect: 124 */ 32 1.3 rillig not_ok(cp == fp); /* expect: 124 */ 33 1.3 rillig ok(vp == (void *)0); 34 1.3 rillig ok(cp == (void *)0); 35 1.3 rillig ok(ip == (void *)0); 36 1.3 rillig ok(fp == (void *)0); 37 1.3 rillig ok(vp == 0); 38 1.3 rillig ok(cp == 0); 39 1.3 rillig ok(ip == 0); 40 1.3 rillig ok(fp == 0); 41 1.3 rillig ok(vp == 0L); 42 1.3 rillig ok(cp == 0L); 43 1.3 rillig ok(ip == 0L); 44 1.3 rillig ok(fp == 0L); 45 1.2 rillig } 46