1 1.9 rillig # $NetBSD: read.ln,v 1.9 2024/11/05 04:53:28 rillig Exp $ 2 1.1 rillig # 3 1.1 rillig # Cover each path of reading declarations, definitions and usages. 4 1.1 rillig 5 1.2 rillig 0 s read.c 6 1.2 rillig S read.c 7 1.1 rillig 8 1.1 rillig # Cover all tspec_t constants, in declaration order. 9 1.1 rillig # 10 1.1 rillig # The line numbers correspond to the constant values of tspec_t, 11 1.1 rillig # with the 128-bit types included. 12 1.1 rillig # 13 1.6 rillig # NO_TSPEC cannot occur in lint1 output. 14 1.1 rillig # SIGNED cannot occur in lint1 output. 15 1.1 rillig # UNSIGN cannot occur in lint1 output. 16 1.2 rillig 103 d 0.103 e 4f103 F0 B # BOOL _Bool f103(void); 17 1.2 rillig 104 d 0.104 e 4f104 F0 C # CHAR char f104(void); 18 1.2 rillig 105 d 0.105 e 4f105 F0 sC # SCHAR signed char f105(void); 19 1.2 rillig 106 d 0.106 e 4f106 F0 uC # UCHAR unsigned char f106(void); 20 1.2 rillig 107 d 0.107 e 4f107 F0 S # SHORT short f107(void); 21 1.2 rillig 108 d 0.108 e 4f108 F0 uS # USHORT unsigned short f108(void); 22 1.2 rillig 109 d 0.109 e 4f109 F0 I # INT int f109(void); 23 1.2 rillig 110 d 0.110 e 4f110 F0 uI # UINT unsigned int f110(void); 24 1.2 rillig 111 d 0.111 e 4f111 F0 L # LONG long f111(void); 25 1.2 rillig 112 d 0.112 e 4f112 F0 uL # ULONG unsigned long f112(void); 26 1.7 rillig 113 d 0.113 e 4f113 F0 Q # LLONG long long f113(void); 27 1.7 rillig 114 d 0.114 e 4f114 F0 uQ # ULLONG unsigned long long f114(void); 28 1.9 rillig # INT128 works only in 64-bit mode, see read_lp64.ln. 29 1.9 rillig # UINT128 works only in 64-bit mode, see read_lp64.ln. 30 1.2 rillig 117 d 0.117 e 4f117 F0 sD # FLOAT float f117(void); 31 1.2 rillig 118 d 0.118 e 4f118 F0 D # DOUBLE double f118(void); 32 1.2 rillig 119 d 0.119 e 4f119 F0 lD # LDOUBLE long double f119(void); 33 1.2 rillig 120 d 0.120 e 4f120 F0 V # VOID void f120(void); 34 1.2 rillig 121 d 0.121 e 4f121 F0 sT16tag121 # STRUCT struct tag121 f121(void); 35 1.2 rillig 122 d 0.122 e 4f122 F0 uT16tag122 # UNION union tag122 f122(void); 36 1.2 rillig 123 d 0.123 e 4f123 F0 eT16tag123 # ENUM enum tag123 f123(void); 37 1.2 rillig 124 d 0.124 e 4f124 F0 PV # PTR void * f124(void); 38 1.2 rillig 125 d 0.125 e 4a125 A7D # ARRAY extern double a125[7]; 39 1.2 rillig 126 d 0.126 e 4f126 F0 PF1DV # FUNC void (*f126(void))(double); 40 1.1 rillig # COMPLEX cannot occur in lint1 output. 41 1.2 rillig 127 d 0.127 e 4f127 F0 sX # FCOMPLEX float _Complex f127(void); 42 1.2 rillig 128 d 0.128 e 4f128 F0 X # COMPLEX double _Complex f128(void); 43 1.2 rillig 129 d 0.129 e 4f129 F0 lX # LCOMPLEX long double _Complex f129(void); 44 1.1 rillig 45 1.1 rillig # Tagged types (struct, union, enum) can have tags or typedefs or be 46 1.1 rillig # anonymous, but anonymous types are not usually used in external 47 1.1 rillig # declarations. 48 1.1 rillig # 49 1.1 rillig # struct s_tag f201(void); 50 1.2 rillig 201 d 0.201 e 4f201 F0 sT15s_tag 51 1.1 rillig # typedef struct {} s_def; 52 1.1 rillig # s_def f202(void); 53 1.2 rillig 202 d 0.202 e 4f202 F0 sT25s_def 54 1.1 rillig # struct { int member; } f203(void); 55 1.2 rillig 203 d 0.203 e 4f203 F0 sT3203.0.0 56 1.1 rillig 57 1.1 rillig # Type qualifiers 58 1.1 rillig # 59 1.1 rillig # void f301(const int *); 60 1.2 rillig 301 d 0.301 e 4f301 F1 PcI V 61 1.1 rillig # void f302(volatile int *); 62 1.2 rillig 302 d 0.302 e 4f302 F1 PvI V 63 1.1 rillig # void f302(const volatile int *); 64 1.2 rillig 303 d 0.303 e 4f303 F1 PcvI V 65 1.3 rillig 66 1.4 rillig # Taken from ../lint1/emit.exp-ln. 67 1.4 rillig 193 d 0.193 v0 d 15varargs_comment F1 PcC V 68 1.4 rillig 199 d 0.199 v0 d 17varargs_0_comment F1 PcC V 69 1.4 rillig 205 d 0.205 v3 d 17varargs_3_comment F4 I I I PcC V 70 1.8 rillig # The PRINTFLIKE information is only emitted if its parameter is > 0. 71 1.4 rillig 211 d 0.211 d 18printflike_comment F1 PcC V 72 1.4 rillig 217 d 0.217 d 20printflike_0_comment F1 PcC V 73 1.4 rillig 223 d 0.223 v3 P3 d 20printflike_3_comment F3 I I PcC V 74 1.4 rillig 229 d 0.229 v10 P10 d 21printflike_10_comment F10 I I I I I I I I I PcC V 75 1.8 rillig # The SCANFLIKE information is only emitted if its parameter is > 0. 76 1.4 rillig 237 d 0.237 d 17scanflike_comment F1 PcC V 77 1.4 rillig 243 d 0.243 d 19scanflike_0_comment F1 PcC V 78 1.4 rillig 249 d 0.249 v3 S3 d 19scanflike_3_comment F3 I I PcC V 79 1.5 rillig # 80 1.5 rillig 253 d 0.253 e 13used_function F0 V 81 1.5 rillig 258 c 0.258 i 13used_function f0 V 82 1.5 rillig # In a function definition, 'i' means 'inline'. 83 1.5 rillig 256 d 0.256 d i 15inline_function F0 V 84 1.5 rillig 85 1.5 rillig # In a function definition, 'r' means the function returns a value, in 86 1.5 rillig # contrast to having a mere 'return;' without any expression. 87 1.5 rillig # This distinction is mainly relevant for non-prototype functions. 88 1.5 rillig 254 d 0.254 d r 13used_function F0 I 89 1.5 rillig # In a function call, 'i' means 'return value ignored'. 90 1.5 rillig 262 c 0.262 i 13used_function f0 I 91 1.5 rillig # In a function call, 'd' means 'return value discarded'. 92 1.5 rillig 263 c 0.263 d 13used_function f0 I 93 1.5 rillig # In a function call, 'u' means 'return value used'. 94 1.5 rillig 264 c 0.264 u 13used_function f0 I 95 1.5 rillig # This function is 'inline' and 'has return value'. 96 1.5 rillig 260 d 0.260 d r i 15inline_function F0 I 97