xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_004.c (revision cd4ee416b8ecb6a5d3739b2d808bd6e8e4173867)
1*cd4ee416Srillig /*	$NetBSD: msg_004.c,v 1.9 2024/11/30 11:27:20 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_004.c"
3a0a15c14Srillig 
4a0a15c14Srillig // Test for message: illegal type combination [4]
51772ff8aSrillig //
61772ff8aSrillig // See also:
71772ff8aSrillig //	msg_005.c
8a0a15c14Srillig 
9b2baa501Srillig /* lint1-extra-flags: -X 351 */
10b2baa501Srillig 
11d0015532Srillig // Lint does not detect "two or more data types", but GCC does.
12ad4fbc25Srillig signed double signed_double;
13ad4fbc25Srillig 
14ad4fbc25Srillig int ok_int;
15ad4fbc25Srillig double ok_double;
16ad4fbc25Srillig float _Complex ok_float_complex;
17ad4fbc25Srillig 
18aba9ec72Srillig /* expect+2: error: invalid type for _Complex [308] */
19aba9ec72Srillig /* expect+1: error: illegal type combination [4] */
20aba9ec72Srillig int _Complex illegal_int_complex;
21ad4fbc25Srillig 
22ad4fbc25Srillig char enum {
23ad4fbc25Srillig 	CHAR
24aba9ec72Srillig };
25aba9ec72Srillig /* expect-1: error: illegal type combination [4] */
26ad4fbc25Srillig 
27ad4fbc25Srillig long struct {
28ad4fbc25Srillig 	int member;
29aba9ec72Srillig };
30aba9ec72Srillig /* expect-1: error: illegal type combination [4] */
31*cd4ee416Srillig 
32*cd4ee416Srillig struct str {
33*cd4ee416Srillig };
34*cd4ee416Srillig /* expect+1: error: illegal type combination [4] */
35*cd4ee416Srillig struct str int struct_str_int;
36*cd4ee416Srillig 
37*cd4ee416Srillig /* expect+1: error: illegal type combination [4] */
38*cd4ee416Srillig unsigned signed int unsigned_signed_int;
39*cd4ee416Srillig 
40*cd4ee416Srillig /* expect+1: error: illegal type combination [4] */
41*cd4ee416Srillig unsigned unsigned int unsigned_unsigned_int;
42*cd4ee416Srillig 
43*cd4ee416Srillig /* expect+1: error: illegal type combination [4] */
44*cd4ee416Srillig long long long int long_long_long_int;
45*cd4ee416Srillig 
46*cd4ee416Srillig /* expect+1: error: illegal type combination [4] */
47*cd4ee416Srillig short double short_double;
48*cd4ee416Srillig 
49*cd4ee416Srillig double short double_short;
50*cd4ee416Srillig 
51*cd4ee416Srillig /* expect+1: error: illegal type combination [4] */
52*cd4ee416Srillig char double short char_double_short;
53