Home | History | Annotate | Line # | Download | only in lint2
emit.ln revision 1.6.4.1
      1  1.6.4.1  perseant # $NetBSD: emit.ln,v 1.6.4.1 2025/08/02 05:58:19 perseant 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.6.4.1  perseant # see emit_lp64.c for __int128_t
     57  1.6.4.1  perseant # 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