1*ea649623Srillig /* $NetBSD: msg_245.c,v 1.6 2023/03/28 14:44:35 rillig Exp $ */ 2f42ea02bSrillig # 3 "msg_245.c" 3f42ea02bSrillig 45f80ac5aSrillig // Test for message: incompatible structure pointers: '%s' '%s' '%s' [245] 5f42ea02bSrillig 6*ea649623Srillig /* lint1-extra-flags: -X 351 */ 7*ea649623Srillig 8b87000caSrillig typedef struct tag_and_typedef_tag { 9b87000caSrillig int member; 10b87000caSrillig } tag_and_typedef_typedef; 11b87000caSrillig 12b87000caSrillig struct only_tag { 13b87000caSrillig int member; 14b87000caSrillig }; 15b87000caSrillig 16b87000caSrillig typedef struct { 17b87000caSrillig int member; 18b87000caSrillig } only_typedef; 19b87000caSrillig 20b87000caSrillig struct { 21b87000caSrillig int member; 22b87000caSrillig } unnamed; 23b87000caSrillig 24b87000caSrillig void sink_bool(_Bool); 25b87000caSrillig 26b87000caSrillig void example(tag_and_typedef_typedef both,only_typedef only_typedef,struct only_tag only_tag)27b87000caSrilligexample(tag_and_typedef_typedef both, 28b87000caSrillig only_typedef only_typedef, 29b87000caSrillig struct only_tag only_tag) 30b87000caSrillig { 31124b8797Srillig /* expect+1: warning: incompatible structure pointers: 'pointer to struct tag_and_typedef_tag' '==' 'pointer to struct only_tag' [245] */ 32124b8797Srillig sink_bool(&both == &only_tag); 33124b8797Srillig /* expect+1: warning: incompatible structure pointers: 'pointer to struct tag_and_typedef_tag' '==' 'pointer to struct typedef only_typedef' [245] */ 34124b8797Srillig sink_bool(&both == &only_typedef); 35124b8797Srillig /* expect+1: warning: incompatible structure pointers: 'pointer to struct tag_and_typedef_tag' '==' 'pointer to struct <unnamed>' [245] */ 36124b8797Srillig sink_bool(&both == &unnamed); 37b87000caSrillig } 38