modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/20000211-1.c (about) 1 typedef __SIZE_TYPE__ size_t; 2 typedef unsigned char Bufbyte; 3 typedef int Bytecount; 4 typedef int Charcount; 5 typedef struct lstream Lstream; 6 typedef int Lisp_Object; 7 extern Lisp_Object Qnil; 8 extern inline int 9 TRUE_LIST_P (Lisp_Object object) 10 { 11 return (( object ) == ( Qnil )) ; 12 } 13 struct Lisp_String 14 { 15 Bytecount _size; 16 Bufbyte *_data; 17 }; 18 typedef enum lstream_buffering 19 { 20 LSTREAM_LINE_BUFFERED, 21 } Lstream_buffering; 22 struct lstream 23 { 24 Lstream_buffering buffering; 25 unsigned char *out_buffer; 26 size_t out_buffer_size; 27 size_t out_buffer_ind; 28 size_t byte_count; 29 long flags; 30 char data[1]; 31 }; 32 typedef struct printf_spec printf_spec; 33 struct printf_spec 34 { 35 }; 36 typedef union printf_arg printf_arg; 37 union printf_arg 38 { 39 }; 40 typedef struct 41 { 42 int cur; 43 } printf_spec_dynarr; 44 typedef struct 45 { 46 } printf_arg_dynarr; 47 static void 48 doprnt_1 (Lisp_Object stream, const Bufbyte *string, Bytecount len, 49 Charcount minlen, Charcount maxlen, int minus_flag, int zero_flag) 50 { 51 Charcount cclen; 52 Bufbyte pad; 53 Lstream *lstr = (( struct lstream *) ((void *)(((( stream ) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) ; 54 cclen = ( len ) ; 55 if (zero_flag) 56 pad = '0'; 57 pad = ' '; 58 #if 0 59 if (minlen > cclen && !minus_flag) 60 #endif 61 { 62 int to_add = minlen - cclen; 63 while (to_add > 0) 64 { 65 (( lstr )->out_buffer_ind >= ( lstr )->out_buffer_size ? Lstream_fputc ( lstr , pad ) : (( lstr )->out_buffer[( lstr )->out_buffer_ind++] = (unsigned char) ( pad ), ( lstr )->byte_count++, ( lstr )->buffering == LSTREAM_LINE_BUFFERED && ( lstr )->out_buffer[( lstr )->out_buffer_ind - 1] == '\n' ? Lstream_flush_out ( lstr ) : 0)) ; 66 to_add--; 67 } 68 } 69 if (maxlen >= 0) 70 len = ( ((( maxlen ) <= ( cclen )) ? ( maxlen ) : ( cclen )) ) ; 71 Lstream_write (lstr, string, len); 72 if (minlen > cclen && minus_flag) 73 { 74 int to_add = minlen - cclen; 75 while (to_add > 0) 76 { 77 (( lstr )->out_buffer_ind >= ( lstr )->out_buffer_size ? Lstream_fputc ( lstr , pad ) : (( lstr )->out_buffer[( lstr )->out_buffer_ind++] = (unsigned char) ( pad ), ( lstr )->byte_count++, ( lstr )->buffering == LSTREAM_LINE_BUFFERED && ( lstr )->out_buffer[( lstr )->out_buffer_ind - 1] == '\n' ? Lstream_flush_out ( lstr ) : 0)) ; 78 to_add--; 79 } 80 } 81 } 82 static Bytecount 83 emacs_doprnt_1 (Lisp_Object stream, const Bufbyte *format_nonreloc, 84 Lisp_Object format_reloc, Bytecount format_length, 85 int nargs, 86 const Lisp_Object *largs) 87 { 88 int i; 89 printf_spec_dynarr *specs = 0; 90 format_nonreloc = (( (( struct Lisp_String *) ((void *)(((( format_reloc ) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) )->_data + 0) ; 91 format_length = (( (( struct Lisp_String *) ((void *)(((( format_reloc ) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) )->_size) ; 92 specs = parse_doprnt_spec (format_nonreloc, format_length); 93 for (i = 0; i < (( specs )->cur) ; i++) 94 { 95 char ch; 96 doprnt_1 (stream, (Bufbyte *) &ch, 1, 0, -1, 0, 0); 97 } 98 }