1 1.7 rillig # $NetBSD: emit.ln,v 1.7 2024/11/05 04:53:28 rillig Exp $ 2 1.1 rillig # 3 1.1 rillig # Test emitting a lint library file. 4 1.1 rillig 5 1.1 rillig # Extracted from ../lint1/emit.exp-ln. 6 1.2 rillig 0 s emit.c 7 1.1 rillig S emit.c 8 1.1 rillig 9 1.1 rillig # Global variables that are declared using 'extern' are not part of a 10 1.1 rillig # library's interface, therefore they are omitted from the output. 11 1.1 rillig 101 d 0.101 e 12extern__Bool B 12 1.1 rillig 13 1.1 rillig # Global variables that are defined, not only declared, are part of a 14 1.1 rillig # library's interface. 15 1.1 rillig 106 d 0.106 t 11defined_int I 16 1.1 rillig 17 1.1 rillig # Referring to an anonymous tagged type forces the source file to be listed as 18 1.5 rillig # part of the library. If it weren't listed, the diagnostics from lint2 would 19 1.5 rillig # not be able to refer to the location where this type has been defined. 20 1.1 rillig 97 d 0.97 e 21extern_anonymous_enum eT395.0.0 21 1.1 rillig 22 1.1 rillig # Function declarations, as opposed to function definitions, are not part of a 23 1.1 rillig # library's interface, therefore they are omitted from the output. 24 1.1 rillig 121 d 0.121 e 30return_void_unknown_parameters F V 25 1.1 rillig 122 d 0.122 e 38return_implicit_int_unknown_parameters F I 26 1.2 rillig 125 d 0.125 e 32extern_return_void_no_parameters F0 V 27 1.1 rillig 28 1.6 rillig # Function calls are written as 'c'. They are not part of a library's 29 1.6 rillig # interface, therefore they are omitted from the output. 30 1.2 rillig 161 c 0.161 s2"%" i 9my_printf f2 PcC PC V 31 1.1 rillig 32 1.1 rillig # Function definitions are copied to the output. 33 1.1 rillig 159 d 0.159 d 14cover_outqchar F0 V 34 1.1 rillig 35 1.1 rillig # Taken from ../lint1/expr_promote.exp-ln. 36 1.2 rillig 0 s expr_promote.c 37 1.1 rillig S expr_promote.c 38 1.1 rillig 39 1.1 rillig 10 d 0.10 e 4sink F2 PcC E V 40 1.1 rillig 58 c 0.58 i 4sink f20 PcC B I I I I I I uI L uL Q uQ D D lD sX X lX eT331.0.0 V 41 1.1 rillig 37 d 0.37 d 6caller F1 PsT116arithmetic_types V 42 1.3 rillig 43 1.3 rillig # Emit all basic types. 44 1.3 rillig 0 d 0.0 d 9var__Bool B 45 1.3 rillig 0 d 0.0 d 14var_plain_char C 46 1.3 rillig 0 d 0.0 d 15var_signed_char sC 47 1.3 rillig 0 d 0.0 d 17var_unsigned_char uC 48 1.3 rillig 0 d 0.0 d 16var_signed_short S 49 1.3 rillig 0 d 0.0 d 18var_unsigned_short uS 50 1.3 rillig 0 d 0.0 d 14var_signed_int I 51 1.3 rillig 0 d 0.0 d 16var_unsigned_int uI 52 1.3 rillig 0 d 0.0 d 15var_signed_long L 53 1.3 rillig 0 d 0.0 d 17var_unsigned_long uL 54 1.3 rillig 0 d 0.0 d 20var_signed_long_long Q 55 1.3 rillig 0 d 0.0 d 22var_unsigned_long_long uQ 56 1.7 rillig # see emit_lp64.c for __int128_t 57 1.7 rillig # see emit_lp64.c for __uint128_t 58 1.3 rillig 0 d 0.0 d 9var_float sD 59 1.3 rillig 0 d 0.0 d 10var_double D 60 1.3 rillig 0 d 0.0 d 15var_long_double lD 61 1.3 rillig 0 d 0.0 d 19var_pointer_to_void PV 62 1.3 rillig 0 d 0.0 d 14var_struct_tag sT1 10struct_tag 63 1.3 rillig 0 d 0.0 d 18var_struct_typedef sT2 14struct_typedef 64 1.3 rillig 0 d 0.0 d 20var_struct_anonymous sT3 0.0.0 65 1.3 rillig 0 d 0.0 d 13var_union_tag uT1 9union_tag 66 1.3 rillig 0 d 0.0 d 17var_union_typedef uT2 13union_typedef 67 1.3 rillig 0 d 0.0 d 19var_union_anonymous uT3 0.0.0 68 1.3 rillig 0 d 0.0 d 12var_enum_tag eT1 8enum_tag 69 1.3 rillig 0 d 0.0 d 16var_enum_typedef eT2 12enum_typedef 70 1.3 rillig 0 d 0.0 d 18var_enum_anonymous eT3 0.0.0 71 1.3 rillig 0 d 0.0 d 18var_pointer_to_int PI 72 1.3 rillig 0 d 0.0 d 19var_array_of_double A7D 73 1.3 rillig 0 d 0.0 d 33var_pointer_to_old_style_function P F I 74 1.3 rillig 0 d 0.0 d 37var_pointer_to_parameterless_function P F0 I 75 1.3 rillig 0 d 0.0 d 33var_pointer_to_prototype_function P F2 PcvC I I 76 1.3 rillig 0 d 0.0 d 31var_pointer_to_varargs_function P F3 PcC I E I 77 1.3 rillig 0 d 0.0 d 17var_float_complex sX 78 1.3 rillig 0 d 0.0 d 18var_double_complex X 79 1.3 rillig 0 d 0.0 d 23var_long_double_complex lX 80 1.3 rillig 81 1.3 rillig 0 d 0.0 d 28func_old_style_parameterless f0 D 82 1.3 rillig 0 d 0.0 d 25func_old_style_parameters f2 PC I D 83 1.3 rillig 0 d 0.0 v1 d 12func_varargs F2 PC E I 84 1.3 rillig 0 d 0.0 v1 P1 d 15func_printflike f1 PC I 85 1.3 rillig 0 d 0.0 v1 S1 d 14func_scanflike f1 PC I 86 1.4 rillig 87 1.4 rillig # old_style_void() {} 88 1.4 rillig 0 d 0.0 d o 14old_style_void f0 I 89 1.4 rillig # old_style_int() { return 1; } 90 1.4 rillig 0 d 0.0 d r o 13old_style_int f0 I 91 1.4 rillig 92 1.3 rillig # TODO: find out how traditional C defined a varargs function 93