xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_005.c (revision 1772ff8ac7d52f07d82835d057d280d38fa7819c)
1*1772ff8aSrillig /*	$NetBSD: msg_005.c,v 1.6 2024/05/04 06:52:17 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_005.c"
3a0a15c14Srillig 
4a0a15c14Srillig // Test for message: modifying typedef with '%s'; only qualifiers allowed [5]
5a0a15c14Srillig 
6*1772ff8aSrillig typedef char char_alias;
7*1772ff8aSrillig typedef signed char schar_alias;
8*1772ff8aSrillig typedef unsigned char uchar_alias;
9*1772ff8aSrillig typedef short short_alias;
10*1772ff8aSrillig typedef unsigned short ushort_alias;
11*1772ff8aSrillig typedef int int_alias;
12*1772ff8aSrillig typedef unsigned int uint_alias;
13*1772ff8aSrillig typedef long long_alias;
14*1772ff8aSrillig typedef unsigned long ulong_alias;
15*1772ff8aSrillig typedef long long llong_alias;
16*1772ff8aSrillig typedef unsigned long long ullong_alias;
17*1772ff8aSrillig typedef float float_alias;
18*1772ff8aSrillig typedef double double_alias;
19*1772ff8aSrillig typedef long double ldouble_alias;
20*1772ff8aSrillig typedef float _Complex fcomplex_alias;
21*1772ff8aSrillig typedef double _Complex dcomplex_alias;
22*1772ff8aSrillig typedef long double _Complex lcomplex_alias;
239eaee71dSrillig 
249eaee71dSrillig /* expect+1: warning: modifying typedef with 'signed'; only qualifiers allowed [5] */
25*1772ff8aSrillig typedef char_alias signed err_s_char;
269eaee71dSrillig /* expect+1: warning: modifying typedef with 'unsigned'; only qualifiers allowed [5] */
27*1772ff8aSrillig typedef char_alias unsigned err_u_char;
28*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
29*1772ff8aSrillig typedef schar_alias signed err_s_schar;
30*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
31*1772ff8aSrillig typedef schar_alias unsigned err_u_schar;
32*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
33*1772ff8aSrillig typedef uchar_alias signed err_s_uchar;
34*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
35*1772ff8aSrillig typedef uchar_alias unsigned err_u_uchar;
36*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'signed'; only qualifiers allowed [5] */
37*1772ff8aSrillig typedef short_alias signed err_s_short;
38*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'unsigned'; only qualifiers allowed [5] */
39*1772ff8aSrillig typedef short_alias unsigned err_u_short;
40*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
41*1772ff8aSrillig typedef ushort_alias signed err_s_ushort;
42*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
43*1772ff8aSrillig typedef ushort_alias unsigned err_u_ushort;
44*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'signed'; only qualifiers allowed [5] */
45*1772ff8aSrillig typedef int_alias signed err_s_int;
46*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'unsigned'; only qualifiers allowed [5] */
47*1772ff8aSrillig typedef int_alias unsigned err_u_int;
48*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
49*1772ff8aSrillig typedef uint_alias signed err_s_uint;
50*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
51*1772ff8aSrillig typedef uint_alias unsigned err_u_uint;
52*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'signed'; only qualifiers allowed [5] */
53*1772ff8aSrillig typedef long_alias signed err_s_long;
54*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'unsigned'; only qualifiers allowed [5] */
55*1772ff8aSrillig typedef long_alias unsigned err_u_long;
56*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
57*1772ff8aSrillig typedef ulong_alias signed err_s_ulong;
58*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
59*1772ff8aSrillig typedef ulong_alias unsigned err_u_ulong;
60*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'signed'; only qualifiers allowed [5] */
61*1772ff8aSrillig typedef llong_alias signed err_s_llong;
62*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'unsigned'; only qualifiers allowed [5] */
63*1772ff8aSrillig typedef llong_alias unsigned err_u_llong;
64*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
65*1772ff8aSrillig typedef ullong_alias signed err_s_ullong;
66*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
67*1772ff8aSrillig typedef ullong_alias unsigned err_u_ullong;
68*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
69*1772ff8aSrillig typedef float_alias signed err_s_float;
70*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
71*1772ff8aSrillig typedef float_alias unsigned err_u_float;
72*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
73*1772ff8aSrillig typedef double_alias signed err_s_double;
74*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
75*1772ff8aSrillig typedef double_alias unsigned err_u_double;
76*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
77*1772ff8aSrillig typedef ldouble_alias signed err_s_ldouble;
78*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
79*1772ff8aSrillig typedef ldouble_alias unsigned err_u_ldouble;
80*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
81*1772ff8aSrillig typedef fcomplex_alias signed err_s_fcomplex;
82*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
83*1772ff8aSrillig typedef fcomplex_alias unsigned err_u_fcomplex;
84*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
85*1772ff8aSrillig typedef dcomplex_alias signed err_s_dcomplex;
86*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
87*1772ff8aSrillig typedef dcomplex_alias unsigned err_u_dcomplex;
88*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
89*1772ff8aSrillig typedef lcomplex_alias signed err_s_lcomplex;
90*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
91*1772ff8aSrillig typedef lcomplex_alias unsigned err_u_lcomplex;
929eaee71dSrillig 
939eaee71dSrillig /* expect+1: warning: modifying typedef with 'short'; only qualifiers allowed [5] */
94*1772ff8aSrillig typedef int_alias short err_short_int;
95*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
96*1772ff8aSrillig typedef long_alias short err_short_long;
97*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
98*1772ff8aSrillig typedef float_alias short err_short_float;
999eaee71dSrillig 
100*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
101*1772ff8aSrillig typedef char_alias long err_l_char;
102*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
103*1772ff8aSrillig typedef schar_alias long err_l_schar;
104*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
105*1772ff8aSrillig typedef uchar_alias long err_l_uchar;
106*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
107*1772ff8aSrillig typedef short_alias long err_l_short;
108*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
109*1772ff8aSrillig typedef ushort_alias long err_l_ushort;
110c83f7defSrillig /* expect+1: warning: modifying typedef with 'long'; only qualifiers allowed [5] */
111*1772ff8aSrillig typedef int_alias long err_l_int;
112*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'long'; only qualifiers allowed [5] */
113*1772ff8aSrillig typedef uint_alias long err_l_uint;
114*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'long'; only qualifiers allowed [5] */
115*1772ff8aSrillig typedef long_alias long err_l_long;
116*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'long'; only qualifiers allowed [5] */
117*1772ff8aSrillig typedef ulong_alias long err_l_ulong;
118*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
119*1772ff8aSrillig typedef llong_alias long err_l_llong;
120*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
121*1772ff8aSrillig typedef ullong_alias long err_l_ullong;
122*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'long'; only qualifiers allowed [5] */
123*1772ff8aSrillig typedef float_alias long err_l_float;
124*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'long'; only qualifiers allowed [5] */
125*1772ff8aSrillig typedef double_alias long err_l_double;
126*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
127*1772ff8aSrillig typedef ldouble_alias long err_l_ldouble;
128*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
129*1772ff8aSrillig typedef fcomplex_alias long err_l_fcomplex;
130*1772ff8aSrillig /* expect+1: warning: modifying typedef with 'long'; only qualifiers allowed [5] */
131*1772ff8aSrillig typedef dcomplex_alias long err_l_dcomplex;
132*1772ff8aSrillig /* expect+1: error: illegal type combination [4] */
133*1772ff8aSrillig typedef lcomplex_alias long err_l_lcomplex;
134*1772ff8aSrillig 
1359eaee71dSrillig 
1369eaee71dSrillig /*
137*1772ff8aSrillig  * If the type qualifier comes before the type name, which would be the
138*1772ff8aSrillig  * natural order, the type name is interpreted as a new name, not as the one
139*1772ff8aSrillig  * referring to the typedef.  This makes the above type modifications even
140*1772ff8aSrillig  * more unlikely to be accidentally seen in practice.
1419eaee71dSrillig  */
1429eaee71dSrillig /* expect+1: error: syntax error 'prefix_long_number' [249] */
143*1772ff8aSrillig typedef long int_alias prefix_long_number;
1449eaee71dSrillig 
1459eaee71dSrillig /* Type qualifiers are OK. */
146*1772ff8aSrillig typedef int_alias const const_int;
147