1 # 1 "frontends/yasm/yasm.c"
2 # 1 "/root/ICEs/PRxxx/yasm-0.6.0//"
5 # 1 "frontends/yasm/yasm.c"
6 # 27 "frontends/yasm/yasm.c"
12 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/stdio.h" 1 3 4
13 # 14 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/stdio.h" 3 4
14 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stdarg.h" 1 3 4
15 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stdarg.h" 3 4
16 typedef __builtin_va_list __gnuc_va_list;
17 # 15 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/stdio.h" 2 3 4
21 # 1 "/usr/include/gentoo-multilib/x86/stdio.h" 1 3 4
22 # 28 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
23 # 1 "/usr/include/features.h" 1 3 4
27 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/gentoo-multilib/x86/features.h" 1 3 4
28 # 331 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/gentoo-multilib/x86/features.h" 3 4
29 # 1 "/usr/include/sys/cdefs.h" 1 3 4
33 # 1 "/usr/include/gentoo-multilib/x86/sys/cdefs.h" 1 3 4
34 # 324 "/usr/include/gentoo-multilib/x86/sys/cdefs.h" 3 4
35 # 1 "/usr/include/bits/wordsize.h" 1 3 4
39 # 1 "/usr/include/gentoo-multilib/x86/bits/wordsize.h" 1 3 4
40 # 5 "/usr/include/bits/wordsize.h" 2 3 4
41 # 325 "/usr/include/gentoo-multilib/x86/sys/cdefs.h" 2 3 4
42 # 5 "/usr/include/sys/cdefs.h" 2 3 4
43 # 332 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/gentoo-multilib/x86/features.h" 2 3 4
44 # 354 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/gentoo-multilib/x86/features.h" 3 4
45 # 1 "/usr/include/gnu/stubs.h" 1 3 4
49 # 1 "/usr/include/gentoo-multilib/x86/gnu/stubs.h" 1 3 4
53 # 1 "/usr/include/bits/wordsize.h" 1 3 4
57 # 1 "/usr/include/gentoo-multilib/x86/bits/wordsize.h" 1 3 4
58 # 5 "/usr/include/bits/wordsize.h" 2 3 4
59 # 5 "/usr/include/gentoo-multilib/x86/gnu/stubs.h" 2 3 4
62 # 1 "/usr/include/gnu/stubs-32.h" 1 3 4
66 # 1 "/usr/include/gentoo-multilib/x86/gnu/stubs-32.h" 1 3 4
67 # 5 "/usr/include/gnu/stubs-32.h" 2 3 4
68 # 8 "/usr/include/gentoo-multilib/x86/gnu/stubs.h" 2 3 4
69 # 5 "/usr/include/gnu/stubs.h" 2 3 4
70 # 355 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/gentoo-multilib/x86/features.h" 2 3 4
71 # 5 "/usr/include/features.h" 2 3 4
72 # 29 "/usr/include/gentoo-multilib/x86/stdio.h" 2 3 4
78 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
79 # 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 3 4
80 typedef unsigned int size_t;
81 # 35 "/usr/include/gentoo-multilib/x86/stdio.h" 2 3 4
83 # 1 "/usr/include/bits/types.h" 1 3 4
87 # 1 "/usr/include/gentoo-multilib/x86/bits/types.h" 1 3 4
88 # 27 "/usr/include/gentoo-multilib/x86/bits/types.h" 3 4
89 # 1 "/usr/include/features.h" 1 3 4
90 # 28 "/usr/include/gentoo-multilib/x86/bits/types.h" 2 3 4
91 # 1 "/usr/include/bits/wordsize.h" 1 3 4
95 # 1 "/usr/include/gentoo-multilib/x86/bits/wordsize.h" 1 3 4
96 # 5 "/usr/include/bits/wordsize.h" 2 3 4
97 # 29 "/usr/include/gentoo-multilib/x86/bits/types.h" 2 3 4
100 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
101 # 32 "/usr/include/gentoo-multilib/x86/bits/types.h" 2 3 4
104 typedef unsigned char __u_char;
105 typedef unsigned short int __u_short;
106 typedef unsigned int __u_int;
107 typedef unsigned long int __u_long;
110 typedef signed char __int8_t;
111 typedef unsigned char __uint8_t;
112 typedef signed short int __int16_t;
113 typedef unsigned short int __uint16_t;
114 typedef signed int __int32_t;
115 typedef unsigned int __uint32_t;
120 __extension__ typedef signed long long int __int64_t;
121 __extension__ typedef unsigned long long int __uint64_t;
129 __extension__ typedef long long int __quad_t;
130 __extension__ typedef unsigned long long int __u_quad_t;
131 # 134 "/usr/include/gentoo-multilib/x86/bits/types.h" 3 4
132 # 1 "/usr/include/bits/typesizes.h" 1 3 4
136 # 1 "/usr/include/gentoo-multilib/x86/bits/typesizes.h" 1 3 4
137 # 5 "/usr/include/bits/typesizes.h" 2 3 4
138 # 135 "/usr/include/gentoo-multilib/x86/bits/types.h" 2 3 4
141 __extension__ typedef __u_quad_t __dev_t;
142 __extension__ typedef unsigned int __uid_t;
143 __extension__ typedef unsigned int __gid_t;
144 __extension__ typedef unsigned long int __ino_t;
145 __extension__ typedef __u_quad_t __ino64_t;
146 __extension__ typedef unsigned int __mode_t;
147 __extension__ typedef unsigned int __nlink_t;
148 __extension__ typedef long int __off_t;
149 __extension__ typedef __quad_t __off64_t;
150 __extension__ typedef int __pid_t;
151 __extension__ typedef struct { int __val[2]; } __fsid_t;
152 __extension__ typedef long int __clock_t;
153 __extension__ typedef unsigned long int __rlim_t;
154 __extension__ typedef __u_quad_t __rlim64_t;
155 __extension__ typedef unsigned int __id_t;
156 __extension__ typedef long int __time_t;
157 __extension__ typedef unsigned int __useconds_t;
158 __extension__ typedef long int __suseconds_t;
160 __extension__ typedef int __daddr_t;
161 __extension__ typedef long int __swblk_t;
162 __extension__ typedef int __key_t;
165 __extension__ typedef int __clockid_t;
168 __extension__ typedef void * __timer_t;
171 __extension__ typedef long int __blksize_t;
176 __extension__ typedef long int __blkcnt_t;
177 __extension__ typedef __quad_t __blkcnt64_t;
180 __extension__ typedef unsigned long int __fsblkcnt_t;
181 __extension__ typedef __u_quad_t __fsblkcnt64_t;
184 __extension__ typedef unsigned long int __fsfilcnt_t;
185 __extension__ typedef __u_quad_t __fsfilcnt64_t;
187 __extension__ typedef int __ssize_t;
191 typedef __off64_t __loff_t;
192 typedef __quad_t *__qaddr_t;
193 typedef char *__caddr_t;
196 __extension__ typedef int __intptr_t;
199 __extension__ typedef unsigned int __socklen_t;
200 # 5 "/usr/include/bits/types.h" 2 3 4
201 # 37 "/usr/include/gentoo-multilib/x86/stdio.h" 2 3 4
202 # 45 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
207 typedef struct _IO_FILE FILE;
213 # 65 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
214 typedef struct _IO_FILE __FILE;
215 # 75 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
216 # 1 "/usr/include/libio.h" 1 3 4
220 # 1 "/usr/include/gentoo-multilib/x86/libio.h" 1 3 4
221 # 32 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
222 # 1 "/usr/include/_G_config.h" 1 3 4
226 # 1 "/usr/include/gentoo-multilib/x86/_G_config.h" 1 3 4
227 # 9 "/usr/include/gentoo-multilib/x86/_G_config.h" 3 4
228 # 1 "/usr/include/bits/types.h" 1 3 4
229 # 10 "/usr/include/gentoo-multilib/x86/_G_config.h" 2 3 4
234 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
235 # 326 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 3 4
237 # 355 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 3 4
238 typedef unsigned int wint_t;
239 # 15 "/usr/include/gentoo-multilib/x86/_G_config.h" 2 3 4
240 # 24 "/usr/include/gentoo-multilib/x86/_G_config.h" 3 4
241 # 1 "/usr/include/wchar.h" 1 3 4
245 # 1 "/usr/include/gentoo-multilib/x86/wchar.h" 1 3 4
246 # 48 "/usr/include/gentoo-multilib/x86/wchar.h" 3 4
247 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
248 # 49 "/usr/include/gentoo-multilib/x86/wchar.h" 2 3 4
250 # 1 "/usr/include/bits/wchar.h" 1 3 4
254 # 1 "/usr/include/gentoo-multilib/x86/bits/wchar.h" 1 3 4
255 # 5 "/usr/include/bits/wchar.h" 2 3 4
256 # 51 "/usr/include/gentoo-multilib/x86/wchar.h" 2 3 4
257 # 76 "/usr/include/gentoo-multilib/x86/wchar.h" 3 4
267 # 5 "/usr/include/wchar.h" 2 3 4
268 # 25 "/usr/include/gentoo-multilib/x86/_G_config.h" 2 3 4
280 # 44 "/usr/include/gentoo-multilib/x86/_G_config.h" 3 4
281 # 1 "/usr/include/gconv.h" 1 3 4
285 # 1 "/usr/include/gentoo-multilib/x86/gconv.h" 1 3 4
286 # 26 "/usr/include/gentoo-multilib/x86/gconv.h" 3 4
287 # 1 "/usr/include/features.h" 1 3 4
288 # 27 "/usr/include/gentoo-multilib/x86/gconv.h" 2 3 4
290 # 1 "/usr/include/wchar.h" 1 3 4
294 # 1 "/usr/include/gentoo-multilib/x86/wchar.h" 1 3 4
295 # 48 "/usr/include/gentoo-multilib/x86/wchar.h" 3 4
296 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
297 # 49 "/usr/include/gentoo-multilib/x86/wchar.h" 2 3 4
299 # 1 "/usr/include/bits/wchar.h" 1 3 4
300 # 51 "/usr/include/gentoo-multilib/x86/wchar.h" 2 3 4
301 # 5 "/usr/include/wchar.h" 2 3 4
302 # 29 "/usr/include/gentoo-multilib/x86/gconv.h" 2 3 4
305 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
306 # 32 "/usr/include/gentoo-multilib/x86/gconv.h" 2 3 4
321 __GCONV_ILLEGAL_INPUT,
322 __GCONV_INCOMPLETE_INPUT,
324 __GCONV_ILLEGAL_DESCRIPTOR,
325 __GCONV_INTERNAL_ERROR
332 __GCONV_IS_LAST = 0x0001,
333 __GCONV_IGNORE_ERRORS = 0x0002
339 struct __gconv_step_data;
340 struct __gconv_loaded_object;
341 struct __gconv_trans_data;
345 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
346 __const unsigned char **, __const unsigned char *,
347 unsigned char **, size_t *, int, int);
350 typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
353 typedef int (*__gconv_init_fct) (struct __gconv_step *);
354 typedef void (*__gconv_end_fct) (struct __gconv_step *);
358 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
359 struct __gconv_step_data *, void *,
360 __const unsigned char *,
361 __const unsigned char **,
362 __const unsigned char *, unsigned char **,
366 typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
367 __const unsigned char *,
368 unsigned char *, unsigned char *);
371 typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
375 typedef int (*__gconv_trans_init_fct) (void **, const char *);
376 typedef void (*__gconv_trans_end_fct) (void *);
378 struct __gconv_trans_data
381 __gconv_trans_fct __trans_fct;
382 __gconv_trans_context_fct __trans_context_fct;
383 __gconv_trans_end_fct __trans_end_fct;
385 struct __gconv_trans_data *__next;
392 struct __gconv_loaded_object *__shlib_handle;
393 __const char *__modname;
401 __gconv_btowc_fct __btowc_fct;
402 __gconv_init_fct __init_fct;
403 __gconv_end_fct __end_fct;
407 int __min_needed_from;
408 int __max_needed_from;
420 struct __gconv_step_data
422 unsigned char *__outbuf;
423 unsigned char *__outbufend;
431 int __invocation_counter;
437 __mbstate_t *__statep;
442 struct __gconv_trans_data *__trans;
447 typedef struct __gconv_info
450 struct __gconv_step *__steps;
451 __extension__ struct __gconv_step_data __data [];
453 # 5 "/usr/include/gconv.h" 2 3 4
454 # 45 "/usr/include/gentoo-multilib/x86/_G_config.h" 2 3 4
457 struct __gconv_info __cd;
460 struct __gconv_info __cd;
461 struct __gconv_step_data __data;
465 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
466 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
467 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
468 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
469 # 5 "/usr/include/_G_config.h" 2 3 4
470 # 33 "/usr/include/gentoo-multilib/x86/libio.h" 2 3 4
471 # 53 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
472 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stdarg.h" 1 3 4
473 # 54 "/usr/include/gentoo-multilib/x86/libio.h" 2 3 4
474 # 167 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
475 struct _IO_jump_t; struct _IO_FILE;
476 # 177 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
477 typedef void _IO_lock_t;
484 struct _IO_marker *_next;
485 struct _IO_FILE *_sbuf;
490 # 200 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
494 enum __codecvt_result
501 # 268 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
511 char* _IO_write_base;
518 char *_IO_backup_base;
521 struct _IO_marker *_markers;
523 struct _IO_FILE *_chain;
535 unsigned short _cur_column;
536 signed char _vtable_offset;
542 # 316 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
544 # 325 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
553 char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
558 typedef struct _IO_FILE _IO_FILE;
561 struct _IO_FILE_plus;
563 extern struct _IO_FILE_plus _IO_2_1_stdin_;
564 extern struct _IO_FILE_plus _IO_2_1_stdout_;
565 extern struct _IO_FILE_plus _IO_2_1_stderr_;
566 # 361 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
567 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
575 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
584 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
587 typedef int __io_close_fn (void *__cookie);
588 # 413 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
589 extern int __underflow (_IO_FILE *);
590 extern int __uflow (_IO_FILE *);
591 extern int __overflow (_IO_FILE *, int);
592 extern wint_t __wunderflow (_IO_FILE *);
593 extern wint_t __wuflow (_IO_FILE *);
594 extern wint_t __woverflow (_IO_FILE *, wint_t);
595 # 451 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
596 extern int _IO_getc (_IO_FILE *__fp);
597 extern int _IO_putc (int __c, _IO_FILE *__fp);
598 extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
599 extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
601 extern int _IO_peekc_locked (_IO_FILE *__fp);
607 extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
608 extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
609 extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
610 # 481 "/usr/include/gentoo-multilib/x86/libio.h" 3 4
611 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
612 __gnuc_va_list, int *__restrict);
613 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
615 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
616 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
618 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
619 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
621 extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
622 # 5 "/usr/include/libio.h" 2 3 4
623 # 76 "/usr/include/gentoo-multilib/x86/stdio.h" 2 3 4
624 # 89 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
627 typedef _G_fpos_t fpos_t;
632 # 141 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
633 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
637 # 1 "/usr/include/gentoo-multilib/x86/bits/stdio_lim.h" 1 3 4
638 # 5 "/usr/include/bits/stdio_lim.h" 2 3 4
639 # 142 "/usr/include/gentoo-multilib/x86/stdio.h" 2 3 4
643 extern struct _IO_FILE *stdin;
644 extern struct _IO_FILE *stdout;
645 extern struct _IO_FILE *stderr;
653 extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
655 extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
670 extern FILE *tmpfile (void) ;
671 # 186 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
672 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ;
678 extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ;
679 # 204 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
680 extern char *tempnam (__const char *__dir, __const char *__pfx)
681 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
690 extern int fclose (FILE *__stream);
695 extern int fflush (FILE *__stream);
697 # 229 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
698 extern int fflush_unlocked (FILE *__stream);
699 # 243 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
706 extern FILE *fopen (__const char *__restrict __filename,
707 __const char *__restrict __modes) ;
712 extern FILE *freopen (__const char *__restrict __filename,
713 __const char *__restrict __modes,
714 FILE *__restrict __stream) ;
715 # 272 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
717 # 283 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
718 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ;
719 # 304 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
723 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
727 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
728 int __modes, size_t __n) __attribute__ ((__nothrow__));
734 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
735 size_t __size) __attribute__ ((__nothrow__));
738 extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
747 extern int fprintf (FILE *__restrict __stream,
748 __const char *__restrict __format, ...);
753 extern int printf (__const char *__restrict __format, ...);
755 extern int sprintf (char *__restrict __s,
756 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
762 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
763 __gnuc_va_list __arg);
768 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
770 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
771 __gnuc_va_list __arg) __attribute__ ((__nothrow__));
777 extern int snprintf (char *__restrict __s, size_t __maxlen,
778 __const char *__restrict __format, ...)
779 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
781 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
782 __const char *__restrict __format, __gnuc_va_list __arg)
783 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
785 # 398 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
791 extern int fscanf (FILE *__restrict __stream,
792 __const char *__restrict __format, ...) ;
797 extern int scanf (__const char *__restrict __format, ...) ;
799 extern int sscanf (__const char *__restrict __s,
800 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
802 # 440 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
808 extern int fgetc (FILE *__stream);
809 extern int getc (FILE *__stream);
815 extern int getchar (void);
817 # 464 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
818 extern int getc_unlocked (FILE *__stream);
819 extern int getchar_unlocked (void);
820 # 475 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
821 extern int fgetc_unlocked (FILE *__stream);
833 extern int fputc (int __c, FILE *__stream);
834 extern int putc (int __c, FILE *__stream);
840 extern int putchar (int __c);
842 # 508 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
843 extern int fputc_unlocked (int __c, FILE *__stream);
851 extern int putc_unlocked (int __c, FILE *__stream);
852 extern int putchar_unlocked (int __c);
859 extern int getw (FILE *__stream);
862 extern int putw (int __w, FILE *__stream);
871 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
879 extern char *gets (char *__s) ;
881 # 589 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
887 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
893 extern int puts (__const char *__s);
900 extern int ungetc (int __c, FILE *__stream);
907 extern size_t fread (void *__restrict __ptr, size_t __size,
908 size_t __n, FILE *__restrict __stream) ;
913 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
914 size_t __n, FILE *__restrict __s) ;
916 # 642 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
917 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
918 size_t __n, FILE *__restrict __stream) ;
919 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
920 size_t __n, FILE *__restrict __stream) ;
929 extern int fseek (FILE *__stream, long int __off, int __whence);
934 extern long int ftell (FILE *__stream) ;
939 extern void rewind (FILE *__stream);
941 # 678 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
942 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
947 extern __off_t ftello (FILE *__stream) ;
948 # 697 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
955 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
960 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
961 # 720 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
963 # 729 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
966 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
968 extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
970 extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
975 extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
976 extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
977 extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
986 extern void perror (__const char *__s);
993 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
997 # 1 "/usr/include/gentoo-multilib/x86/bits/sys_errlist.h" 1 3 4
998 # 27 "/usr/include/gentoo-multilib/x86/bits/sys_errlist.h" 3 4
1000 extern __const char *__const sys_errlist[];
1001 # 5 "/usr/include/bits/sys_errlist.h" 2 3 4
1002 # 759 "/usr/include/gentoo-multilib/x86/stdio.h" 2 3 4
1007 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
1012 extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
1013 # 778 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
1014 extern FILE *popen (__const char *__command, __const char *__modes) ;
1020 extern int pclose (FILE *__stream);
1026 extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
1027 # 818 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
1028 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
1032 extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
1035 extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
1036 # 839 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
1037 # 1 "/usr/include/bits/stdio.h" 1 3 4
1041 # 1 "/usr/include/gentoo-multilib/x86/bits/stdio.h" 1 3 4
1042 # 33 "/usr/include/gentoo-multilib/x86/bits/stdio.h" 3 4
1044 vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
1046 return vfprintf (stdout, __fmt, __arg);
1053 return _IO_getc (stdin);
1060 fgetc_unlocked (FILE *__fp)
1062 return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1070 getc_unlocked (FILE *__fp)
1072 return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1077 getchar_unlocked (void)
1079 return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
1088 return _IO_putc (__c, stdout);
1095 fputc_unlocked (int __c, FILE *__stream)
1097 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1105 putc_unlocked (int __c, FILE *__stream)
1107 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1112 putchar_unlocked (int __c)
1114 return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
1116 # 121 "/usr/include/gentoo-multilib/x86/bits/stdio.h" 3 4
1118 __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
1120 return (((__stream)->_flags & 0x10) != 0);
1125 __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
1127 return (((__stream)->_flags & 0x20) != 0);
1129 # 5 "/usr/include/bits/stdio.h" 2 3 4
1130 # 840 "/usr/include/gentoo-multilib/x86/stdio.h" 2 3 4
1131 # 848 "/usr/include/gentoo-multilib/x86/stdio.h" 3 4
1133 # 19 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include-fixed/stdio.h" 2 3 4
1135 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stdarg.h" 1 3 4
1136 # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stdarg.h" 3 4
1137 typedef __gnuc_va_list va_list;
1140 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
1141 # 152 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 3 4
1142 typedef int ptrdiff_t;
1144 # 1 "/usr/include/stdlib.h" 1 3 4
1148 # 1 "/usr/include/gentoo-multilib/x86/stdlib.h" 1 3 4
1149 # 25 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
1150 # 1 "/usr/include/features.h" 1 3 4
1151 # 26 "/usr/include/gentoo-multilib/x86/stdlib.h" 2 3 4
1159 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
1160 # 34 "/usr/include/gentoo-multilib/x86/stdlib.h" 2 3 4
1163 # 96 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
1182 # 140 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
1183 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
1188 extern double atof (__const char *__nptr)
1189 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1191 extern int atoi (__const char *__nptr)
1192 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1194 extern long int atol (__const char *__nptr)
1195 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1201 __extension__ extern long long int atoll (__const char *__nptr)
1202 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1208 extern double strtod (__const char *__restrict __nptr,
1209 char **__restrict __endptr)
1210 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1212 # 182 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
1215 extern long int strtol (__const char *__restrict __nptr,
1216 char **__restrict __endptr, int __base)
1217 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1219 extern unsigned long int strtoul (__const char *__restrict __nptr,
1220 char **__restrict __endptr, int __base)
1221 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1227 extern long long int strtoq (__const char *__restrict __nptr,
1228 char **__restrict __endptr, int __base)
1229 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1232 extern unsigned long long int strtouq (__const char *__restrict __nptr,
1233 char **__restrict __endptr, int __base)
1234 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1241 extern long long int strtoll (__const char *__restrict __nptr,
1242 char **__restrict __endptr, int __base)
1243 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1246 extern unsigned long long int strtoull (__const char *__restrict __nptr,
1247 char **__restrict __endptr, int __base)
1248 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1250 # 279 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
1251 extern double __strtod_internal (__const char *__restrict __nptr,
1252 char **__restrict __endptr, int __group)
1253 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1254 extern float __strtof_internal (__const char *__restrict __nptr,
1255 char **__restrict __endptr, int __group)
1256 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1257 extern long double __strtold_internal (__const char *__restrict __nptr,
1258 char **__restrict __endptr,
1260 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1262 extern long int __strtol_internal (__const char *__restrict __nptr,
1263 char **__restrict __endptr,
1264 int __base, int __group)
1265 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1269 extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
1270 char **__restrict __endptr,
1271 int __base, int __group)
1272 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1278 extern long long int __strtoll_internal (__const char *__restrict __nptr,
1279 char **__restrict __endptr,
1280 int __base, int __group)
1281 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1286 extern unsigned long long int __strtoull_internal (__const char *
1288 char **__restrict __endptr,
1289 int __base, int __group)
1290 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1299 extern __inline double
1300 __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr)
1302 return __strtod_internal (__nptr, __endptr, 0);
1304 extern __inline long int
1305 __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1308 return __strtol_internal (__nptr, __endptr, __base, 0);
1310 extern __inline unsigned long int
1311 __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1314 return __strtoul_internal (__nptr, __endptr, __base, 0);
1317 # 364 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
1318 __extension__ extern __inline long long int
1319 __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1322 return __strtoll_internal (__nptr, __endptr, __base, 0);
1324 __extension__ extern __inline unsigned long long int
1325 __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1328 return __strtoull_internal (__nptr, __endptr, __base, 0);
1334 __extension__ extern __inline long long int
1335 __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1338 return __strtoll_internal (__nptr, __endptr, __base, 0);
1340 __extension__ extern __inline unsigned long long int
1341 __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base)
1344 return __strtoull_internal (__nptr, __endptr, __base, 0);
1350 extern __inline double
1351 __attribute__ ((__nothrow__)) atof (__const char *__nptr)
1353 return strtod (__nptr, (char **) ((void *)0));
1356 __attribute__ ((__nothrow__)) atoi (__const char *__nptr)
1358 return (int) strtol (__nptr, (char **) ((void *)0), 10);
1360 extern __inline long int
1361 __attribute__ ((__nothrow__)) atol (__const char *__nptr)
1363 return strtol (__nptr, (char **) ((void *)0), 10);
1369 __extension__ extern __inline long long int
1370 __attribute__ ((__nothrow__)) atoll (__const char *__nptr)
1372 return strtoll (__nptr, (char **) ((void *)0), 10);
1375 # 429 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
1376 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
1379 extern long int a64l (__const char *__s)
1380 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1385 # 1 "/usr/include/sys/types.h" 1 3 4
1389 # 1 "/usr/include/gentoo-multilib/x86/sys/types.h" 1 3 4
1390 # 27 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1391 # 1 "/usr/include/features.h" 1 3 4
1392 # 28 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1396 # 1 "/usr/include/bits/types.h" 1 3 4
1397 # 32 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1401 typedef __u_char u_char;
1402 typedef __u_short u_short;
1403 typedef __u_int u_int;
1404 typedef __u_long u_long;
1405 typedef __quad_t quad_t;
1406 typedef __u_quad_t u_quad_t;
1407 typedef __fsid_t fsid_t;
1412 typedef __loff_t loff_t;
1416 typedef __ino_t ino_t;
1417 # 62 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1418 typedef __dev_t dev_t;
1423 typedef __gid_t gid_t;
1428 typedef __mode_t mode_t;
1433 typedef __nlink_t nlink_t;
1438 typedef __uid_t uid_t;
1444 typedef __off_t off_t;
1445 # 100 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1446 typedef __pid_t pid_t;
1451 typedef __id_t id_t;
1456 typedef __ssize_t ssize_t;
1462 typedef __daddr_t daddr_t;
1463 typedef __caddr_t caddr_t;
1469 typedef __key_t key_t;
1470 # 133 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1471 # 1 "/usr/include/time.h" 1 3 4
1475 # 1 "/usr/include/gentoo-multilib/x86/time.h" 1 3 4
1476 # 73 "/usr/include/gentoo-multilib/x86/time.h" 3 4
1477 # 1 "/usr/include/bits/types.h" 1 3 4
1478 # 74 "/usr/include/gentoo-multilib/x86/time.h" 2 3 4
1482 typedef __time_t time_t;
1486 # 90 "/usr/include/gentoo-multilib/x86/time.h" 3 4
1487 # 1 "/usr/include/bits/types.h" 1 3 4
1488 # 91 "/usr/include/gentoo-multilib/x86/time.h" 2 3 4
1491 typedef __clockid_t clockid_t;
1492 # 102 "/usr/include/gentoo-multilib/x86/time.h" 3 4
1493 # 1 "/usr/include/bits/types.h" 1 3 4
1494 # 103 "/usr/include/gentoo-multilib/x86/time.h" 2 3 4
1497 typedef __timer_t timer_t;
1498 # 5 "/usr/include/time.h" 2 3 4
1499 # 134 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1500 # 147 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1501 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
1502 # 148 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1506 typedef unsigned long int ulong;
1507 typedef unsigned short int ushort;
1508 typedef unsigned int uint;
1509 # 195 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1510 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
1511 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
1512 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
1513 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
1516 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
1517 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
1518 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
1519 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
1521 typedef int register_t __attribute__ ((__mode__ (__word__)));
1522 # 217 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1523 # 1 "/usr/include/endian.h" 1 3 4
1527 # 1 "/usr/include/gentoo-multilib/x86/endian.h" 1 3 4
1528 # 22 "/usr/include/gentoo-multilib/x86/endian.h" 3 4
1529 # 1 "/usr/include/features.h" 1 3 4
1530 # 23 "/usr/include/gentoo-multilib/x86/endian.h" 2 3 4
1531 # 37 "/usr/include/gentoo-multilib/x86/endian.h" 3 4
1532 # 1 "/usr/include/bits/endian.h" 1 3 4
1536 # 1 "/usr/include/gentoo-multilib/x86/bits/endian.h" 1 3 4
1537 # 5 "/usr/include/bits/endian.h" 2 3 4
1538 # 38 "/usr/include/gentoo-multilib/x86/endian.h" 2 3 4
1539 # 5 "/usr/include/endian.h" 2 3 4
1540 # 218 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1543 # 1 "/usr/include/sys/select.h" 1 3 4
1547 # 1 "/usr/include/gentoo-multilib/x86/sys/select.h" 1 3 4
1548 # 25 "/usr/include/gentoo-multilib/x86/sys/select.h" 3 4
1549 # 1 "/usr/include/features.h" 1 3 4
1550 # 26 "/usr/include/gentoo-multilib/x86/sys/select.h" 2 3 4
1553 # 1 "/usr/include/bits/types.h" 1 3 4
1554 # 29 "/usr/include/gentoo-multilib/x86/sys/select.h" 2 3 4
1557 # 1 "/usr/include/bits/select.h" 1 3 4
1561 # 1 "/usr/include/gentoo-multilib/x86/bits/select.h" 1 3 4
1562 # 5 "/usr/include/bits/select.h" 2 3 4
1563 # 32 "/usr/include/gentoo-multilib/x86/sys/select.h" 2 3 4
1566 # 1 "/usr/include/bits/sigset.h" 1 3 4
1570 # 1 "/usr/include/gentoo-multilib/x86/bits/sigset.h" 1 3 4
1571 # 24 "/usr/include/gentoo-multilib/x86/bits/sigset.h" 3 4
1572 typedef int __sig_atomic_t;
1579 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
1581 # 5 "/usr/include/bits/sigset.h" 2 3 4
1582 # 35 "/usr/include/gentoo-multilib/x86/sys/select.h" 2 3 4
1586 typedef __sigset_t sigset_t;
1592 # 1 "/usr/include/time.h" 1 3 4
1596 # 1 "/usr/include/gentoo-multilib/x86/time.h" 1 3 4
1597 # 117 "/usr/include/gentoo-multilib/x86/time.h" 3 4
1598 # 1 "/usr/include/bits/types.h" 1 3 4
1599 # 118 "/usr/include/gentoo-multilib/x86/time.h" 2 3 4
1608 # 5 "/usr/include/time.h" 2 3 4
1609 # 45 "/usr/include/gentoo-multilib/x86/sys/select.h" 2 3 4
1611 # 1 "/usr/include/bits/time.h" 1 3 4
1615 # 1 "/usr/include/gentoo-multilib/x86/bits/time.h" 1 3 4
1616 # 65 "/usr/include/gentoo-multilib/x86/bits/time.h" 3 4
1617 # 1 "/usr/include/bits/types.h" 1 3 4
1618 # 66 "/usr/include/gentoo-multilib/x86/bits/time.h" 2 3 4
1625 __suseconds_t tv_usec;
1627 # 5 "/usr/include/bits/time.h" 2 3 4
1628 # 47 "/usr/include/gentoo-multilib/x86/sys/select.h" 2 3 4
1631 typedef __suseconds_t suseconds_t;
1637 typedef long int __fd_mask;
1638 # 67 "/usr/include/gentoo-multilib/x86/sys/select.h" 3 4
1647 __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];
1657 typedef __fd_mask fd_mask;
1658 # 99 "/usr/include/gentoo-multilib/x86/sys/select.h" 3 4
1660 # 109 "/usr/include/gentoo-multilib/x86/sys/select.h" 3 4
1661 extern int select (int __nfds, fd_set *__restrict __readfds,
1662 fd_set *__restrict __writefds,
1663 fd_set *__restrict __exceptfds,
1664 struct timeval *__restrict __timeout);
1665 # 121 "/usr/include/gentoo-multilib/x86/sys/select.h" 3 4
1666 extern int pselect (int __nfds, fd_set *__restrict __readfds,
1667 fd_set *__restrict __writefds,
1668 fd_set *__restrict __exceptfds,
1669 const struct timespec *__restrict __timeout,
1670 const __sigset_t *__restrict __sigmask);
1674 # 5 "/usr/include/sys/select.h" 2 3 4
1675 # 221 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1678 # 1 "/usr/include/sys/sysmacros.h" 1 3 4
1682 # 1 "/usr/include/gentoo-multilib/x86/sys/sysmacros.h" 1 3 4
1683 # 24 "/usr/include/gentoo-multilib/x86/sys/sysmacros.h" 3 4
1684 # 1 "/usr/include/features.h" 1 3 4
1685 # 25 "/usr/include/gentoo-multilib/x86/sys/sysmacros.h" 2 3 4
1692 extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
1693 __attribute__ ((__nothrow__));
1695 extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
1696 __attribute__ ((__nothrow__));
1698 extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
1699 unsigned int __minor)
1700 __attribute__ ((__nothrow__));
1703 __extension__ extern __inline unsigned int
1704 __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
1706 return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
1709 __extension__ extern __inline unsigned int
1710 __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
1712 return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
1715 __extension__ extern __inline unsigned long long int
1716 __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
1718 return ((__minor & 0xff) | ((__major & 0xfff) << 8)
1719 | (((unsigned long long int) (__minor & ~0xff)) << 12)
1720 | (((unsigned long long int) (__major & ~0xfff)) << 32));
1722 # 5 "/usr/include/sys/sysmacros.h" 2 3 4
1723 # 224 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1724 # 235 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1725 typedef __blkcnt_t blkcnt_t;
1729 typedef __fsblkcnt_t fsblkcnt_t;
1733 typedef __fsfilcnt_t fsfilcnt_t;
1734 # 270 "/usr/include/gentoo-multilib/x86/sys/types.h" 3 4
1735 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
1739 # 1 "/usr/include/gentoo-multilib/x86/bits/pthreadtypes.h" 1 3 4
1740 # 36 "/usr/include/gentoo-multilib/x86/bits/pthreadtypes.h" 3 4
1741 typedef unsigned long int pthread_t;
1751 typedef struct __pthread_internal_slist
1753 struct __pthread_internal_slist *__next;
1754 } __pthread_slist_t;
1761 struct __pthread_mutex_s
1764 unsigned int __count;
1769 unsigned int __nusers;
1773 __pthread_slist_t __list;
1784 } pthread_mutexattr_t;
1794 unsigned int __futex;
1795 __extension__ unsigned long long int __total_seq;
1796 __extension__ unsigned long long int __wakeup_seq;
1797 __extension__ unsigned long long int __woken_seq;
1799 unsigned int __nwaiters;
1800 unsigned int __broadcast_seq;
1803 __extension__ long long int __align;
1810 } pthread_condattr_t;
1814 typedef unsigned int pthread_key_t;
1818 typedef int pthread_once_t;
1829 unsigned int __nr_readers;
1830 unsigned int __readers_wakeup;
1831 unsigned int __writer_wakeup;
1832 unsigned int __nr_readers_queued;
1833 unsigned int __nr_writers_queued;
1836 unsigned int __flags;
1847 } pthread_rwlockattr_t;
1853 typedef volatile int pthread_spinlock_t;
1862 } pthread_barrier_t;
1868 } pthread_barrierattr_t;
1869 # 5 "/usr/include/bits/pthreadtypes.h" 2 3 4
1870 # 271 "/usr/include/gentoo-multilib/x86/sys/types.h" 2 3 4
1874 # 5 "/usr/include/sys/types.h" 2 3 4
1875 # 439 "/usr/include/gentoo-multilib/x86/stdlib.h" 2 3 4
1882 extern long int random (void) __attribute__ ((__nothrow__));
1885 extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
1891 extern char *initstate (unsigned int __seed, char *__statebuf,
1892 size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1896 extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1915 extern int random_r (struct random_data *__restrict __buf,
1916 int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1918 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
1919 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1921 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
1923 struct random_data *__restrict __buf)
1924 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
1926 extern int setstate_r (char *__restrict __statebuf,
1927 struct random_data *__restrict __buf)
1928 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1935 extern int rand (void) __attribute__ ((__nothrow__));
1937 extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
1942 extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
1950 extern double drand48 (void) __attribute__ ((__nothrow__));
1951 extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1954 extern long int lrand48 (void) __attribute__ ((__nothrow__));
1955 extern long int nrand48 (unsigned short int __xsubi[3])
1956 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1959 extern long int mrand48 (void) __attribute__ ((__nothrow__));
1960 extern long int jrand48 (unsigned short int __xsubi[3])
1961 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1964 extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
1965 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
1966 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1967 extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1975 unsigned short int __x[3];
1976 unsigned short int __old_x[3];
1977 unsigned short int __c;
1978 unsigned short int __init;
1979 unsigned long long int __a;
1983 extern int drand48_r (struct drand48_data *__restrict __buffer,
1984 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1985 extern int erand48_r (unsigned short int __xsubi[3],
1986 struct drand48_data *__restrict __buffer,
1987 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1990 extern int lrand48_r (struct drand48_data *__restrict __buffer,
1991 long int *__restrict __result)
1992 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1993 extern int nrand48_r (unsigned short int __xsubi[3],
1994 struct drand48_data *__restrict __buffer,
1995 long int *__restrict __result)
1996 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1999 extern int mrand48_r (struct drand48_data *__restrict __buffer,
2000 long int *__restrict __result)
2001 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2002 extern int jrand48_r (unsigned short int __xsubi[3],
2003 struct drand48_data *__restrict __buffer,
2004 long int *__restrict __result)
2005 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2008 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
2009 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2011 extern int seed48_r (unsigned short int __seed16v[3],
2012 struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2014 extern int lcong48_r (unsigned short int __param[7],
2015 struct drand48_data *__buffer)
2016 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2026 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2028 extern void *calloc (size_t __nmemb, size_t __size)
2029 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2037 extern void *realloc (void *__ptr, size_t __size)
2038 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
2040 extern void free (void *__ptr) __attribute__ ((__nothrow__));
2045 extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
2049 # 1 "/usr/include/alloca.h" 1 3 4
2053 # 1 "/usr/include/gentoo-multilib/x86/alloca.h" 1 3 4
2054 # 22 "/usr/include/gentoo-multilib/x86/alloca.h" 3 4
2055 # 1 "/usr/include/features.h" 1 3 4
2056 # 23 "/usr/include/gentoo-multilib/x86/alloca.h" 2 3 4
2059 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
2060 # 26 "/usr/include/gentoo-multilib/x86/alloca.h" 2 3 4
2068 extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
2075 # 5 "/usr/include/alloca.h" 2 3 4
2076 # 613 "/usr/include/gentoo-multilib/x86/stdlib.h" 2 3 4
2081 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2086 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
2087 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2092 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2096 extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2102 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
2103 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2110 extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2112 # 658 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2115 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2120 extern char *__secure_getenv (__const char *__name)
2121 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2127 extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2133 extern int setenv (__const char *__name, __const char *__value, int __replace)
2134 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2137 extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
2144 extern int clearenv (void) __attribute__ ((__nothrow__));
2145 # 698 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2146 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2147 # 709 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2148 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
2149 # 729 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2150 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2159 extern int system (__const char *__command) ;
2161 # 755 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2162 extern char *realpath (__const char *__restrict __name,
2163 char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
2170 typedef int (*__compar_fn_t) (__const void *, __const void *);
2180 extern void *bsearch (__const void *__key, __const void *__base,
2181 size_t __nmemb, size_t __size, __compar_fn_t __compar)
2182 __attribute__ ((__nonnull__ (1, 2, 5))) ;
2186 extern void qsort (void *__base, size_t __nmemb, size_t __size,
2187 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
2191 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2192 extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2205 extern div_t div (int __numer, int __denom)
2206 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2207 extern ldiv_t ldiv (long int __numer, long int __denom)
2208 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2210 # 820 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2211 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
2212 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2217 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
2218 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2223 extern char *gcvt (double __value, int __ndigit, char *__buf)
2224 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
2229 extern char *qecvt (long double __value, int __ndigit,
2230 int *__restrict __decpt, int *__restrict __sign)
2231 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2232 extern char *qfcvt (long double __value, int __ndigit,
2233 int *__restrict __decpt, int *__restrict __sign)
2234 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2235 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
2236 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
2241 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
2242 int *__restrict __sign, char *__restrict __buf,
2243 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2244 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
2245 int *__restrict __sign, char *__restrict __buf,
2246 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2248 extern int qecvt_r (long double __value, int __ndigit,
2249 int *__restrict __decpt, int *__restrict __sign,
2250 char *__restrict __buf, size_t __len)
2251 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2252 extern int qfcvt_r (long double __value, int __ndigit,
2253 int *__restrict __decpt, int *__restrict __sign,
2254 char *__restrict __buf, size_t __len)
2255 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2263 extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
2266 extern int mbtowc (wchar_t *__restrict __pwc,
2267 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
2270 extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
2274 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
2275 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
2277 extern size_t wcstombs (char *__restrict __s,
2278 __const wchar_t *__restrict __pwcs, size_t __n)
2279 __attribute__ ((__nothrow__));
2288 extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2289 # 925 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2290 extern int posix_openpt (int __oflag) ;
2291 # 960 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2292 extern int getloadavg (double __loadavg[], int __nelem)
2293 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2294 # 976 "/usr/include/gentoo-multilib/x86/stdlib.h" 3 4
2296 # 5 "/usr/include/stdlib.h" 2 3 4
2298 # 1 "/usr/include/string.h" 1 3 4
2302 # 1 "/usr/include/gentoo-multilib/x86/string.h" 1 3 4
2303 # 26 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2304 # 1 "/usr/include/features.h" 1 3 4
2305 # 27 "/usr/include/gentoo-multilib/x86/string.h" 2 3 4
2312 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
2313 # 34 "/usr/include/gentoo-multilib/x86/string.h" 2 3 4
2318 extern void *memcpy (void *__restrict __dest,
2319 __const void *__restrict __src, size_t __n)
2320 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2323 extern void *memmove (void *__dest, __const void *__src, size_t __n)
2324 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2331 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
2332 int __c, size_t __n)
2333 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2339 extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2342 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
2343 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2346 extern void *memchr (__const void *__s, int __c, size_t __n)
2347 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2349 # 82 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2352 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
2353 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2355 extern char *strncpy (char *__restrict __dest,
2356 __const char *__restrict __src, size_t __n)
2357 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2360 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
2361 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2363 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
2364 size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2367 extern int strcmp (__const char *__s1, __const char *__s2)
2368 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2370 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
2371 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2374 extern int strcoll (__const char *__s1, __const char *__s2)
2375 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2377 extern size_t strxfrm (char *__restrict __dest,
2378 __const char *__restrict __src, size_t __n)
2379 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2381 # 130 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2382 extern char *strdup (__const char *__s)
2383 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
2384 # 165 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2387 extern char *strchr (__const char *__s, int __c)
2388 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2390 extern char *strrchr (__const char *__s, int __c)
2391 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2393 # 181 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2397 extern size_t strcspn (__const char *__s, __const char *__reject)
2398 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2401 extern size_t strspn (__const char *__s, __const char *__accept)
2402 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2404 extern char *strpbrk (__const char *__s, __const char *__accept)
2405 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2407 extern char *strstr (__const char *__haystack, __const char *__needle)
2408 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2412 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
2413 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2418 extern char *__strtok_r (char *__restrict __s,
2419 __const char *__restrict __delim,
2420 char **__restrict __save_ptr)
2421 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
2423 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
2424 char **__restrict __save_ptr)
2425 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
2426 # 240 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2429 extern size_t strlen (__const char *__s)
2430 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2432 # 254 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2435 extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
2437 # 270 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2438 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2439 # 294 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2440 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2444 extern void bcopy (__const void *__src, void *__dest, size_t __n)
2445 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2448 extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2451 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
2452 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2455 extern char *index (__const char *__s, int __c)
2456 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2459 extern char *rindex (__const char *__s, int __c)
2460 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2464 extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
2465 # 331 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2466 extern int strcasecmp (__const char *__s1, __const char *__s2)
2467 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2470 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
2471 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2472 # 354 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2473 extern char *strsep (char **__restrict __stringp,
2474 __const char *__restrict __delim)
2475 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2476 # 420 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2477 # 1 "/usr/include/bits/string.h" 1 3 4
2481 # 1 "/usr/include/gentoo-multilib/x86/bits/string.h" 1 3 4
2482 # 5 "/usr/include/bits/string.h" 2 3 4
2483 # 421 "/usr/include/gentoo-multilib/x86/string.h" 2 3 4
2486 # 1 "/usr/include/bits/string2.h" 1 3 4
2490 # 1 "/usr/include/gentoo-multilib/x86/bits/string2.h" 1 3 4
2491 # 52 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2492 # 1 "/usr/include/endian.h" 1 3 4
2493 # 53 "/usr/include/gentoo-multilib/x86/bits/string2.h" 2 3 4
2494 # 1 "/usr/include/bits/types.h" 1 3 4
2495 # 54 "/usr/include/gentoo-multilib/x86/bits/string2.h" 2 3 4
2496 # 394 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2497 extern void *__rawmemchr (const void *__s, int __c);
2498 # 969 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2499 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
2500 extern __inline size_t
2501 __strcspn_c1 (__const char *__s, int __reject)
2503 register size_t __result = 0;
2504 while (__s[__result] != '\0' && __s[__result] != __reject)
2509 extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
2511 extern __inline size_t
2512 __strcspn_c2 (__const char *__s, int __reject1, int __reject2)
2514 register size_t __result = 0;
2515 while (__s[__result] != '\0' && __s[__result] != __reject1
2516 && __s[__result] != __reject2)
2521 extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
2522 int __reject2, int __reject3);
2523 extern __inline size_t
2524 __strcspn_c3 (__const char *__s, int __reject1, int __reject2,
2527 register size_t __result = 0;
2528 while (__s[__result] != '\0' && __s[__result] != __reject1
2529 && __s[__result] != __reject2 && __s[__result] != __reject3)
2533 # 1045 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2534 extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
2535 extern __inline size_t
2536 __strspn_c1 (__const char *__s, int __accept)
2538 register size_t __result = 0;
2540 while (__s[__result] == __accept)
2545 extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
2547 extern __inline size_t
2548 __strspn_c2 (__const char *__s, int __accept1, int __accept2)
2550 register size_t __result = 0;
2552 while (__s[__result] == __accept1 || __s[__result] == __accept2)
2557 extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
2558 int __accept2, int __accept3);
2559 extern __inline size_t
2560 __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
2562 register size_t __result = 0;
2564 while (__s[__result] == __accept1 || __s[__result] == __accept2
2565 || __s[__result] == __accept3)
2569 # 1121 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2570 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
2572 extern __inline char *
2573 __strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
2576 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
2578 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
2581 extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
2582 int __accept2, int __accept3);
2583 extern __inline char *
2584 __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
2588 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
2589 && *__s != __accept3)
2591 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
2593 # 1173 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2594 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
2595 extern __inline char *
2596 __strtok_r_1c (char *__s, char __sep, char **__nextp)
2599 if (__s == ((void *)0))
2601 while (*__s == __sep)
2603 __result = ((void *)0);
2607 while (*__s != '\0')
2608 if (*__s++ == __sep)
2617 # 1205 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2618 extern char *__strsep_g (char **__stringp, __const char *__delim);
2619 # 1223 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2620 extern __inline char *__strsep_1c (char **__s, char __reject);
2621 extern __inline char *
2622 __strsep_1c (char **__s, char __reject)
2624 register char *__retval = *__s;
2625 if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
2630 extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
2631 extern __inline char *
2632 __strsep_2c (char **__s, char __reject1, char __reject2)
2634 register char *__retval = *__s;
2635 if (__retval != ((void *)0))
2637 register char *__cp = __retval;
2645 if (*__cp == __reject1 || *__cp == __reject2)
2657 extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
2659 extern __inline char *
2660 __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
2662 register char *__retval = *__s;
2663 if (__retval != ((void *)0))
2665 register char *__cp = __retval;
2673 if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
2684 # 1299 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2685 # 1 "/usr/include/stdlib.h" 1 3 4
2686 # 1300 "/usr/include/gentoo-multilib/x86/bits/string2.h" 2 3 4
2691 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
2692 # 1323 "/usr/include/gentoo-multilib/x86/bits/string2.h" 3 4
2693 extern char *__strndup (__const char *__string, size_t __n)
2694 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
2695 # 5 "/usr/include/bits/string2.h" 2 3 4
2696 # 424 "/usr/include/gentoo-multilib/x86/string.h" 2 3 4
2697 # 432 "/usr/include/gentoo-multilib/x86/string.h" 3 4
2699 # 5 "/usr/include/string.h" 2 3 4
2701 # 1 "/usr/include/assert.h" 1 3 4
2705 # 1 "/usr/include/gentoo-multilib/x86/assert.h" 1 3 4
2706 # 37 "/usr/include/gentoo-multilib/x86/assert.h" 3 4
2707 # 1 "/usr/include/features.h" 1 3 4
2708 # 38 "/usr/include/gentoo-multilib/x86/assert.h" 2 3 4
2709 # 5 "/usr/include/assert.h" 2 3 4
2712 # 1 "./libyasm/coretype.h" 1
2713 # 38 "./libyasm/coretype.h"
2714 typedef struct yasm_arch yasm_arch;
2716 typedef struct yasm_preproc yasm_preproc;
2718 typedef struct yasm_parser yasm_parser;
2720 typedef struct yasm_objfmt yasm_objfmt;
2722 typedef struct yasm_dbgfmt yasm_dbgfmt;
2724 typedef struct yasm_listfmt yasm_listfmt;
2729 typedef struct yasm_assoc_data_callback {
2733 void (*destroy) ( void *data);
2740 void (*print) (void *data, FILE *f, int indent_level);
2741 } yasm_assoc_data_callback;
2746 typedef struct yasm_errwarns yasm_errwarns;
2752 typedef struct yasm_bytecode yasm_bytecode;
2755 typedef struct yasm_object yasm_object;
2758 typedef struct yasm_section yasm_section;
2761 typedef struct yasm_symtab yasm_symtab;
2764 typedef struct yasm_symrec yasm_symrec;
2770 typedef struct yasm_expr yasm_expr;
2772 typedef struct yasm_intnum yasm_intnum;
2776 typedef struct yasm_floatnum yasm_floatnum;
2783 typedef struct yasm_value {
2801 unsigned int seg_of : 1;
2807 unsigned int rshift : 7;
2814 unsigned int curpos_rel : 1;
2820 unsigned int ip_rel : 1;
2826 unsigned int jump_target : 1;
2834 unsigned int section_rel : 1;
2839 unsigned int sign : 1;
2842 unsigned int size : 8;
2851 typedef struct yasm_linemap yasm_linemap;
2856 typedef struct yasm_valparam yasm_valparam;
2860 typedef struct yasm_valparamhead yasm_valparamhead;
2866 typedef struct yasm_insn_operands yasm_insn_operands;
2869 typedef enum yasm_expr_op {
2910 typedef enum yasm_sym_vis {
2912 YASM_SYM_GLOBAL = 1 << 0,
2913 YASM_SYM_COMMON = 1 << 1,
2914 YASM_SYM_EXTERN = 1 << 2,
2915 YASM_SYM_DLOCAL = 1 << 3
2917 # 262 "./libyasm/coretype.h"
2918 typedef int (*yasm_output_value_func)
2919 (yasm_value *value, unsigned char *buf, unsigned int destsize,
2920 unsigned long offset, yasm_bytecode *bc, int warn, void *d);
2921 # 283 "./libyasm/coretype.h"
2922 typedef int (*yasm_output_reloc_func)
2923 (yasm_symrec *sym, yasm_bytecode *bc, unsigned char *buf,
2924 unsigned int destsize, unsigned int valsize, int warn, void *d);
2925 # 294 "./libyasm/coretype.h"
2926 int yasm__mergesort(void *base, size_t nmemb, size_t size,
2927 int (*compar)(const void *, const void *));
2935 char *yasm__strsep(char **stringp, const char *delim);
2943 int yasm__strcasecmp(const char *s1, const char *s2);
2944 # 320 "./libyasm/coretype.h"
2945 int yasm__strncasecmp(const char *s1, const char *s2, size_t n);
2952 char *yasm__xstrdup(const char *str);
2960 char *yasm__xstrndup(const char *str, size_t len);
2968 extern void * (*yasm_xmalloc) (size_t size);
2969 # 352 "./libyasm/coretype.h"
2970 extern void * (*yasm_xcalloc) (size_t nelem, size_t elsize);
2971 # 361 "./libyasm/coretype.h"
2972 extern void * (*yasm_xrealloc)
2973 ( void *oldmem, size_t size)
2980 extern void (*yasm_xfree) ( void *p)
2984 # 1 "/usr/include/libintl.h" 1 3 4
2988 # 1 "/usr/include/gentoo-multilib/x86/libintl.h" 1 3 4
2989 # 24 "/usr/include/gentoo-multilib/x86/libintl.h" 3 4
2990 # 1 "/usr/include/features.h" 1 3 4
2991 # 25 "/usr/include/gentoo-multilib/x86/libintl.h" 2 3 4
2992 # 35 "/usr/include/gentoo-multilib/x86/libintl.h" 3 4
2998 extern char *gettext (__const char *__msgid)
2999 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1)));
3003 extern char *dgettext (__const char *__domainname, __const char *__msgid)
3004 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
3005 extern char *__dgettext (__const char *__domainname, __const char *__msgid)
3006 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
3010 extern char *dcgettext (__const char *__domainname,
3011 __const char *__msgid, int __category)
3012 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
3013 extern char *__dcgettext (__const char *__domainname,
3014 __const char *__msgid, int __category)
3015 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
3020 extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
3021 unsigned long int __n)
3022 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
3026 extern char *dngettext (__const char *__domainname, __const char *__msgid1,
3027 __const char *__msgid2, unsigned long int __n)
3028 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
3032 extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
3033 __const char *__msgid2, unsigned long int __n,
3035 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
3041 extern char *textdomain (__const char *__domainname) __attribute__ ((__nothrow__));
3045 extern char *bindtextdomain (__const char *__domainname,
3046 __const char *__dirname) __attribute__ ((__nothrow__));
3050 extern char *bind_textdomain_codeset (__const char *__domainname,
3051 __const char *__codeset) __attribute__ ((__nothrow__));
3059 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
3060 # 102 "/usr/include/gentoo-multilib/x86/libintl.h" 2 3 4
3063 # 1 "/usr/include/locale.h" 1 3 4
3067 # 1 "/usr/include/gentoo-multilib/x86/locale.h" 1 3 4
3068 # 26 "/usr/include/gentoo-multilib/x86/locale.h" 3 4
3069 # 1 "/usr/include/features.h" 1 3 4
3070 # 27 "/usr/include/gentoo-multilib/x86/locale.h" 2 3 4
3073 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0-alpha20070615/include/stddef.h" 1 3 4
3074 # 30 "/usr/include/gentoo-multilib/x86/locale.h" 2 3 4
3075 # 1 "/usr/include/bits/locale.h" 1 3 4
3079 # 1 "/usr/include/gentoo-multilib/x86/bits/locale.h" 1 3 4
3080 # 27 "/usr/include/gentoo-multilib/x86/bits/locale.h" 3 4
3093 __LC_TELEPHONE = 10,
3094 __LC_MEASUREMENT = 11,
3095 __LC_IDENTIFICATION = 12
3097 # 5 "/usr/include/bits/locale.h" 2 3 4
3098 # 31 "/usr/include/gentoo-multilib/x86/locale.h" 2 3 4
3101 # 51 "/usr/include/gentoo-multilib/x86/locale.h" 3 4
3109 char *decimal_point;
3110 char *thousands_sep;
3122 char *int_curr_symbol;
3123 char *currency_symbol;
3124 char *mon_decimal_point;
3125 char *mon_thousands_sep;
3127 char *positive_sign;
3128 char *negative_sign;
3129 char int_frac_digits;
3134 char p_sep_by_space;
3138 char n_sep_by_space;
3147 # 114 "/usr/include/gentoo-multilib/x86/locale.h" 3 4
3148 char __int_p_cs_precedes;
3149 char __int_p_sep_by_space;
3150 char __int_n_cs_precedes;
3151 char __int_n_sep_by_space;
3152 char __int_p_sign_posn;
3153 char __int_n_sign_posn;
3159 extern char *setlocale (int __category, __const char *__locale) __attribute__ ((__nothrow__));
3162 extern struct lconv *localeconv (void) __attribute__ ((__nothrow__));
3165 # 208 "/usr/include/gentoo-multilib/x86/locale.h" 3 4
3167 # 5 "/usr/include/locale.h" 2 3 4
3168 # 105 "/usr/include/gentoo-multilib/x86/libintl.h" 2 3 4
3169 # 122 "/usr/include/gentoo-multilib/x86/libintl.h" 3 4
3171 # 5 "/usr/include/libintl.h" 2 3 4
3174 # 1 "./libyasm/compat-queue.h" 1
3176 # 28 "frontends/yasm/yasm.c" 2
3177 __asm__(".ident\t\"" "$Id: yasm.c 1760 2007-02-08 05:02:37Z peter $" "\"");
3179 # 1 "/usr/include/ctype.h" 1 3 4
3183 # 1 "/usr/include/gentoo-multilib/x86/ctype.h" 1 3 4
3184 # 27 "/usr/include/gentoo-multilib/x86/ctype.h" 3 4
3185 # 1 "/usr/include/features.h" 1 3 4
3186 # 28 "/usr/include/gentoo-multilib/x86/ctype.h" 2 3 4
3187 # 1 "/usr/include/bits/types.h" 1 3 4
3188 # 29 "/usr/include/gentoo-multilib/x86/ctype.h" 2 3 4
3191 # 41 "/usr/include/gentoo-multilib/x86/ctype.h" 3 4
3192 # 1 "/usr/include/endian.h" 1 3 4
3193 # 42 "/usr/include/gentoo-multilib/x86/ctype.h" 2 3 4
3202 _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
3203 _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
3204 _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
3205 _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
3206 _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
3207 _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
3208 _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
3209 _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
3210 _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
3211 _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
3212 _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
3213 _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
3215 # 81 "/usr/include/gentoo-multilib/x86/ctype.h" 3 4
3216 extern __const unsigned short int **__ctype_b_loc (void)
3217 __attribute__ ((__const));
3218 extern __const __int32_t **__ctype_tolower_loc (void)
3219 __attribute__ ((__const));
3220 extern __const __int32_t **__ctype_toupper_loc (void)
3221 __attribute__ ((__const));
3222 # 96 "/usr/include/gentoo-multilib/x86/ctype.h" 3 4
3229 extern int isalnum (int) __attribute__ ((__nothrow__));
3230 extern int isalpha (int) __attribute__ ((__nothrow__));
3231 extern int iscntrl (int) __attribute__ ((__nothrow__));
3232 extern int isdigit (int) __attribute__ ((__nothrow__));
3233 extern int islower (int) __attribute__ ((__nothrow__));
3234 extern int isgraph (int) __attribute__ ((__nothrow__));
3235 extern int isprint (int) __attribute__ ((__nothrow__));
3236 extern int ispunct (int) __attribute__ ((__nothrow__));
3237 extern int isspace (int) __attribute__ ((__nothrow__));
3238 extern int isupper (int) __attribute__ ((__nothrow__));
3239 extern int isxdigit (int) __attribute__ ((__nothrow__));
3243 extern int tolower (int __c) __attribute__ ((__nothrow__));
3246 extern int toupper (int __c) __attribute__ ((__nothrow__));
3249 # 142 "/usr/include/gentoo-multilib/x86/ctype.h" 3 4
3250 extern int isascii (int __c) __attribute__ ((__nothrow__));
3254 extern int toascii (int __c) __attribute__ ((__nothrow__));
3258 extern int _toupper (int) __attribute__ ((__nothrow__));
3259 extern int _tolower (int) __attribute__ ((__nothrow__));
3260 # 190 "/usr/include/gentoo-multilib/x86/ctype.h" 3 4
3262 __attribute__ ((__nothrow__)) tolower (int __c)
3264 return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
3268 __attribute__ ((__nothrow__)) toupper (int __c)
3270 return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
3272 # 323 "/usr/include/gentoo-multilib/x86/ctype.h" 3 4
3274 # 5 "/usr/include/ctype.h" 2 3 4
3275 # 31 "frontends/yasm/yasm.c" 2
3277 # 1 "./libyasm/bitvect.h" 1
3278 # 19 "./libyasm/bitvect.h"
3279 typedef unsigned char N_char;
3280 typedef unsigned char N_byte;
3281 typedef unsigned short N_short;
3282 typedef unsigned short N_shortword;
3283 typedef unsigned int N_int;
3284 typedef unsigned int N_word;
3285 typedef unsigned long N_long;
3286 typedef unsigned long N_longword;
3291 typedef signed char Z_char;
3292 typedef signed char Z_byte;
3293 typedef signed short Z_short;
3294 typedef signed short Z_shortword;
3295 typedef signed int Z_int;
3296 typedef signed int Z_word;
3297 typedef signed long Z_long;
3298 typedef signed long Z_longword;
3303 typedef void *voidptr;
3304 typedef N_char *charptr;
3305 typedef N_byte *byteptr;
3306 typedef N_short *shortptr;
3307 typedef N_shortword *shortwordptr;
3308 typedef N_int *intptr;
3309 typedef N_word *wordptr;
3310 typedef N_long *longptr;
3311 typedef N_longword *longwordptr;
3313 typedef N_char *N_charptr;
3314 typedef N_byte *N_byteptr;
3315 typedef N_short *N_shortptr;
3316 typedef N_shortword *N_shortwordptr;
3317 typedef N_int *N_intptr;
3318 typedef N_word *N_wordptr;
3319 typedef N_long *N_longptr;
3320 typedef N_longword *N_longwordptr;
3322 typedef Z_char *Z_charptr;
3323 typedef Z_byte *Z_byteptr;
3324 typedef Z_short *Z_shortptr;
3325 typedef Z_shortword *Z_shortwordptr;
3326 typedef Z_int *Z_intptr;
3327 typedef Z_word *Z_wordptr;
3328 typedef Z_long *Z_longptr;
3329 typedef Z_longword *Z_longwordptr;
3330 # 85 "./libyasm/bitvect.h"
3331 typedef enum boolean { false = (0!=0), true = (0==0) } boolean;
3339 typedef enum ErrCode
3362 typedef wordptr *listptr;
3366 const char * BitVector_Error (ErrCode error);
3368 ErrCode BitVector_Boot (void);
3369 void BitVector_Shutdown (void);
3371 N_word BitVector_Size (N_int bits);
3372 N_word BitVector_Mask (N_int bits);
3376 const char * BitVector_Version (void);
3378 N_int BitVector_Word_Bits (void);
3379 N_int BitVector_Long_Bits (void);
3383 wordptr BitVector_Create (N_int bits, boolean clear);
3384 listptr BitVector_Create_List(N_int bits, boolean clear, N_int count);
3386 wordptr BitVector_Resize (wordptr oldaddr, N_int bits);
3388 wordptr BitVector_Shadow (wordptr addr);
3389 wordptr BitVector_Clone (wordptr addr);
3391 wordptr BitVector_Concat (wordptr X, wordptr Y);
3395 void BitVector_Dispose ( charptr string);
3396 void BitVector_Destroy ( wordptr addr);
3397 void BitVector_Destroy_List (listptr list, N_int count);
3403 void BitVector_Copy (wordptr X, wordptr Y);
3407 void BitVector_Empty (wordptr addr);
3408 void BitVector_Fill (wordptr addr);
3409 void BitVector_Flip (wordptr addr);
3411 void BitVector_Primes (wordptr addr);
3415 void BitVector_Reverse (wordptr X, wordptr Y);
3419 void BitVector_Interval_Empty ( wordptr addr, N_int lower, N_int upper);
3420 void BitVector_Interval_Fill ( wordptr addr, N_int lower, N_int upper);
3421 void BitVector_Interval_Flip ( wordptr addr, N_int lower, N_int upper);
3422 void BitVector_Interval_Reverse ( wordptr addr, N_int lower, N_int upper);
3424 boolean BitVector_interval_scan_inc (wordptr addr, N_int start,
3425 N_intptr min, N_intptr max);
3426 boolean BitVector_interval_scan_dec (wordptr addr, N_int start,
3427 N_intptr min, N_intptr max);
3429 void BitVector_Interval_Copy ( wordptr X, wordptr Y, N_int Xoffset,
3430 N_int Yoffset, N_int length);
3432 wordptr BitVector_Interval_Substitute( wordptr X, wordptr Y,
3433 N_int Xoffset, N_int Xlength,
3434 N_int Yoffset, N_int Ylength);
3438 boolean BitVector_is_empty (wordptr addr);
3439 boolean BitVector_is_full (wordptr addr);
3441 boolean BitVector_equal (wordptr X, wordptr Y);
3442 Z_int BitVector_Lexicompare(wordptr X, wordptr Y);
3443 Z_int BitVector_Compare (wordptr X, wordptr Y);
3447 charptr BitVector_to_Hex (wordptr addr);
3448 ErrCode BitVector_from_Hex ( wordptr addr, charptr string);
3450 ErrCode BitVector_from_Oct( wordptr addr, charptr string);
3452 charptr BitVector_to_Bin (wordptr addr);
3453 ErrCode BitVector_from_Bin ( wordptr addr, charptr string);
3455 charptr BitVector_to_Dec (wordptr addr);
3456 ErrCode BitVector_from_Dec ( wordptr addr, charptr string);
3458 typedef struct BitVector_from_Dec_static_data BitVector_from_Dec_static_data;
3459 BitVector_from_Dec_static_data *BitVector_from_Dec_static_Boot(N_word bits);
3460 void BitVector_from_Dec_static_Shutdown( BitVector_from_Dec_static_data *data);
3461 ErrCode BitVector_from_Dec_static(BitVector_from_Dec_static_data *data,
3462 wordptr addr, charptr string);
3464 charptr BitVector_to_Enum (wordptr addr);
3465 ErrCode BitVector_from_Enum ( wordptr addr, charptr string);
3469 void BitVector_Bit_Off ( wordptr addr, N_int indx);
3470 void BitVector_Bit_On ( wordptr addr, N_int indx);
3471 boolean BitVector_bit_flip ( wordptr addr, N_int indx);
3473 boolean BitVector_bit_test (wordptr addr, N_int indx);
3475 void BitVector_Bit_Copy ( wordptr addr, N_int indx, boolean bit);
3479 void BitVector_LSB ( wordptr addr, boolean bit);
3480 void BitVector_MSB ( wordptr addr, boolean bit);
3481 boolean BitVector_lsb_ (wordptr addr);
3482 boolean BitVector_msb_ (wordptr addr);
3483 boolean BitVector_rotate_left (wordptr addr);
3484 boolean BitVector_rotate_right (wordptr addr);
3485 boolean BitVector_shift_left (wordptr addr, boolean carry_in);
3486 boolean BitVector_shift_right (wordptr addr, boolean carry_in);
3487 void BitVector_Move_Left (wordptr addr, N_int bits);
3488 void BitVector_Move_Right (wordptr addr, N_int bits);
3492 void BitVector_Insert (wordptr addr, N_int offset, N_int count,
3494 void BitVector_Delete (wordptr addr, N_int offset, N_int count,
3499 boolean BitVector_increment (wordptr addr);
3500 boolean BitVector_decrement (wordptr addr);
3502 boolean BitVector_compute (wordptr X, wordptr Y, wordptr Z, boolean minus,
3504 boolean BitVector_add (wordptr X, wordptr Y, wordptr Z, boolean *carry);
3505 boolean BitVector_sub (wordptr X, wordptr Y, wordptr Z, boolean *carry);
3506 boolean BitVector_inc (wordptr X, wordptr Y);
3507 boolean BitVector_dec (wordptr X, wordptr Y);
3509 void BitVector_Negate (wordptr X, wordptr Y);
3510 void BitVector_Absolute (wordptr X, wordptr Y);
3511 Z_int BitVector_Sign (wordptr addr);
3512 ErrCode BitVector_Mul_Pos (wordptr X, wordptr Y, wordptr Z, boolean strict);
3513 ErrCode BitVector_Multiply (wordptr X, wordptr Y, wordptr Z);
3514 ErrCode BitVector_Div_Pos (wordptr Q, wordptr X, wordptr Y, wordptr R);
3515 ErrCode BitVector_Divide (wordptr Q, wordptr X, wordptr Y, wordptr R);
3516 ErrCode BitVector_GCD (wordptr X, wordptr Y, wordptr Z);
3517 ErrCode BitVector_GCD2 (wordptr U, wordptr V, wordptr W,
3518 wordptr X, wordptr Y);
3519 ErrCode BitVector_Power (wordptr X, wordptr Y, wordptr Z);
3523 void BitVector_Block_Store(wordptr addr, charptr buffer, N_int length);
3524 charptr BitVector_Block_Read (wordptr addr, N_intptr length);
3528 void BitVector_Word_Store (wordptr addr, N_int offset, N_int value);
3529 N_int BitVector_Word_Read (wordptr addr, N_int offset);
3531 void BitVector_Word_Insert(wordptr addr, N_int offset, N_int count,
3533 void BitVector_Word_Delete(wordptr addr, N_int offset, N_int count,
3538 void BitVector_Chunk_Store(wordptr addr, N_int chunksize,
3539 N_int offset, N_long value);
3540 N_long BitVector_Chunk_Read (wordptr addr, N_int chunksize,
3545 void Set_Union (wordptr X, wordptr Y, wordptr Z);
3546 void Set_Intersection (wordptr X, wordptr Y, wordptr Z);
3547 void Set_Difference (wordptr X, wordptr Y, wordptr Z);
3548 void Set_ExclusiveOr (wordptr X, wordptr Y, wordptr Z);
3549 void Set_Complement (wordptr X, wordptr Y);
3553 boolean Set_subset (wordptr X, wordptr Y);
3555 N_int Set_Norm (wordptr addr);
3556 N_int Set_Norm2 (wordptr addr);
3557 N_int Set_Norm3 (wordptr addr);
3558 Z_long Set_Min (wordptr addr);
3559 Z_long Set_Max (wordptr addr);
3563 void Matrix_Multiplication(wordptr X, N_int rowsX, N_int colsX,
3564 wordptr Y, N_int rowsY, N_int colsY,
3565 wordptr Z, N_int rowsZ, N_int colsZ);
3567 void Matrix_Product (wordptr X, N_int rowsX, N_int colsX,
3568 wordptr Y, N_int rowsY, N_int colsY,
3569 wordptr Z, N_int rowsZ, N_int colsZ);
3571 void Matrix_Closure (wordptr addr, N_int rows, N_int cols);
3573 void Matrix_Transpose (wordptr X, N_int rowsX, N_int colsX,
3574 wordptr Y, N_int rowsY, N_int colsY);
3575 # 33 "frontends/yasm/yasm.c" 2
3578 # 1 "./libyasm-stdint.h" 1
3585 # 1 "/usr/include/stdint.h" 1 3 4
3589 # 1 "/usr/include/gentoo-multilib/x86/stdint.h" 1 3 4
3590 # 26 "/usr/include/gentoo-multilib/x86/stdint.h" 3 4
3591 # 1 "/usr/include/features.h" 1 3 4
3592 # 27 "/usr/include/gentoo-multilib/x86/stdint.h" 2 3 4
3593 # 1 "/usr/include/bits/wchar.h" 1 3 4
3594 # 28 "/usr/include/gentoo-multilib/x86/stdint.h" 2 3 4
3595 # 1 "/usr/include/bits/wordsize.h" 1 3 4
3599 # 1 "/usr/include/gentoo-multilib/x86/bits/wordsize.h" 1 3 4
3600 # 5 "/usr/include/bits/wordsize.h" 2 3 4
3601 # 29 "/usr/include/gentoo-multilib/x86/stdint.h" 2 3 4
3602 # 49 "/usr/include/gentoo-multilib/x86/stdint.h" 3 4
3603 typedef unsigned char uint8_t;
3604 typedef unsigned short int uint16_t;
3606 typedef unsigned int uint32_t;
3613 typedef unsigned long long int uint64_t;
3620 typedef signed char int_least8_t;
3621 typedef short int int_least16_t;
3622 typedef int int_least32_t;
3627 typedef long long int int_least64_t;
3631 typedef unsigned char uint_least8_t;
3632 typedef unsigned short int uint_least16_t;
3633 typedef unsigned int uint_least32_t;
3638 typedef unsigned long long int uint_least64_t;
3645 typedef signed char int_fast8_t;
3651 typedef int int_fast16_t;
3652 typedef int int_fast32_t;
3654 typedef long long int int_fast64_t;
3658 typedef unsigned char uint_fast8_t;
3664 typedef unsigned int uint_fast16_t;
3665 typedef unsigned int uint_fast32_t;
3667 typedef unsigned long long int uint_fast64_t;
3668 # 126 "/usr/include/gentoo-multilib/x86/stdint.h" 3 4
3669 typedef int intptr_t;
3672 typedef unsigned int uintptr_t;
3673 # 138 "/usr/include/gentoo-multilib/x86/stdint.h" 3 4
3675 typedef long long int intmax_t;
3677 typedef unsigned long long int uintmax_t;
3678 # 5 "/usr/include/stdint.h" 2 3 4
3679 # 8 "./libyasm-stdint.h" 2
3680 # 56 "./libyasm.h" 2
3688 # 1 "./libyasm/valparam.h" 1
3689 # 54 "./libyasm/valparam.h"
3690 yasm_valparam *yasm_vp_create( char *v, yasm_expr *p);
3695 yasm_valparamhead *yasm_vps_create(void);
3700 void yasm_vps_destroy(yasm_valparamhead *headp);
3701 # 84 "./libyasm/valparam.h"
3702 void yasm_vps_append(yasm_valparamhead *headp, yasm_valparam *vp);
3703 # 96 "./libyasm/valparam.h"
3704 yasm_valparam *yasm_vps_first
3705 (yasm_valparamhead *headp);
3706 # 106 "./libyasm/valparam.h"
3707 yasm_valparam *yasm_vps_next(yasm_valparam *cur);
3708 # 122 "./libyasm/valparam.h"
3709 void yasm_vps_print( const yasm_valparamhead *headp, FILE *f);
3710 # 64 "./libyasm.h" 2
3712 # 1 "./libyasm/linemap.h" 1
3713 # 40 "./libyasm/linemap.h"
3714 yasm_linemap *yasm_linemap_create(void);
3719 void yasm_linemap_destroy(yasm_linemap *linemap);
3725 unsigned long yasm_linemap_get_current(yasm_linemap *linemap);
3726 # 62 "./libyasm/linemap.h"
3727 int yasm_linemap_get_source(yasm_linemap *linemap, unsigned long line,
3728 yasm_bytecode **bcp,
3729 const char **sourcep);
3730 # 74 "./libyasm/linemap.h"
3731 void yasm_linemap_add_source(yasm_linemap *linemap,
3733 const char *source);
3739 unsigned long yasm_linemap_goto_next(yasm_linemap *linemap);
3740 # 92 "./libyasm/linemap.h"
3741 void yasm_linemap_set(yasm_linemap *linemap, const char *filename,
3742 unsigned long file_line, unsigned long line_inc);
3743 # 103 "./libyasm/linemap.h"
3744 unsigned long yasm_linemap_poke(yasm_linemap *linemap,
3745 const char *filename,
3746 unsigned long file_line);
3754 void yasm_linemap_lookup(yasm_linemap *linemap, unsigned long line,
3755 const char **filename,
3756 unsigned long *file_line);
3757 # 125 "./libyasm/linemap.h"
3758 int yasm_linemap_traverse_filenames
3759 (yasm_linemap *linemap, void *d,
3760 int (*func) (const char *filename, void *d));
3761 # 66 "./libyasm.h" 2
3763 # 1 "./libyasm/errwarn.h" 1
3764 # 38 "./libyasm/errwarn.h"
3765 typedef enum yasm_warn_class {
3768 YASM_WARN_UNREC_CHAR,
3770 YASM_WARN_ORPHAN_LABEL,
3771 YASM_WARN_UNINIT_CONTENTS
3775 typedef enum yasm_error_class {
3776 YASM_ERROR_NONE = 0x0000,
3777 YASM_ERROR_GENERAL = 0xFFFF,
3778 YASM_ERROR_ARITHMETIC = 0x0001,
3779 YASM_ERROR_OVERFLOW = 0x8001,
3780 YASM_ERROR_FLOATING_POINT = 0x4001,
3781 YASM_ERROR_ZERO_DIVISION = 0x2001,
3782 YASM_ERROR_ASSERTION = 0x0002,
3783 YASM_ERROR_VALUE = 0x0004,
3785 YASM_ERROR_NOT_ABSOLUTE = 0x8004,
3786 YASM_ERROR_TOO_COMPLEX = 0x4004,
3787 YASM_ERROR_NOT_CONSTANT = 0x2004,
3788 YASM_ERROR_IO = 0x0008,
3789 YASM_ERROR_NOT_IMPLEMENTED = 0x0010,
3790 YASM_ERROR_TYPE = 0x0020,
3791 YASM_ERROR_SYNTAX = 0x0040,
3792 YASM_ERROR_PARSE = 0x8040
3796 void yasm_errwarn_initialize(void);
3801 void yasm_errwarn_cleanup(void);
3802 # 84 "./libyasm/errwarn.h"
3803 extern void (*yasm_internal_error_)
3804 (const char *file, unsigned int line, const char *message);
3805 # 100 "./libyasm/errwarn.h"
3806 extern void (*yasm_fatal) (const char *message, va_list va);
3814 void yasm__fatal(const char *message, ...);
3819 void yasm_error_clear(void);
3826 yasm_error_class yasm_error_occurred(void);
3827 # 129 "./libyasm/errwarn.h"
3828 int yasm_error_matches(yasm_error_class eclass);
3831 extern yasm_error_class yasm_eclass;
3832 # 142 "./libyasm/errwarn.h"
3833 void yasm_error_set_va(yasm_error_class eclass, const char *format, va_list va);
3841 void yasm_error_set(yasm_error_class eclass, const char *format, ...)
3843 # 160 "./libyasm/errwarn.h"
3844 void yasm_error_set_xref_va(unsigned long xrefline, const char *format,
3846 # 170 "./libyasm/errwarn.h"
3847 void yasm_error_set_xref(unsigned long xrefline, const char *format, ...)
3849 # 185 "./libyasm/errwarn.h"
3850 void yasm_error_fetch( yasm_error_class *eclass,
3852 unsigned long *xrefline,
3858 void yasm_warn_clear(void);
3865 yasm_warn_class yasm_warn_occurred(void);
3872 void yasm_warn_set_va(yasm_warn_class wclass, const char *format, va_list va);
3879 void yasm_warn_set(yasm_warn_class wclass, const char *format, ...)
3881 # 227 "./libyasm/errwarn.h"
3882 void yasm_warn_fetch( yasm_warn_class *wclass,
3888 void yasm_warn_enable(yasm_warn_class wclass);
3893 void yasm_warn_disable(yasm_warn_class wclass);
3896 void yasm_warn_disable_all(void);
3901 yasm_errwarns *yasm_errwarns_create(void);
3906 void yasm_errwarns_destroy( yasm_errwarns *errwarns);
3907 # 263 "./libyasm/errwarn.h"
3908 void yasm_errwarn_propagate(yasm_errwarns *errwarns, unsigned long line);
3915 unsigned int yasm_errwarns_num_errors(yasm_errwarns *errwarns,
3916 int warning_as_error);
3917 # 281 "./libyasm/errwarn.h"
3918 typedef void (*yasm_print_error_func)
3919 (const char *fn, unsigned long line, const char *msg,
3920 const char *xref_fn, unsigned long xref_line,
3921 const char *xref_msg);
3928 typedef void (*yasm_print_warning_func)
3929 (const char *fn, unsigned long line, const char *msg);
3930 # 301 "./libyasm/errwarn.h"
3931 void yasm_errwarns_output_all
3932 (yasm_errwarns *errwarns, yasm_linemap *lm, int warning_as_error,
3933 yasm_print_error_func print_error, yasm_print_warning_func print_warning);
3940 char *yasm__conv_unprint(int ch);
3946 extern const char * (*yasm_gettext_hook) (const char *msgid);
3947 # 68 "./libyasm.h" 2
3948 # 1 "./libyasm/intnum.h" 1
3949 # 38 "./libyasm/intnum.h"
3950 void yasm_intnum_initialize(void);
3953 void yasm_intnum_cleanup(void);
3959 yasm_intnum *yasm_intnum_create_dec(char *str);
3965 yasm_intnum *yasm_intnum_create_bin(char *str);
3971 yasm_intnum *yasm_intnum_create_oct(char *str);
3977 yasm_intnum *yasm_intnum_create_hex(char *str);
3985 yasm_intnum *yasm_intnum_create_charconst_nasm(const char *str);
3991 yasm_intnum *yasm_intnum_create_uint(unsigned long i);
3997 yasm_intnum *yasm_intnum_create_int(long i);
3998 # 94 "./libyasm/intnum.h"
3999 yasm_intnum *yasm_intnum_create_leb128
4000 (const unsigned char *ptr, int sign, unsigned long *size);
4001 # 104 "./libyasm/intnum.h"
4002 yasm_intnum *yasm_intnum_create_sized
4003 (unsigned char *ptr, int sign, size_t srcsize, int bigendian);
4009 yasm_intnum *yasm_intnum_copy(const yasm_intnum *intn);
4014 void yasm_intnum_destroy( yasm_intnum *intn);
4015 # 126 "./libyasm/intnum.h"
4016 int yasm_intnum_calc(yasm_intnum *acc, yasm_expr_op op, yasm_intnum *operand);
4021 void yasm_intnum_zero(yasm_intnum *intn);
4027 void yasm_intnum_set_uint(yasm_intnum *intn, unsigned long val);
4033 void yasm_intnum_set_int(yasm_intnum *intn, long val);
4039 int yasm_intnum_is_zero(const yasm_intnum *acc);
4045 int yasm_intnum_is_pos1(const yasm_intnum *acc);
4051 int yasm_intnum_is_neg1(const yasm_intnum *acc);
4057 int yasm_intnum_sign(const yasm_intnum *acc);
4058 # 176 "./libyasm/intnum.h"
4059 unsigned long yasm_intnum_get_uint(const yasm_intnum *intn);
4060 # 185 "./libyasm/intnum.h"
4061 long yasm_intnum_get_int(const yasm_intnum *intn);
4062 # 201 "./libyasm/intnum.h"
4063 void yasm_intnum_get_sized(const yasm_intnum *intn, unsigned char *ptr,
4064 size_t destsize, size_t valsize, int shift,
4065 int bigendian, int warn);
4066 # 215 "./libyasm/intnum.h"
4067 int yasm_intnum_check_size(const yasm_intnum *intn, size_t size,
4068 size_t rshift, int rangetype);
4076 int yasm_intnum_in_range(const yasm_intnum *intn, long low, long high);
4084 unsigned long yasm_intnum_get_leb128(const yasm_intnum *intn,
4085 unsigned char *ptr, int sign);
4092 unsigned long yasm_intnum_size_leb128(const yasm_intnum *intn, int sign);
4099 unsigned long yasm_get_sleb128(long v, unsigned char *ptr);
4105 unsigned long yasm_size_sleb128(long v);
4112 unsigned long yasm_get_uleb128(unsigned long v, unsigned char *ptr);
4118 unsigned long yasm_size_uleb128(unsigned long v);
4126 char *yasm_intnum_get_str(const yasm_intnum *intn);
4132 void yasm_intnum_print(const yasm_intnum *intn, FILE *f);
4133 # 69 "./libyasm.h" 2
4134 # 1 "./libyasm/floatnum.h" 1
4135 # 40 "./libyasm/floatnum.h"
4136 void yasm_floatnum_initialize(void);
4139 void yasm_floatnum_cleanup(void);
4146 yasm_floatnum *yasm_floatnum_create(const char *str);
4152 yasm_floatnum *yasm_floatnum_copy(const yasm_floatnum *flt);
4157 void yasm_floatnum_destroy( yasm_floatnum *flt);
4158 # 71 "./libyasm/floatnum.h"
4159 int yasm_floatnum_calc(yasm_floatnum *acc, yasm_expr_op op,
4160 yasm_floatnum *operand);
4161 # 81 "./libyasm/floatnum.h"
4162 int yasm_floatnum_get_int(const yasm_floatnum *flt,
4163 unsigned long *ret_val);
4164 # 101 "./libyasm/floatnum.h"
4165 int yasm_floatnum_get_sized(const yasm_floatnum *flt, unsigned char *ptr,
4166 size_t destsize, size_t valsize, size_t shift,
4167 int bigendian, int warn);
4168 # 113 "./libyasm/floatnum.h"
4169 int yasm_floatnum_check_size(const yasm_floatnum *flt, size_t size);
4175 void yasm_floatnum_print(const yasm_floatnum *flt, FILE *f);
4176 # 70 "./libyasm.h" 2
4177 # 1 "./libyasm/expr.h" 1
4178 # 38 "./libyasm/expr.h"
4179 typedef struct yasm_expr__item yasm_expr__item;
4180 # 47 "./libyasm/expr.h"
4181 yasm_expr *yasm_expr_create
4182 (yasm_expr_op op, yasm_expr__item *a,
4183 yasm_expr__item *b, unsigned long line);
4189 yasm_expr__item *yasm_expr_precbc( yasm_bytecode *precbc);
4195 yasm_expr__item *yasm_expr_sym( yasm_symrec *sym);
4201 yasm_expr__item *yasm_expr_expr( yasm_expr *e);
4207 yasm_expr__item *yasm_expr_int( yasm_intnum *intn);
4213 yasm_expr__item *yasm_expr_float( yasm_floatnum *flt);
4219 yasm_expr__item *yasm_expr_reg(uintptr_t reg);
4220 # 118 "./libyasm/expr.h"
4221 yasm_expr *yasm_expr_copy(const yasm_expr *e);
4226 void yasm_expr_destroy( yasm_expr *e);
4234 int yasm_expr_is_op(const yasm_expr *e, yasm_expr_op op);
4242 typedef yasm_expr * (*yasm_expr_xform_func)
4243 ( yasm_expr *e, void *d);
4244 # 154 "./libyasm/expr.h"
4245 yasm_expr *yasm_expr__level_tree
4246 ( yasm_expr *e, int fold_const,
4247 int simplify_ident, int simplify_reg_mul, int calc_bc_dist,
4248 yasm_expr_xform_func expr_xform_extra,
4249 void *expr_xform_extra_data);
4250 # 178 "./libyasm/expr.h"
4251 yasm_expr *yasm_expr_extract_deep_segoff(yasm_expr **ep);
4252 # 187 "./libyasm/expr.h"
4253 yasm_expr *yasm_expr_extract_segoff(yasm_expr **ep);
4254 # 197 "./libyasm/expr.h"
4255 yasm_expr *yasm_expr_extract_wrt(yasm_expr **ep);
4256 # 207 "./libyasm/expr.h"
4257 yasm_intnum *yasm_expr_get_intnum
4258 (yasm_expr **ep, int calc_bc_dist);
4266 const yasm_symrec *yasm_expr_get_symrec
4267 (yasm_expr **ep, int simplify);
4275 const uintptr_t *yasm_expr_get_reg
4276 (yasm_expr **ep, int simplify);
4282 void yasm_expr_print( const yasm_expr *e, FILE *f);
4283 # 71 "./libyasm.h" 2
4284 # 1 "./libyasm/value.h" 1
4285 # 48 "./libyasm/value.h"
4286 void yasm_value_initialize( yasm_value *value,
4289 # 59 "./libyasm/value.h"
4290 void yasm_value_init_sym( yasm_value *value,
4291 yasm_symrec *sym, unsigned int size);
4298 void yasm_value_init_copy(yasm_value *value, const yasm_value *orig);
4303 void yasm_value_delete(yasm_value *value);
4304 # 83 "./libyasm/value.h"
4305 void yasm_value_set_curpos_rel(yasm_value *value, yasm_bytecode *bc,
4306 unsigned int ip_rel);
4314 int yasm_value_finalize(yasm_value *value, yasm_bytecode *precbc);
4315 # 113 "./libyasm/value.h"
4316 int yasm_value_finalize_expr( yasm_value *value,
4318 yasm_bytecode *precbc,
4320 # 129 "./libyasm/value.h"
4321 yasm_intnum *yasm_value_get_intnum
4322 (yasm_value *value, yasm_bytecode *bc, int calc_bc_dist);
4323 # 151 "./libyasm/value.h"
4324 int yasm_value_output_basic
4325 (yasm_value *value, unsigned char *buf, size_t destsize,
4326 yasm_bytecode *bc, int warn, yasm_arch *arch);
4333 void yasm_value_print(const yasm_value *value, FILE *f, int indent_level);
4334 # 72 "./libyasm.h" 2
4335 # 1 "./libyasm/symrec.h" 1
4336 # 41 "./libyasm/symrec.h"
4337 typedef enum yasm_sym_status {
4338 YASM_SYM_NOSTATUS = 0,
4339 YASM_SYM_USED = 1 << 0,
4340 YASM_SYM_DEFINED = 1 << 1,
4341 YASM_SYM_VALUED = 1 << 2,
4342 YASM_SYM_NOTINTABLE = 1 << 3
4347 yasm_symtab *yasm_symtab_create(void);
4354 void yasm_symtab_destroy( yasm_symtab *symtab);
4355 # 67 "./libyasm/symrec.h"
4356 yasm_symrec *yasm_symtab_abs_sym(yasm_symtab *symtab);
4357 # 76 "./libyasm/symrec.h"
4358 yasm_symrec *yasm_symtab_use
4359 (yasm_symtab *symtab, const char *name, unsigned long line);
4360 # 87 "./libyasm/symrec.h"
4361 yasm_symrec *yasm_symtab_get
4362 (yasm_symtab *symtab, const char *name);
4363 # 97 "./libyasm/symrec.h"
4364 yasm_symrec *yasm_symtab_define_equ
4365 (yasm_symtab *symtab, const char *name, yasm_expr *e,
4366 unsigned long line);
4367 # 110 "./libyasm/symrec.h"
4368 yasm_symrec *yasm_symtab_define_label
4369 (yasm_symtab *symtab, const char *name,
4370 yasm_bytecode *precbc, int in_table, unsigned long line);
4371 # 124 "./libyasm/symrec.h"
4372 yasm_symrec *yasm_symtab_define_curpos
4373 (yasm_symtab *symtab, const char *name,
4374 yasm_bytecode *precbc, unsigned long line);
4375 # 136 "./libyasm/symrec.h"
4376 yasm_symrec *yasm_symtab_define_special
4377 (yasm_symtab *symtab, const char *name, yasm_sym_vis vis);
4378 # 147 "./libyasm/symrec.h"
4379 yasm_symrec *yasm_symtab_declare
4380 (yasm_symtab *symtab, const char *name, yasm_sym_vis vis,
4381 unsigned long line);
4389 void yasm_symrec_declare(yasm_symrec *symrec, yasm_sym_vis vis,
4390 unsigned long line);
4397 typedef int (*yasm_symtab_traverse_callback)
4398 (yasm_symrec *sym, void *d);
4399 # 175 "./libyasm/symrec.h"
4400 int yasm_symtab_traverse
4401 (yasm_symtab *symtab, void *d,
4402 yasm_symtab_traverse_callback func);
4405 typedef struct yasm_symtab_iter yasm_symtab_iter;
4411 const yasm_symtab_iter *yasm_symtab_first(const yasm_symtab *symtab);
4417 const yasm_symtab_iter *yasm_symtab_next
4418 (const yasm_symtab_iter *prev);
4424 yasm_symrec *yasm_symtab_iter_value(const yasm_symtab_iter *cur);
4425 # 210 "./libyasm/symrec.h"
4426 void yasm_symtab_parser_finalize(yasm_symtab *symtab, int undef_extern,
4427 yasm_objfmt *objfmt,
4428 yasm_errwarns *errwarns);
4435 void yasm_symtab_print(yasm_symtab *symtab, FILE *f, int indent_level);
4441 const char *yasm_symrec_get_name(const yasm_symrec *sym);
4447 yasm_sym_vis yasm_symrec_get_visibility(const yasm_symrec *sym);
4453 yasm_sym_status yasm_symrec_get_status(const yasm_symrec *sym);
4459 unsigned long yasm_symrec_get_line(const yasm_symrec *sym);
4465 const yasm_expr *yasm_symrec_get_equ
4466 (const yasm_symrec *sym);
4469 typedef yasm_bytecode *yasm_symrec_get_label_bytecodep;
4477 int yasm_symrec_get_label(const yasm_symrec *sym,
4478 yasm_symrec_get_label_bytecodep *precbc);
4485 int yasm_symrec_is_abs(const yasm_symrec *sym);
4491 int yasm_symrec_is_special(const yasm_symrec *sym);
4497 int yasm_symrec_is_curpos(const yasm_symrec *sym);
4504 void *yasm_symrec_get_data
4505 (yasm_symrec *sym, const yasm_assoc_data_callback *callback);
4513 void yasm_symrec_add_data(yasm_symrec *sym,
4514 const yasm_assoc_data_callback *callback,
4522 void yasm_symrec_print(const yasm_symrec *sym, FILE *f, int indent_level);
4523 # 73 "./libyasm.h" 2
4525 # 1 "./libyasm/bytecode.h" 1
4526 # 38 "./libyasm/bytecode.h"
4527 typedef struct yasm_effaddr yasm_effaddr;
4530 typedef struct yasm_effaddr_callback {
4534 void (*destroy) ( yasm_effaddr *ea);
4541 void (*print) (const yasm_effaddr *ea, FILE *f, int indent_level);
4542 } yasm_effaddr_callback;
4545 struct yasm_effaddr {
4546 const yasm_effaddr_callback *callback;
4552 unsigned char need_nonzero_len;
4553 unsigned char need_disp;
4556 unsigned char nosplit;
4559 unsigned char strong;
4566 typedef struct yasm_dataval yasm_dataval;
4568 typedef struct yasm_datavalhead yasm_datavalhead;
4569 # 89 "./libyasm/bytecode.h"
4570 const yasm_expr *yasm_ea_get_disp(const yasm_effaddr *ea);
4577 void yasm_ea_set_len(yasm_effaddr *ea, unsigned int len);
4578 # 106 "./libyasm/bytecode.h"
4579 void yasm_ea_set_nosplit(yasm_effaddr *ea, unsigned int nosplit);
4580 # 116 "./libyasm/bytecode.h"
4581 void yasm_ea_set_strong(yasm_effaddr *ea, unsigned int strong);
4589 void yasm_ea_set_segreg(yasm_effaddr *ea, uintptr_t segreg);
4594 void yasm_ea_destroy( yasm_effaddr *ea);
4601 void yasm_ea_print(const yasm_effaddr *ea, FILE *f, int indent_level);
4609 void yasm_bc_set_multiple(yasm_bytecode *bc, yasm_expr *e);
4610 # 156 "./libyasm/bytecode.h"
4611 yasm_bytecode *yasm_bc_create_data
4612 (yasm_datavalhead *datahead, unsigned int size, int append_zero,
4613 yasm_arch *arch, unsigned long line);
4621 yasm_bytecode *yasm_bc_create_leb128
4622 (yasm_datavalhead *datahead, int sign, unsigned long line);
4630 yasm_bytecode *yasm_bc_create_reserve
4631 ( yasm_expr *numitems, unsigned int itemsize,
4632 unsigned long line);
4633 # 189 "./libyasm/bytecode.h"
4634 yasm_bytecode *yasm_bc_create_incbin
4635 ( char *filename, yasm_expr *start,
4636 yasm_expr *maxlen, yasm_linemap *linemap,
4637 unsigned long line);
4638 # 206 "./libyasm/bytecode.h"
4639 yasm_bytecode *yasm_bc_create_align
4640 ( yasm_expr *boundary, yasm_expr *fill,
4642 const unsigned char **code_fill, unsigned long line);
4650 yasm_bytecode *yasm_bc_create_org
4651 (unsigned long start, unsigned long line);
4652 # 230 "./libyasm/bytecode.h"
4653 yasm_bytecode *yasm_bc_create_insn
4654 (yasm_arch *arch, const uintptr_t insn_data[4], int num_operands,
4655 yasm_insn_operands *operands, unsigned long line);
4663 yasm_bytecode *yasm_bc_create_empty_insn(yasm_arch *arch,
4664 unsigned long line);
4670 void yasm_bc_insn_add_prefix(yasm_bytecode *bc,
4671 const uintptr_t prefix_data[4]);
4677 void yasm_bc_insn_add_seg_prefix(yasm_bytecode *bc, uintptr_t segreg);
4684 yasm_section *yasm_bc_get_section
4685 (yasm_bytecode *bc);
4686 # 276 "./libyasm/bytecode.h"
4687 void yasm_bc_destroy( yasm_bytecode *bc);
4694 void yasm_bc_print(const yasm_bytecode *bc, FILE *f, int indent_level);
4700 void yasm_bc_finalize(yasm_bytecode *bc, yasm_bytecode *prev_bc);
4701 # 298 "./libyasm/bytecode.h"
4702 yasm_intnum *yasm_calc_bc_dist
4703 (yasm_bytecode *precbc1, yasm_bytecode *precbc2);
4711 unsigned long yasm_bc_next_offset(yasm_bytecode *precbc);
4712 # 319 "./libyasm/bytecode.h"
4713 typedef void (*yasm_bc_add_span_func)
4714 (void *add_span_data, yasm_bytecode *bc, int id, const yasm_value *value,
4715 long neg_thres, long pos_thres);
4716 # 335 "./libyasm/bytecode.h"
4717 int yasm_bc_calc_len(yasm_bytecode *bc, yasm_bc_add_span_func add_span,
4718 void *add_span_data);
4719 # 352 "./libyasm/bytecode.h"
4720 int yasm_bc_expand(yasm_bytecode *bc, int span, long old_val, long new_val,
4721 long *neg_thres, long *pos_thres);
4722 # 375 "./libyasm/bytecode.h"
4723 unsigned char *yasm_bc_tobytes
4724 (yasm_bytecode *bc, unsigned char *buf, unsigned long *bufsize,
4725 int *gap, void *d, yasm_output_value_func output_value,
4726 yasm_output_reloc_func output_reloc)
4728 # 388 "./libyasm/bytecode.h"
4729 int yasm_bc_get_multiple(yasm_bytecode *bc, long *multiple,
4736 yasm_dataval *yasm_dv_create_expr( yasm_expr *expn);
4743 yasm_dataval *yasm_dv_create_string( char *contents, size_t len);
4750 yasm_dataval *yasm_dv_create_raw( unsigned char *contents,
4752 # 420 "./libyasm/bytecode.h"
4753 void yasm_dvs_initialize(yasm_datavalhead *headp);
4761 void yasm_dvs_delete(yasm_datavalhead *headp);
4762 # 439 "./libyasm/bytecode.h"
4763 yasm_dataval *yasm_dvs_append
4764 (yasm_datavalhead *headp, yasm_dataval *dv);
4771 void yasm_dvs_print(const yasm_datavalhead *headp, FILE *f, int indent_level);
4772 # 75 "./libyasm.h" 2
4773 # 1 "./libyasm/section.h" 1
4774 # 40 "./libyasm/section.h"
4775 typedef struct yasm_reloc yasm_reloc;
4776 # 57 "./libyasm/section.h"
4777 yasm_object *yasm_object_create(const char *src_filename,
4778 const char *obj_filename);
4779 # 76 "./libyasm/section.h"
4780 yasm_section *yasm_object_get_general
4781 (yasm_object *object, const char *name,
4782 yasm_expr *start, unsigned long align, int code,
4783 int res_only, int *isnew, unsigned long line);
4784 # 88 "./libyasm/section.h"
4785 yasm_section *yasm_object_create_absolute
4786 (yasm_object *object, yasm_expr *start, unsigned long line);
4792 void yasm_object_destroy( yasm_object *object);
4799 void yasm_object_print(const yasm_object *object, FILE *f, int indent_level);
4806 void yasm_object_finalize(yasm_object *object, yasm_errwarns *errwarns);
4807 # 118 "./libyasm/section.h"
4808 int yasm_object_sections_traverse
4809 (yasm_object *object, void *d,
4810 int (*func) (yasm_section *sect, void *d));
4817 yasm_section *yasm_object_find_general
4818 (yasm_object *object, const char *name);
4824 void yasm_object_set_source_fn(yasm_object *object, const char *src_filename);
4830 const char *yasm_object_get_source_fn(const yasm_object *object);
4836 const char *yasm_object_get_object_fn(const yasm_object *object);
4842 yasm_symtab *yasm_object_get_symtab(const yasm_object *object);
4848 yasm_linemap *yasm_object_get_linemap
4849 (const yasm_object *object);
4850 # 168 "./libyasm/section.h"
4851 void yasm_object_optimize(yasm_object *object, yasm_arch *arch,
4852 yasm_errwarns *errwarns);
4858 int yasm_section_is_absolute(yasm_section *sect);
4864 int yasm_section_is_code(yasm_section *sect);
4870 unsigned long yasm_section_get_opt_flags(const yasm_section *sect);
4876 void yasm_section_set_opt_flags(yasm_section *sect, unsigned long opt_flags);
4883 int yasm_section_is_default(const yasm_section *sect);
4889 void yasm_section_set_default(yasm_section *sect, int def);
4895 yasm_object *yasm_section_get_object(const yasm_section *sect);
4902 void *yasm_section_get_data
4903 (yasm_section *sect, const yasm_assoc_data_callback *callback);
4911 void yasm_section_add_data(yasm_section *sect,
4912 const yasm_assoc_data_callback *callback,
4914 # 241 "./libyasm/section.h"
4915 void yasm_section_add_reloc(yasm_section *sect, yasm_reloc *reloc,
4916 void (*destroy_func) ( void *reloc));
4922 yasm_reloc *yasm_section_relocs_first(yasm_section *sect);
4928 yasm_reloc *yasm_section_reloc_next(yasm_reloc *reloc);
4929 # 265 "./libyasm/section.h"
4930 void yasm_reloc_get(yasm_reloc *reloc, yasm_intnum **addrp,
4931 yasm_symrec **symp);
4938 yasm_bytecode *yasm_section_bcs_first(yasm_section *sect);
4945 yasm_bytecode *yasm_section_bcs_last(yasm_section *sect);
4946 # 291 "./libyasm/section.h"
4947 yasm_bytecode *yasm_section_bcs_append
4948 (yasm_section *sect,
4950 # 305 "./libyasm/section.h"
4951 int yasm_section_bcs_traverse
4952 (yasm_section *sect, yasm_errwarns *errwarns,
4953 void *d, int (*func) (yasm_bytecode *bc, void *d));
4959 const char *yasm_section_get_name
4960 (const yasm_section *sect);
4966 yasm_symrec *yasm_section_abs_get_sym
4967 (const yasm_section *sect);
4974 void yasm_section_set_start(yasm_section *sect, yasm_expr *start,
4975 unsigned long line);
4982 const yasm_expr *yasm_section_get_start
4983 (const yasm_section *sect);
4990 void yasm_section_set_align(yasm_section *sect, unsigned long align,
4991 unsigned long line);
4997 unsigned long yasm_section_get_align(const yasm_section *sect);
5005 void yasm_section_print( const yasm_section *sect, FILE *f,
5006 int indent_level, int print_bcs);
5007 # 76 "./libyasm.h" 2
5009 # 1 "./libyasm/arch.h" 1
5010 # 38 "./libyasm/arch.h"
5011 typedef enum yasm_arch_create_error {
5012 YASM_ARCH_CREATE_OK = 0,
5013 YASM_ARCH_CREATE_BAD_MACHINE,
5014 YASM_ARCH_CREATE_BAD_PARSER
5015 } yasm_arch_create_error;
5018 typedef enum yasm_arch_insnprefix {
5019 YASM_ARCH_NOTINSNPREFIX = 0,
5022 } yasm_arch_insnprefix;
5027 typedef enum yasm_arch_regtmod {
5028 YASM_ARCH_NOTREGTMOD = 0,
5033 } yasm_arch_regtmod;
5036 typedef struct yasm_insn_operand yasm_insn_operand;
5037 # 72 "./libyasm/arch.h"
5038 typedef struct yasm_arch_base {
5040 const struct yasm_arch_module *module;
5042 # 84 "./libyasm/arch.h"
5043 typedef struct yasm_arch_machine {
5048 const char *keyword;
5049 } yasm_arch_machine;
5057 typedef struct yasm_arch_module {
5066 const char *keyword;
5072 yasm_arch * (*create) (const char *machine, const char *parser,
5073 yasm_arch_create_error *error);
5078 void (*destroy) ( yasm_arch *arch);
5083 const char * (*get_machine) (const yasm_arch *arch);
5088 unsigned int (*get_address_size) (const yasm_arch *arch);
5093 int (*set_var) (yasm_arch *arch, const char *var, unsigned long val);
5098 void (*parse_cpu) (yasm_arch *arch, const char *cpuid, size_t cpuid_len);
5103 yasm_arch_insnprefix (*parse_check_insnprefix)
5104 (yasm_arch *arch, uintptr_t data[4], const char *id,
5110 yasm_arch_regtmod (*parse_check_regtmod)
5111 (yasm_arch *arch, uintptr_t *data, const char *id,
5117 int (*parse_directive) (yasm_arch *arch, const char *name,
5118 yasm_valparamhead *valparams,
5119 yasm_valparamhead *objext_valparams,
5120 yasm_object *object, unsigned long line);
5125 const unsigned char ** (*get_fill) (const yasm_arch *arch);
5130 void (*finalize_insn)
5131 (yasm_arch *arch, yasm_bytecode *bc, yasm_bytecode *prev_bc,
5132 const uintptr_t data[4], int num_operands,
5133 yasm_insn_operands *operands, int num_prefixes,
5134 uintptr_t **prefixes, int num_segregs, const uintptr_t *segregs);
5139 int (*floatnum_tobytes) (yasm_arch *arch, const yasm_floatnum *flt,
5140 unsigned char *buf, size_t destsize,
5141 size_t valsize, size_t shift, int warn);
5146 int (*intnum_tobytes) (yasm_arch *arch, const yasm_intnum *intn,
5147 unsigned char *buf, size_t destsize, size_t valsize,
5148 int shift, const yasm_bytecode *bc,
5154 unsigned int (*get_reg_size) (yasm_arch *arch, uintptr_t reg);
5159 uintptr_t (*reggroup_get_reg) (yasm_arch *arch, uintptr_t reggroup,
5160 unsigned long regindex);
5165 void (*reg_print) (yasm_arch *arch, uintptr_t reg, FILE *f);
5170 void (*segreg_print) (yasm_arch *arch, uintptr_t segreg, FILE *f);
5175 yasm_effaddr * (*ea_create) (yasm_arch *arch, yasm_expr *e);
5181 yasm_arch_machine *machines;
5187 const char *default_machine_keyword;
5193 unsigned int wordsize;
5199 unsigned int min_insn_len;
5201 # 297 "./libyasm/arch.h"
5202 const char *yasm_arch_name(const yasm_arch *arch);
5208 const char *yasm_arch_keyword(const yasm_arch *arch);
5214 unsigned int yasm_arch_wordsize(const yasm_arch *arch);
5220 unsigned int yasm_arch_min_insn_len(const yasm_arch *arch);
5221 # 326 "./libyasm/arch.h"
5222 yasm_arch *yasm_arch_create(const yasm_arch_module *module,
5223 const char *machine, const char *parser,
5224 yasm_arch_create_error *error);
5229 void yasm_arch_destroy( yasm_arch *arch);
5235 const char *yasm_arch_get_machine(const yasm_arch *arch);
5241 unsigned int yasm_arch_get_address_size(const yasm_arch *arch);
5249 int yasm_arch_set_var(yasm_arch *arch, const char *var, unsigned long val);
5250 # 362 "./libyasm/arch.h"
5251 void yasm_arch_parse_cpu(yasm_arch *arch, const char *cpuid, size_t cpuid_len);
5252 # 376 "./libyasm/arch.h"
5253 yasm_arch_insnprefix yasm_arch_parse_check_insnprefix
5254 (yasm_arch *arch, uintptr_t data[4], const char *id,
5256 # 392 "./libyasm/arch.h"
5257 yasm_arch_regtmod yasm_arch_parse_check_regtmod
5258 (yasm_arch *arch, uintptr_t *data, const char *id,
5260 # 408 "./libyasm/arch.h"
5261 int yasm_arch_parse_directive(yasm_arch *arch, const char *name,
5262 yasm_valparamhead *valparams,
5263 yasm_valparamhead *objext_valparams,
5264 yasm_object *object, unsigned long line);
5271 const unsigned char **yasm_arch_get_fill(const yasm_arch *arch);
5272 # 436 "./libyasm/arch.h"
5273 void yasm_arch_finalize_insn
5274 (yasm_arch *arch, yasm_bytecode *bc, yasm_bytecode *prev_bc,
5275 const uintptr_t data[4], int num_operands,
5276 yasm_insn_operands *operands, int num_prefixes,
5277 const uintptr_t **prefixes, int num_segregs, const uintptr_t *segregs);
5278 # 456 "./libyasm/arch.h"
5279 int yasm_arch_floatnum_tobytes(yasm_arch *arch, const yasm_floatnum *flt,
5280 unsigned char *buf, size_t destsize,
5281 size_t valsize, size_t shift, int warn);
5282 # 476 "./libyasm/arch.h"
5283 int yasm_arch_intnum_tobytes(yasm_arch *arch, const yasm_intnum *intn,
5284 unsigned char *buf, size_t destsize,
5285 size_t valsize, int shift,
5286 const yasm_bytecode *bc, int warn);
5293 unsigned int yasm_arch_get_reg_size(yasm_arch *arch, uintptr_t reg);
5294 # 496 "./libyasm/arch.h"
5295 uintptr_t yasm_arch_reggroup_get_reg(yasm_arch *arch, uintptr_t reggroup,
5296 unsigned long regindex);
5303 void yasm_arch_reg_print(yasm_arch *arch, uintptr_t reg, FILE *f);
5310 void yasm_arch_segreg_print(yasm_arch *arch, uintptr_t segreg, FILE *f);
5317 yasm_effaddr *yasm_arch_ea_create(yasm_arch *arch, yasm_expr *e);
5318 # 590 "./libyasm/arch.h"
5319 yasm_insn_operand *yasm_operand_create_reg(uintptr_t reg);
5325 yasm_insn_operand *yasm_operand_create_segreg(uintptr_t segreg);
5331 yasm_insn_operand *yasm_operand_create_mem( yasm_effaddr *ea);
5339 yasm_insn_operand *yasm_operand_create_imm( yasm_expr *val);
5347 void yasm_operand_print(const yasm_insn_operand *op, FILE *f, int indent_level,
5353 yasm_insn_operands *yasm_ops_create(void);
5359 void yasm_ops_destroy(yasm_insn_operands *headp, int content);
5365 yasm_insn_operand *yasm_ops_first(yasm_insn_operands *headp);
5371 yasm_insn_operand *yasm_operand_next(yasm_insn_operand *cur);
5372 # 666 "./libyasm/arch.h"
5373 yasm_insn_operand *yasm_ops_append
5374 (yasm_insn_operands *headp,
5375 yasm_insn_operand *op);
5383 void yasm_ops_print(const yasm_insn_operands *headp, FILE *f, int indent_level,
5385 # 78 "./libyasm.h" 2
5386 # 1 "./libyasm/dbgfmt.h" 1
5387 # 41 "./libyasm/dbgfmt.h"
5388 typedef struct yasm_dbgfmt_base {
5390 const struct yasm_dbgfmt_module *module;
5395 typedef struct yasm_dbgfmt_module {
5400 const char *keyword;
5401 # 63 "./libyasm/dbgfmt.h"
5402 yasm_dbgfmt * (*create)
5403 (yasm_object *object, yasm_objfmt *of, yasm_arch *a);
5408 void (*destroy) ( yasm_dbgfmt *dbgfmt);
5413 int (*directive) (yasm_dbgfmt *dbgfmt, const char *name,
5415 yasm_valparamhead *valparams,
5416 unsigned long line);
5421 void (*generate) (yasm_dbgfmt *dbgfmt, yasm_errwarns *errwarns);
5422 } yasm_dbgfmt_module;
5428 const char *yasm_dbgfmt_keyword(const yasm_dbgfmt *dbgfmt);
5429 # 100 "./libyasm/dbgfmt.h"
5430 yasm_dbgfmt *yasm_dbgfmt_create
5431 (const yasm_dbgfmt_module *module, yasm_object *object, yasm_objfmt *of,
5437 void yasm_dbgfmt_destroy( yasm_dbgfmt *dbgfmt);
5438 # 118 "./libyasm/dbgfmt.h"
5439 int yasm_dbgfmt_directive(yasm_dbgfmt *dbgfmt, const char *name,
5441 yasm_valparamhead *valparams,
5442 unsigned long line);
5449 void yasm_dbgfmt_generate(yasm_dbgfmt *dbgfmt, yasm_errwarns *errwarns);
5450 # 79 "./libyasm.h" 2
5451 # 1 "./libyasm/objfmt.h" 1
5452 # 41 "./libyasm/objfmt.h"
5453 typedef struct yasm_objfmt_base {
5455 const struct yasm_objfmt_module *module;
5460 typedef struct yasm_objfmt_module {
5465 const char *keyword;
5470 const char *extension;
5475 const unsigned char default_x86_mode_bits;
5482 const char **dbgfmt_keywords;
5487 const char *default_dbgfmt_keyword;
5488 # 84 "./libyasm/objfmt.h"
5489 yasm_objfmt * (*create) (yasm_object *object,
5495 void (*output) (yasm_objfmt *of, FILE *f, int all_syms, yasm_dbgfmt *df,
5496 yasm_errwarns *errwarns);
5501 void (*destroy) ( yasm_objfmt *objfmt);
5506 yasm_section * (*add_default_section) (yasm_objfmt *objfmt);
5512 (*section_switch)(yasm_objfmt *objfmt, yasm_valparamhead *valparams,
5513 yasm_valparamhead *objext_valparams,
5514 unsigned long line);
5519 yasm_symrec * (*extern_declare)
5520 (yasm_objfmt *objfmt, const char *name,
5521 yasm_valparamhead *objext_valparams, unsigned long line);
5526 yasm_symrec * (*global_declare)
5527 (yasm_objfmt *objfmt, const char *name,
5528 yasm_valparamhead *objext_valparams, unsigned long line);
5533 yasm_symrec * (*common_declare)
5534 (yasm_objfmt *objfmt, const char *name, yasm_expr *size,
5535 yasm_valparamhead *objext_valparams, unsigned long line);
5540 int (*directive) (yasm_objfmt *objfmt, const char *name,
5541 yasm_valparamhead *valparams,
5542 yasm_valparamhead *objext_valparams,
5543 unsigned long line);
5544 } yasm_objfmt_module;
5552 yasm_objfmt *yasm_objfmt_create
5553 (const yasm_objfmt_module *module, yasm_object *object, yasm_arch *a);
5554 # 161 "./libyasm/objfmt.h"
5555 void yasm_objfmt_output(yasm_objfmt *objfmt, FILE *f, int all_syms,
5556 yasm_dbgfmt *df, yasm_errwarns *errwarns);
5561 void yasm_objfmt_destroy( yasm_objfmt *objfmt);
5567 yasm_section *yasm_objfmt_add_default_section(yasm_objfmt *objfmt);
5568 # 184 "./libyasm/objfmt.h"
5569 yasm_section *yasm_objfmt_section_switch
5570 (yasm_objfmt *objfmt, yasm_valparamhead *valparams,
5571 yasm_valparamhead *objext_valparams, unsigned long line);
5572 # 196 "./libyasm/objfmt.h"
5573 yasm_symrec *yasm_objfmt_extern_declare
5574 (yasm_objfmt *objfmt, const char *name,
5575 yasm_valparamhead *objext_valparams, unsigned long line);
5576 # 208 "./libyasm/objfmt.h"
5577 yasm_symrec *yasm_objfmt_global_declare
5578 (yasm_objfmt *objfmt, const char *name,
5579 yasm_valparamhead *objext_valparams, unsigned long line);
5580 # 222 "./libyasm/objfmt.h"
5581 yasm_symrec *yasm_objfmt_common_declare
5582 (yasm_objfmt *objfmt, const char *name, yasm_expr *size,
5583 yasm_valparamhead *objext_valparams, unsigned long line);
5584 # 235 "./libyasm/objfmt.h"
5585 int yasm_objfmt_directive(yasm_objfmt *objfmt, const char *name,
5586 yasm_valparamhead *valparams,
5587 yasm_valparamhead *objext_valparams,
5588 unsigned long line);
5589 # 80 "./libyasm.h" 2
5590 # 1 "./libyasm/listfmt.h" 1
5591 # 41 "./libyasm/listfmt.h"
5592 typedef struct yasm_listfmt_base {
5594 const struct yasm_listfmt_module *module;
5595 } yasm_listfmt_base;
5599 typedef struct yasm_listfmt_module {
5604 const char *keyword;
5605 # 62 "./libyasm/listfmt.h"
5606 yasm_listfmt * (*create)
5607 (const char *in_filename, const char *obj_filename);
5612 void (*destroy) ( yasm_listfmt *listfmt);
5617 void (*output) (yasm_listfmt *listfmt, FILE *f, yasm_linemap *linemap,
5619 } yasm_listfmt_module;
5625 const char *yasm_listfmt_keyword(const yasm_listfmt *listfmt);
5626 # 91 "./libyasm/listfmt.h"
5627 yasm_listfmt *yasm_listfmt_create
5628 (const yasm_listfmt_module *module, const char *in_filename,
5629 const char *obj_filename);
5634 void yasm_listfmt_destroy( yasm_listfmt *listfmt);
5635 # 107 "./libyasm/listfmt.h"
5636 void yasm_listfmt_output(yasm_listfmt *listfmt, FILE *f,
5637 yasm_linemap *linemap, yasm_arch *arch);
5638 # 81 "./libyasm.h" 2
5639 # 1 "./libyasm/parser.h" 1
5640 # 38 "./libyasm/parser.h"
5641 typedef struct yasm_parser_module {
5646 const char *keyword;
5652 const char **preproc_keywords;
5655 const char *default_preproc_keyword;
5656 # 70 "./libyasm/parser.h"
5658 (yasm_object *object, yasm_preproc *pp, yasm_arch *a, yasm_objfmt *of,
5659 yasm_dbgfmt *df, FILE *f, const char *in_filename, int save_input,
5660 yasm_section *def_sect, yasm_errwarns *errwarns);
5661 } yasm_parser_module;
5662 # 82 "./libyasm.h" 2
5663 # 1 "./libyasm/preproc.h" 1
5664 # 41 "./libyasm/preproc.h"
5665 typedef struct yasm_preproc_base {
5667 const struct yasm_preproc_module *module;
5668 } yasm_preproc_base;
5672 typedef struct yasm_preproc_module {
5677 const char *keyword;
5678 # 67 "./libyasm/preproc.h"
5679 yasm_preproc * (*create) (FILE *f, const char *in_filename,
5681 yasm_errwarns *errwarns);
5686 void (*destroy) ( yasm_preproc *preproc);
5691 size_t (*input) (yasm_preproc *preproc, char *buf,
5697 size_t (*get_included_file) (yasm_preproc *preproc, char *buf,
5703 void (*add_include_file) (yasm_preproc *preproc, const char *filename);
5708 void (*predefine_macro) (yasm_preproc *preproc, const char *macronameval);
5713 void (*undefine_macro) (yasm_preproc *preproc, const char *macroname);
5718 void (*define_builtin) (yasm_preproc *preproc, const char *macronameval);
5719 } yasm_preproc_module;
5720 # 120 "./libyasm/preproc.h"
5721 yasm_preproc *yasm_preproc_create
5722 (yasm_preproc_module *module, FILE *f, const char *in_filename,
5723 yasm_linemap *lm, yasm_errwarns *errwarns);
5728 void yasm_preproc_destroy( yasm_preproc *preproc);
5729 # 136 "./libyasm/preproc.h"
5730 size_t yasm_preproc_input(yasm_preproc *preproc, char *buf,
5739 size_t yasm_preproc_get_included_file(yasm_preproc *preproc,
5740 char *buf, size_t max_size);
5746 void yasm_preproc_add_include_file(yasm_preproc *preproc,
5747 const char *filename);
5753 void yasm_preproc_predefine_macro(yasm_preproc *preproc,
5754 const char *macronameval);
5760 void yasm_preproc_undefine_macro(yasm_preproc *preproc, const char *macroname);
5766 void yasm_preproc_define_builtin(yasm_preproc *preproc,
5767 const char *macronameval);
5768 # 83 "./libyasm.h" 2
5770 # 1 "./libyasm/file.h" 1
5771 # 38 "./libyasm/file.h"
5772 typedef struct yasm_scanner {
5785 void yasm_scanner_initialize(yasm_scanner *scanner);
5790 void yasm_scanner_delete(yasm_scanner *scanner);
5791 # 67 "./libyasm/file.h"
5792 int yasm_fill_helper
5793 (yasm_scanner *scanner, unsigned char **cursor,
5794 size_t (*input_func) (void *d, unsigned char *buf, size_t max),
5795 void *input_func_data);
5796 # 81 "./libyasm/file.h"
5797 void yasm_unescape_cstring(unsigned char *str, size_t *len);
5798 # 90 "./libyasm/file.h"
5799 size_t yasm__splitpath_unix(const char *path, const char **tail);
5800 # 99 "./libyasm/file.h"
5801 size_t yasm__splitpath_win(const char *path, const char **tail);
5802 # 123 "./libyasm/file.h"
5803 char *yasm__abspath_unix(const char *path);
5810 char *yasm__abspath_win(const char *path);
5811 # 156 "./libyasm/file.h"
5812 char *yasm__combpath_unix(const char *from, const char *to);
5813 # 166 "./libyasm/file.h"
5814 char *yasm__combpath_win(const char *from, const char *to);
5815 # 205 "./libyasm/file.h"
5816 FILE *yasm_fopen_include
5817 (const char *iname, const char *from, const char *mode,
5822 void yasm_delete_include_paths(void);
5830 void yasm_add_include_path(const char *path);
5831 # 349 "./libyasm/file.h"
5832 size_t yasm_fwrite_16_l(unsigned short val, FILE *f);
5833 # 358 "./libyasm/file.h"
5834 size_t yasm_fwrite_32_l(unsigned long val, FILE *f);
5835 # 367 "./libyasm/file.h"
5836 size_t yasm_fwrite_16_b(unsigned short val, FILE *f);
5837 # 376 "./libyasm/file.h"
5838 size_t yasm_fwrite_32_b(unsigned long val, FILE *f);
5839 # 85 "./libyasm.h" 2
5840 # 1 "./libyasm/module.h" 1
5841 # 30 "./libyasm/module.h"
5842 typedef enum yasm_module_type {
5843 YASM_MODULE_ARCH = 0,
5846 YASM_MODULE_LISTFMT,
5851 void *yasm_load_module
5852 (yasm_module_type type, const char *keyword);
5853 # 55 "./libyasm/module.h"
5854 void yasm_list_modules
5855 (yasm_module_type type,
5856 void (*printfunc) (const char *name, const char *keyword));
5857 # 86 "./libyasm.h" 2
5858 # 34 "frontends/yasm/yasm.c" 2
5861 # 1 "/usr/include/libgen.h" 1 3 4
5865 # 1 "/usr/include/gentoo-multilib/x86/libgen.h" 1 3 4
5866 # 22 "/usr/include/gentoo-multilib/x86/libgen.h" 3 4
5867 # 1 "/usr/include/features.h" 1 3 4
5868 # 23 "/usr/include/gentoo-multilib/x86/libgen.h" 2 3 4
5873 extern char *dirname (char *__path) __attribute__ ((__nothrow__));
5881 extern char *__xpg_basename (char *__path) __attribute__ ((__nothrow__));
5885 # 5 "/usr/include/libgen.h" 2 3 4
5886 # 37 "frontends/yasm/yasm.c" 2
5889 # 1 "frontends/yasm/yasm-options.h" 1
5890 # 33 "frontends/yasm/yasm-options.h"
5891 typedef struct opt_option_s
5902 int (*handler) (char *cmd, char *param, int extra);
5906 const char *description;
5910 const char *param_desc;
5914 int not_an_option_handler(char *param);
5917 int other_option_handler(char *option);
5924 int parse_cmdline(int argc, char **argv, opt_option *options, size_t nopts,
5925 void (*print_error) (const char *fmt, ...));
5930 void help_msg(const char *msg, const char *tail, opt_option *options,
5932 # 40 "frontends/yasm/yasm.c" 2
5937 static const char *license_msg[] = {
5938 "Yasm is Copyright (c) 2001-2007 Peter Johnson and other Yasm developers.",
5940 "Yasm developers and/or contributors include:",
5943 " Brian Gladman (VC8 build files, other fixes)",
5944 " Stanislav Karchebny (options parser)",
5945 " Mathieu Monnier (SSE4 instruction patches)",
5946 " Anonymous \"NASM64\" developer (NASM preprocessor fixes)",
5947 " Stephen Polkowski (x86 instruction patches)",
5948 " Henryk Richter (Mach-O object format)",
5949 " Ben Skeggs (patches, bug reports)",
5951 "-----------------------------------",
5952 "Yasm licensing overview and summary",
5953 "-----------------------------------",
5955 "Note: This document does not provide legal advice nor is it the actual",
5956 "license of any part of Yasm. See the individual licenses for complete",
5957 "details. Consult a lawyer for legal advice.",
5959 "The primary license of Yasm is the 2-clause BSD license. Please use this",
5960 "license if you plan on submitting code to the project.",
5962 "Yasm has absolutely no warranty; not even for merchantibility or fitness",
5963 "for a particular purpose.",
5968 "Libyasm is 2-clause or 3-clause BSD licensed, with the exception of",
5969 "bitvect, which is triple-licensed under the Artistic license, GPL, and",
5970 "LGPL. Libyasm is thus GPL and LGPL compatible. In addition, this also",
5971 "means that libyasm is free for binary-only distribution as long as the",
5972 "terms of the 3-clause BSD license and Artistic license (as it applies to",
5973 "bitvect) are fulfilled.",
5978 "The modules are 2-clause or 3-clause BSD licensed, with the exception of:",
5979 " preprocs/nasm - LGPL licensed",
5984 "The frontends are 2-clause BSD licensed.",
5989 "The full text of all licenses are provided in separate files in the source",
5990 "distribution. Each source file may include the entire license (in the case",
5991 "of the BSD and Artistic licenses), or may reference the GPL or LGPL license",
5994 "BSD.txt - 2-clause and 3-clause BSD licenses",
5995 "Artistic.txt - Artistic license",
5996 "GNU_GPL-2.0 - GNU General Public License",
5997 "GNU_LGPL-2.0 - GNU Library General Public License",
5999 # 42 "frontends/yasm/yasm.c" 2
6004 static char *obj_filename = ((void *)0), *in_filename = ((void *)0);
6005 static char *list_filename = ((void *)0);
6006 static char *machine_name = ((void *)0);
6007 static int special_options = 0;
6008 static yasm_arch *cur_arch = ((void *)0);
6009 static const yasm_arch_module *
6010 cur_arch_module = ((void *)0);
6011 static const yasm_parser_module *
6012 cur_parser_module = ((void *)0);
6013 static yasm_preproc *cur_preproc = ((void *)0);
6014 static const yasm_preproc_module *
6015 cur_preproc_module = ((void *)0);
6016 static char *objfmt_keyword = ((void *)0);
6017 static yasm_objfmt *cur_objfmt = ((void *)0);
6018 static const yasm_objfmt_module *
6019 cur_objfmt_module = ((void *)0);
6020 static yasm_dbgfmt *cur_dbgfmt = ((void *)0);
6021 static const yasm_dbgfmt_module *
6022 cur_dbgfmt_module = ((void *)0);
6023 static yasm_listfmt *cur_listfmt = ((void *)0);
6024 static const yasm_listfmt_module *
6025 cur_listfmt_module = ((void *)0);
6026 static int preproc_only = 0;
6027 static unsigned int force_strict = 0;
6028 static int generate_make_dependencies = 0;
6029 static int warning_error = 0;
6033 } ewmsg_style = EWSTYLE_GNU;
6035 static FILE *open_file(const char *filename,
6037 static void check_errors( yasm_errwarns *errwarns,
6038 yasm_object *object);
6039 static void cleanup( yasm_object *object);
6042 static int opt_special_handler(char *cmd, char *param, int extra);
6043 static int opt_arch_handler(char *cmd, char *param, int extra);
6044 static int opt_parser_handler(char *cmd, char *param, int extra);
6045 static int opt_preproc_handler(char *cmd, char *param, int extra);
6046 static int opt_objfmt_handler(char *cmd, char *param, int extra);
6047 static int opt_dbgfmt_handler(char *cmd, char *param, int extra);
6048 static int opt_listfmt_handler(char *cmd, char *param, int extra);
6049 static int opt_listfile_handler(char *cmd, char *param, int extra);
6050 static int opt_objfile_handler(char *cmd, char *param, int extra);
6051 static int opt_machine_handler(char *cmd, char *param, int extra);
6052 static int opt_strict_handler(char *cmd, char *param, int extra);
6053 static int opt_warning_handler(char *cmd, char *param, int extra);
6054 static int preproc_only_handler(char *cmd, char *param, int extra);
6055 static int opt_include_option(char *cmd, char *param, int extra);
6056 static int opt_preproc_option(char *cmd, char *param, int extra);
6057 static int opt_ewmsg_handler(char *cmd, char *param, int extra);
6058 static int opt_makedep_handler(char *cmd, char *param, int extra);
6060 static char *replace_extension(const char *orig,
6061 const char *ext, const char *def);
6062 static void print_error(const char *fmt, ...);
6064 static void handle_yasm_int_error(const char *file,
6066 const char *message);
6067 static void handle_yasm_fatal(const char *message, va_list va);
6068 static const char *handle_yasm_gettext(const char *msgid);
6069 static void print_yasm_error(const char *filename, unsigned long line,
6070 const char *msg, const char *xref_fn,
6071 unsigned long xref_line,
6072 const char *xref_msg);
6073 static void print_yasm_warning(const char *filename, unsigned long line,
6076 static void apply_preproc_builtins(void);
6077 static void apply_preproc_saved_options(void);
6078 static void print_list_keyword_desc(const char *name, const char *keyword);
6079 # 129 "frontends/yasm/yasm.c"
6080 static opt_option options[] =
6082 { 0, "version", 0, opt_special_handler, 0x02,
6083 ("show version text"), ((void *)0) },
6084 { 0, "license", 0, opt_special_handler, 0x04,
6085 ("show license text"), ((void *)0) },
6086 { 'h', "help", 0, opt_special_handler, 0x01,
6087 ("show help text"), ((void *)0) },
6088 { 'a', "arch", 1, opt_arch_handler, 0,
6089 ("select architecture (list with -a help)"), ("arch") },
6090 { 'p', "parser", 1, opt_parser_handler, 0,
6091 ("select parser (list with -p help)"), ("parser") },
6092 { 'r', "preproc", 1, opt_preproc_handler, 0,
6093 ("select preprocessor (list with -r help)"), ("preproc") },
6094 { 'f', "oformat", 1, opt_objfmt_handler, 0,
6095 ("select object format (list with -f help)"), ("format") },
6096 { 'g', "dformat", 1, opt_dbgfmt_handler, 0,
6097 ("select debugging format (list with -g help)"), ("debug") },
6098 { 'L', "lformat", 1, opt_listfmt_handler, 0,
6099 ("select list format (list with -L help)"), ("list") },
6100 { 'l', "list", 1, opt_listfile_handler, 0,
6101 ("name of list-file output"), ("listfile") },
6102 { 'o', "objfile", 1, opt_objfile_handler, 0,
6103 ("name of object-file output"), ("filename") },
6104 { 'm', "machine", 1, opt_machine_handler, 0,
6105 ("select machine (list with -m help)"), ("machine") },
6106 { 0, "force-strict", 0, opt_strict_handler, 0,
6107 ("treat all sized operands as if `strict' was used"), ((void *)0) },
6108 { 'w', ((void *)0), 0, opt_warning_handler, 1,
6109 ("inhibits warning messages"), ((void *)0) },
6110 { 'W', ((void *)0), 0, opt_warning_handler, 0,
6111 ("enables/disables warning"), ((void *)0) },
6112 { 'M', ((void *)0), 0, opt_makedep_handler, 0,
6113 ("generate Makefile dependencies on stdout"), ((void *)0) },
6114 { 'e', "preproc-only", 0, preproc_only_handler, 0,
6115 ("preprocess only (writes output to stdout by default)"), ((void *)0) },
6116 { 'i', ((void *)0), 1, opt_include_option, 0,
6117 ("add include path"), ("path") },
6118 { 'I', ((void *)0), 1, opt_include_option, 0,
6119 ("add include path"), ("path") },
6120 { 'P', ((void *)0), 1, opt_preproc_option, 0,
6121 ("pre-include file"), ("filename") },
6122 { 'D', ((void *)0), 1, opt_preproc_option, 1,
6123 ("pre-define a macro, optionally to value"), ("macro[=value]") },
6124 { 'U', ((void *)0), 1, opt_preproc_option, 2,
6125 ("undefine a macro"), ("macro") },
6126 { 'X', ((void *)0), 1, opt_ewmsg_handler, 0,
6127 ("select error/warning message style (`gnu' or `vc')"), ("style") },
6131 static const char *version_msg[] = {
6132 "yasm" " " "0.6.0" "." "1798",
6133 "Compiled on " "Jun 22 2007" ".",
6134 "Copyright (c) 2001-2007 Peter Johnson and other Yasm developers.",
6135 "Run yasm --license for licensing overview and summary."
6139 static const char *help_head = ("usage: yasm [option]* file\n" "Options:\n");
6142 static const char *help_tail = ("\n" "Files are asm sources to be assembled.\n" "\n" "Sample invocation:\n" " yasm -f elf -o object.o source.asm\n" "\n" "Report bugs to bug-yasm@tortall.net\n");
6143 # 201 "frontends/yasm/yasm.c"
6144 typedef struct constcharparam_head { struct constcharparam *stqh_first; struct constcharparam **stqh_last; } constcharparam_head;
6146 typedef struct constcharparam {
6147 struct { struct constcharparam *stqe_next; } link;
6152 static constcharparam_head preproc_options;
6155 do_preproc_only(FILE *in)
6157 yasm_linemap *linemap;
6158 char *preproc_buf = yasm_xmalloc(16384);
6160 const char *base_filename;
6161 FILE *out = ((void *)0);
6162 yasm_errwarns *errwarns = yasm_errwarns_create();
6165 linemap = yasm_linemap_create();
6166 yasm_linemap_set(linemap, in_filename, 1, 1);
6170 if (!obj_filename || generate_make_dependencies) {
6175 if (generate_make_dependencies && !obj_filename) {
6178 obj_filename = yasm__xstrdup("yasm.out");
6181 yasm__splitpath_unix(in_filename, &base_filename);
6182 if (base_filename[0] == '\0')
6183 obj_filename = yasm__xstrdup("yasm.out");
6185 obj_filename = replace_extension(base_filename,
6186 cur_objfmt_module->extension, "yasm.out");
6191 out = open_file(obj_filename, "wt");
6193 yasm_xfree(preproc_buf);
6199 cur_preproc = cur_preproc_module->create(in, in_filename, linemap, errwarns);
6202 apply_preproc_builtins();
6203 apply_preproc_saved_options();
6205 if (generate_make_dependencies) {
6208 fprintf(stdout, "%s: %s", obj_filename, in_filename);
6209 totlen = strlen(obj_filename)+2+strlen(in_filename);
6211 while ((got = ((yasm_preproc_base *)cur_preproc)->module->get_included_file(cur_preproc, preproc_buf, 16384)) != 0) {
6215 fputs(" \\\n ", stdout);
6219 fwrite(preproc_buf, got, 1, stdout);
6221 fputc('\n', stdout);
6223 while ((got = ((yasm_preproc_base *)cur_preproc)->module->input(cur_preproc, preproc_buf, 16384)) != 0)
6225 fwrite(preproc_buf, got, 1, out);
6234 if (yasm_errwarns_num_errors(errwarns, warning_error) > 0) {
6235 yasm_errwarns_output_all(errwarns, linemap, warning_error,
6236 print_yasm_error, print_yasm_warning);
6238 remove(obj_filename);
6239 yasm_xfree(preproc_buf);
6240 yasm_linemap_destroy(linemap);
6241 yasm_errwarns_destroy(errwarns);
6242 cleanup(((void *)0));
6246 yasm_errwarns_output_all(errwarns, linemap, warning_error,
6247 print_yasm_error, print_yasm_warning);
6248 yasm_xfree(preproc_buf);
6249 yasm_linemap_destroy(linemap);
6250 yasm_errwarns_destroy(errwarns);
6251 cleanup(((void *)0));
6256 do_assemble(FILE *in)
6258 yasm_object *object;
6259 yasm_section *def_sect;
6260 const char *base_filename;
6261 FILE *obj = ((void *)0);
6262 yasm_arch_create_error arch_error;
6263 yasm_errwarns *errwarns = yasm_errwarns_create();
6267 if (!obj_filename) {
6270 obj_filename = yasm__xstrdup("yasm.out");
6273 yasm__splitpath_unix(in_filename, &base_filename);
6274 if (base_filename[0] == '\0')
6275 obj_filename = yasm__xstrdup("yasm.out");
6277 obj_filename = replace_extension(base_filename,
6278 cur_objfmt_module->extension,
6284 if (!machine_name) {
6289 if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cur_arch_module->keyword) && __builtin_constant_p ("x86") && (__s1_len = strlen (cur_arch_module->keyword), __s2_len = strlen ("x86"), (!((size_t)(const void *)((cur_arch_module->keyword) + 1) - (size_t)(const void *)(cur_arch_module->keyword) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("x86") + 1) - (size_t)(const void *)("x86") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cur_arch_module->keyword, "x86") : (__builtin_constant_p (cur_arch_module->keyword) && ((size_t)(const void *)((cur_arch_module->keyword) + 1) - (size_t)(const void *)(cur_arch_module->keyword) == 1) && (__s1_len = strlen (cur_arch_module->keyword), __s1_len < 4) ? (__builtin_constant_p ("x86") && ((size_t)(const void *)(("x86") + 1) - (size_t)(const void *)("x86") == 1) ? __builtin_strcmp (cur_arch_module->keyword, "x86") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("x86"); register int __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("x86") && ((size_t)(const void *)(("x86") + 1) - (size_t)(const void *)("x86") == 1) && (__s2_len = strlen ("x86"), __s2_len < 4) ? (__builtin_constant_p (cur_arch_module->keyword) && ((size_t)(const void *)((cur_arch_module->keyword) + 1) - (size_t)(const void *)(cur_arch_module->keyword) == 1) ? __builtin_strcmp (cur_arch_module->keyword, "x86") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cur_arch_module->keyword); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("x86"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("x86"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("x86"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("x86"))[3]); } } __result; }))) : __builtin_strcmp (cur_arch_module->keyword, "x86")))); }) == 0 &&
6290 cur_objfmt_module->default_x86_mode_bits == 64)
6291 machine_name = yasm__xstrdup("amd64");
6294 yasm__xstrdup(cur_arch_module->default_machine_keyword);
6297 cur_arch = cur_arch_module->create(machine_name,
6298 cur_parser_module->keyword,
6301 switch (arch_error) {
6302 case YASM_ARCH_CREATE_BAD_MACHINE:
6303 print_error(dcgettext (((void *)0), "%s: `%s' is not a valid %s for %s `%s'", __LC_MESSAGES),
6304 dcgettext (((void *)0), "FATAL", __LC_MESSAGES), machine_name, dcgettext (((void *)0), "machine", __LC_MESSAGES),
6305 dcgettext (((void *)0), "architecture", __LC_MESSAGES), cur_arch_module->keyword);
6307 case YASM_ARCH_CREATE_BAD_PARSER:
6308 print_error(dcgettext (((void *)0), "%s: `%s' is not a valid %s for %s `%s'", __LC_MESSAGES),
6309 dcgettext (((void *)0), "FATAL", __LC_MESSAGES), cur_parser_module->keyword,
6310 dcgettext (((void *)0), "parser", __LC_MESSAGES), dcgettext (((void *)0), "architecture", __LC_MESSAGES),
6311 cur_arch_module->keyword);
6314 print_error(dcgettext (((void *)0), "%s: unknown architecture error", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES));
6321 object = yasm_object_create(in_filename, obj_filename);
6322 yasm_linemap_set(yasm_object_get_linemap(object), in_filename, 1, 1);
6325 cur_objfmt = cur_objfmt_module->create(object, cur_arch);
6328 dcgettext (((void *)0), "%s: object format `%s' does not support architecture `%s' machine `%s'", __LC_MESSAGES),
6329 dcgettext (((void *)0), "FATAL", __LC_MESSAGES), cur_objfmt_module->keyword, cur_arch_module->keyword,
6338 cur_objfmt_module = ((yasm_objfmt_base *)cur_objfmt)->module;
6341 def_sect = ((yasm_objfmt_base *)cur_objfmt)->module->add_default_section(cur_objfmt);
6347 for (i=0; cur_objfmt_module->dbgfmt_keywords[i]; i++)
6348 if (strcasecmp(cur_objfmt_module->dbgfmt_keywords[i], cur_dbgfmt_module->keyword) == 0)
6352 print_error(dcgettext (((void *)0), "%s: `%s' is not a valid %s for %s `%s'", __LC_MESSAGES),
6353 dcgettext (((void *)0), "FATAL", __LC_MESSAGES), cur_dbgfmt_module->keyword, dcgettext (((void *)0), "debug format", __LC_MESSAGES),
6354 dcgettext (((void *)0), "object format", __LC_MESSAGES), cur_objfmt_module->keyword);
6362 cur_dbgfmt = cur_dbgfmt_module->create(object, cur_objfmt, cur_arch);
6366 dcgettext (((void *)0), "%s: debug format `%s' does not work with object format `%s'", __LC_MESSAGES),
6367 dcgettext (((void *)0), "FATAL", __LC_MESSAGES), cur_dbgfmt_module->keyword,
6368 cur_objfmt_module->keyword);
6378 for (i=0; cur_parser_module->preproc_keywords[i]; i++)
6379 if (strcasecmp(cur_parser_module->preproc_keywords[i], cur_preproc_module->keyword) == 0)
6383 print_error(dcgettext (((void *)0), "%s: `%s' is not a valid %s for %s `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6384 cur_preproc_module->keyword, dcgettext (((void *)0), "preprocessor", __LC_MESSAGES),
6385 dcgettext (((void *)0), "parser", __LC_MESSAGES), cur_parser_module->keyword);
6392 cur_preproc = cur_preproc_module->create(in, in_filename,
6393 yasm_object_get_linemap(object),
6396 apply_preproc_builtins();
6397 apply_preproc_saved_options();
6400 if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cur_arch_module->keyword) && __builtin_constant_p ("x86") && (__s1_len = strlen (cur_arch_module->keyword), __s2_len = strlen ("x86"), (!((size_t)(const void *)((cur_arch_module->keyword) + 1) - (size_t)(const void *)(cur_arch_module->keyword) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("x86") + 1) - (size_t)(const void *)("x86") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cur_arch_module->keyword, "x86") : (__builtin_constant_p (cur_arch_module->keyword) && ((size_t)(const void *)((cur_arch_module->keyword) + 1) - (size_t)(const void *)(cur_arch_module->keyword) == 1) && (__s1_len = strlen (cur_arch_module->keyword), __s1_len < 4) ? (__builtin_constant_p ("x86") && ((size_t)(const void *)(("x86") + 1) - (size_t)(const void *)("x86") == 1) ? __builtin_strcmp (cur_arch_module->keyword, "x86") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("x86"); register int __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cur_arch_module->keyword))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("x86") && ((size_t)(const void *)(("x86") + 1) - (size_t)(const void *)("x86") == 1) && (__s2_len = strlen ("x86"), __s2_len < 4) ? (__builtin_constant_p (cur_arch_module->keyword) && ((size_t)(const void *)((cur_arch_module->keyword) + 1) - (size_t)(const void *)(cur_arch_module->keyword) == 1) ? __builtin_strcmp (cur_arch_module->keyword, "x86") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cur_arch_module->keyword); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("x86"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("x86"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("x86"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("x86"))[3]); } } __result; }))) : __builtin_strcmp (cur_arch_module->keyword, "x86")))); }) == 0) {
6401 ((yasm_arch_base *)cur_arch)->module->set_var(cur_arch, "mode_bits", cur_objfmt_module->default_x86_mode_bits);
6405 ((yasm_arch_base *)cur_arch)->module->set_var(cur_arch, "force_strict", force_strict);
6408 cur_parser_module->do_parse(object, cur_preproc, cur_arch, cur_objfmt,
6409 cur_dbgfmt, in, in_filename,
6410 list_filename != ((void *)0), def_sect, errwarns);
6416 check_errors(errwarns, object);
6419 yasm_symtab_parser_finalize(yasm_object_get_symtab(object),
6420 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cur_parser_module->keyword) && __builtin_constant_p ("gas") && (__s1_len = strlen (cur_parser_module->keyword), __s2_len = strlen ("gas"), (!((size_t)(const void *)((cur_parser_module->keyword) + 1) - (size_t)(const void *)(cur_parser_module->keyword) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("gas") + 1) - (size_t)(const void *)("gas") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cur_parser_module->keyword, "gas") : (__builtin_constant_p (cur_parser_module->keyword) && ((size_t)(const void *)((cur_parser_module->keyword) + 1) - (size_t)(const void *)(cur_parser_module->keyword) == 1) && (__s1_len = strlen (cur_parser_module->keyword), __s1_len < 4) ? (__builtin_constant_p ("gas") && ((size_t)(const void *)(("gas") + 1) - (size_t)(const void *)("gas") == 1) ? __builtin_strcmp (cur_parser_module->keyword, "gas") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("gas"); register int __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("gas") && ((size_t)(const void *)(("gas") + 1) - (size_t)(const void *)("gas") == 1) && (__s2_len = strlen ("gas"), __s2_len < 4) ? (__builtin_constant_p (cur_parser_module->keyword) && ((size_t)(const void *)((cur_parser_module->keyword) + 1) - (size_t)(const void *)(cur_parser_module->keyword) == 1) ? __builtin_strcmp (cur_parser_module->keyword, "gas") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cur_parser_module->keyword); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("gas"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("gas"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("gas"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("gas"))[3]); } } __result; }))) : __builtin_strcmp (cur_parser_module->keyword, "gas")))); })==0 ||
6421 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cur_parser_module->keyword) && __builtin_constant_p ("gnu") && (__s1_len = strlen (cur_parser_module->keyword), __s2_len = strlen ("gnu"), (!((size_t)(const void *)((cur_parser_module->keyword) + 1) - (size_t)(const void *)(cur_parser_module->keyword) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("gnu") + 1) - (size_t)(const void *)("gnu") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cur_parser_module->keyword, "gnu") : (__builtin_constant_p (cur_parser_module->keyword) && ((size_t)(const void *)((cur_parser_module->keyword) + 1) - (size_t)(const void *)(cur_parser_module->keyword) == 1) && (__s1_len = strlen (cur_parser_module->keyword), __s1_len < 4) ? (__builtin_constant_p ("gnu") && ((size_t)(const void *)(("gnu") + 1) - (size_t)(const void *)("gnu") == 1) ? __builtin_strcmp (cur_parser_module->keyword, "gnu") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("gnu"); register int __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cur_parser_module->keyword))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("gnu") && ((size_t)(const void *)(("gnu") + 1) - (size_t)(const void *)("gnu") == 1) && (__s2_len = strlen ("gnu"), __s2_len < 4) ? (__builtin_constant_p (cur_parser_module->keyword) && ((size_t)(const void *)((cur_parser_module->keyword) + 1) - (size_t)(const void *)(cur_parser_module->keyword) == 1) ? __builtin_strcmp (cur_parser_module->keyword, "gnu") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cur_parser_module->keyword); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("gnu"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("gnu"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("gnu"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("gnu"))[3]); } } __result; }))) : __builtin_strcmp (cur_parser_module->keyword, "gnu")))); })==0,
6422 cur_objfmt, errwarns);
6423 check_errors(errwarns, object);
6426 yasm_object_finalize(object, errwarns);
6427 check_errors(errwarns, object);
6430 yasm_object_optimize(object, cur_arch, errwarns);
6431 check_errors(errwarns, object);
6434 ((yasm_dbgfmt_base *)cur_dbgfmt)->module->generate(cur_dbgfmt, errwarns);
6435 check_errors(errwarns, object);
6438 if (!obj && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cur_objfmt_module->keyword) && __builtin_constant_p ("dbg") && (__s1_len = strlen (cur_objfmt_module->keyword), __s2_len = strlen ("dbg"), (!((size_t)(const void *)((cur_objfmt_module->keyword) + 1) - (size_t)(const void *)(cur_objfmt_module->keyword) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("dbg") + 1) - (size_t)(const void *)("dbg") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cur_objfmt_module->keyword, "dbg") : (__builtin_constant_p (cur_objfmt_module->keyword) && ((size_t)(const void *)((cur_objfmt_module->keyword) + 1) - (size_t)(const void *)(cur_objfmt_module->keyword) == 1) && (__s1_len = strlen (cur_objfmt_module->keyword), __s1_len < 4) ? (__builtin_constant_p ("dbg") && ((size_t)(const void *)(("dbg") + 1) - (size_t)(const void *)("dbg") == 1) ? __builtin_strcmp (cur_objfmt_module->keyword, "dbg") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("dbg"); register int __result = (((__const unsigned char *) (__const char *) (cur_objfmt_module->keyword))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_objfmt_module->keyword))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_objfmt_module->keyword))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cur_objfmt_module->keyword))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("dbg") && ((size_t)(const void *)(("dbg") + 1) - (size_t)(const void *)("dbg") == 1) && (__s2_len = strlen ("dbg"), __s2_len < 4) ? (__builtin_constant_p (cur_objfmt_module->keyword) && ((size_t)(const void *)((cur_objfmt_module->keyword) + 1) - (size_t)(const void *)(cur_objfmt_module->keyword) == 1) ? __builtin_strcmp (cur_objfmt_module->keyword, "dbg") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cur_objfmt_module->keyword); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("dbg"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("dbg"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("dbg"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("dbg"))[3]); } } __result; }))) : __builtin_strcmp (cur_objfmt_module->keyword, "dbg")))); }) != 0) {
6439 obj = open_file(obj_filename, "wb");
6447 ((yasm_objfmt_base *)cur_objfmt)->module->output(cur_objfmt, obj?obj:stderr, __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cur_dbgfmt_module->keyword) && __builtin_constant_p ("null") && (__s1_len = strlen (cur_dbgfmt_module->keyword), __s2_len = strlen ("null"), (!((size_t)(const void *)((cur_dbgfmt_module->keyword) + 1) - (size_t)(const void *)(cur_dbgfmt_module->keyword) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("null") + 1) - (size_t)(const void *)("null") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cur_dbgfmt_module->keyword, "null") : (__builtin_constant_p (cur_dbgfmt_module->keyword) && ((size_t)(const void *)((cur_dbgfmt_module->keyword) + 1) - (size_t)(const void *)(cur_dbgfmt_module->keyword) == 1) && (__s1_len = strlen (cur_dbgfmt_module->keyword), __s1_len < 4) ? (__builtin_constant_p ("null") && ((size_t)(const void *)(("null") + 1) - (size_t)(const void *)("null") == 1) ? __builtin_strcmp (cur_dbgfmt_module->keyword, "null") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("null"); register int __result = (((__const unsigned char *) (__const char *) (cur_dbgfmt_module->keyword))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_dbgfmt_module->keyword))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cur_dbgfmt_module->keyword))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cur_dbgfmt_module->keyword))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("null") && ((size_t)(const void *)(("null") + 1) - (size_t)(const void *)("null") == 1) && (__s2_len = strlen ("null"), __s2_len < 4) ? (__builtin_constant_p (cur_dbgfmt_module->keyword) && ((size_t)(const void *)((cur_dbgfmt_module->keyword) + 1) - (size_t)(const void *)(cur_dbgfmt_module->keyword) == 1) ? __builtin_strcmp (cur_dbgfmt_module->keyword, "null") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cur_dbgfmt_module->keyword); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("null"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("null"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("null"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("null"))[3]); } } __result; }))) : __builtin_strcmp (cur_dbgfmt_module->keyword, "null")))); }), cur_dbgfmt, errwarns);
6458 if (yasm_errwarns_num_errors(errwarns, warning_error) > 0)
6459 remove(obj_filename);
6460 check_errors(errwarns, object);
6463 if (list_filename) {
6464 FILE *list = open_file(list_filename, "wt");
6470 cur_listfmt = cur_listfmt_module->create(in_filename, obj_filename);
6472 ((yasm_listfmt_base *)cur_listfmt)->module->output(cur_listfmt, list, yasm_object_get_linemap(object), cur_arch);
6477 yasm_errwarns_output_all(errwarns, yasm_object_get_linemap(object),
6478 warning_error, print_yasm_error,
6479 print_yasm_warning);
6481 yasm_errwarns_destroy(errwarns);
6489 main(int argc, char *argv[])
6491 FILE *in = ((void *)0);
6503 yasm_internal_error_ = handle_yasm_int_error;
6504 yasm_fatal = handle_yasm_fatal;
6505 yasm_gettext_hook = handle_yasm_gettext;
6506 yasm_errwarn_initialize();
6509 do { (((&preproc_options))->stqh_first) = ((void *)0); (&preproc_options)->stqh_last = &(((&preproc_options))->stqh_first); } while (0);
6511 if (parse_cmdline(argc, argv, options, (sizeof(options) / sizeof(options[0])), print_error))
6514 switch (special_options) {
6517 help_msg(help_head, help_tail, options, (sizeof(options) / sizeof(options[0])));
6520 for (i=0; i<(sizeof(version_msg) / sizeof(version_msg[0])); i++)
6521 printf("%s\n", version_msg[i]);
6524 for (i=0; i<(sizeof(license_msg) / sizeof(license_msg[0])); i++)
6525 printf("%s\n", license_msg[i]);
6533 if (BitVector_Boot() != ErrCode_Ok) {
6534 print_error(dcgettext (((void *)0), "%s: could not initialize BitVector", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES));
6539 yasm_intnum_initialize();
6540 yasm_floatnum_initialize();
6543 if (!cur_objfmt_module) {
6544 if (!objfmt_keyword)
6545 objfmt_keyword = yasm__xstrdup("bin");
6546 cur_objfmt_module = yasm_load_module(YASM_MODULE_OBJFMT, objfmt_keyword);
6547 if (!cur_objfmt_module) {
6548 print_error(dcgettext (((void *)0), "%s: could not load default %s", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6549 dcgettext (((void *)0), "object format", __LC_MESSAGES));
6555 if (!cur_arch_module) {
6556 cur_arch_module = yasm_load_module(YASM_MODULE_ARCH, "x86");
6557 if (!cur_arch_module) {
6558 print_error(dcgettext (((void *)0), "%s: could not load default %s", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6559 dcgettext (((void *)0), "architecture", __LC_MESSAGES));
6565 if (machine_name && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (machine_name) && __builtin_constant_p ("help") && (__s1_len = strlen (machine_name), __s2_len = strlen ("help"), (!((size_t)(const void *)((machine_name) + 1) - (size_t)(const void *)(machine_name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) || __s2_len >= 4)) ? __builtin_strcmp (machine_name, "help") : (__builtin_constant_p (machine_name) && ((size_t)(const void *)((machine_name) + 1) - (size_t)(const void *)(machine_name) == 1) && (__s1_len = strlen (machine_name), __s1_len < 4) ? (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) ? __builtin_strcmp (machine_name, "help") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("help"); register int __result = (((__const unsigned char *) (__const char *) (machine_name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (machine_name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (machine_name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (machine_name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) && (__s2_len = strlen ("help"), __s2_len < 4) ? (__builtin_constant_p (machine_name) && ((size_t)(const void *)((machine_name) + 1) - (size_t)(const void *)(machine_name) == 1) ? __builtin_strcmp (machine_name, "help") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (machine_name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("help"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("help"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("help"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("help"))[3]); } } __result; }))) : __builtin_strcmp (machine_name, "help")))); }) == 0) {
6566 yasm_arch_machine *m = cur_arch_module->machines;
6567 printf(dcgettext (((void *)0), "Available %s for %s `%s':\n", __LC_MESSAGES), dcgettext (((void *)0), "machines", __LC_MESSAGES),
6568 dcgettext (((void *)0), "architecture", __LC_MESSAGES), cur_arch_module->keyword);
6569 while (m->keyword && m->name) {
6570 print_list_keyword_desc(m->name, m->keyword);
6577 if (!cur_parser_module) {
6578 cur_parser_module = yasm_load_module(YASM_MODULE_PARSER, "nasm");
6579 if (!cur_parser_module) {
6580 print_error(dcgettext (((void *)0), "%s: could not load default %s", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6581 dcgettext (((void *)0), "parser", __LC_MESSAGES));
6582 cleanup(((void *)0));
6588 if (!cur_preproc_module) {
6589 cur_preproc_module =
6590 yasm_load_module(YASM_MODULE_PREPROC, cur_parser_module->default_preproc_keyword);
6591 if (!cur_preproc_module) {
6592 print_error(dcgettext (((void *)0), "%s: could not load default %s", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6593 dcgettext (((void *)0), "preprocessor", __LC_MESSAGES));
6594 cleanup(((void *)0));
6601 print_error(dcgettext (((void *)0), "No input files specified", __LC_MESSAGES));
6603 } else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (in_filename) && __builtin_constant_p ("-") && (__s1_len = strlen (in_filename), __s2_len = strlen ("-"), (!((size_t)(const void *)((in_filename) + 1) - (size_t)(const void *)(in_filename) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("-") + 1) - (size_t)(const void *)("-") == 1) || __s2_len >= 4)) ? __builtin_strcmp (in_filename, "-") : (__builtin_constant_p (in_filename) && ((size_t)(const void *)((in_filename) + 1) - (size_t)(const void *)(in_filename) == 1) && (__s1_len = strlen (in_filename), __s1_len < 4) ? (__builtin_constant_p ("-") && ((size_t)(const void *)(("-") + 1) - (size_t)(const void *)("-") == 1) ? __builtin_strcmp (in_filename, "-") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("-"); register int __result = (((__const unsigned char *) (__const char *) (in_filename))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (in_filename))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (in_filename))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (in_filename))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("-") && ((size_t)(const void *)(("-") + 1) - (size_t)(const void *)("-") == 1) && (__s2_len = strlen ("-"), __s2_len < 4) ? (__builtin_constant_p (in_filename) && ((size_t)(const void *)((in_filename) + 1) - (size_t)(const void *)(in_filename) == 1) ? __builtin_strcmp (in_filename, "-") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (in_filename); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("-"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("-"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("-"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("-"))[3]); } } __result; }))) : __builtin_strcmp (in_filename, "-")))); }) != 0) {
6605 in = fopen(in_filename, "rt");
6607 print_error(dcgettext (((void *)0), "%s: could not open file `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6609 yasm_xfree(in_filename);
6611 yasm_xfree(obj_filename);
6621 return do_preproc_only(in);
6624 if (list_filename) {
6626 if (!cur_listfmt_module) {
6627 cur_listfmt_module = yasm_load_module(YASM_MODULE_LISTFMT, "nasm");
6628 if (!cur_listfmt_module) {
6629 print_error(dcgettext (((void *)0), "%s: could not load default %s", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6630 dcgettext (((void *)0), "list format", __LC_MESSAGES));
6637 if (!cur_dbgfmt_module) {
6638 cur_dbgfmt_module = yasm_load_module(YASM_MODULE_DBGFMT, "null");
6639 if (!cur_dbgfmt_module) {
6640 print_error(dcgettext (((void *)0), "%s: could not load default %s", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6641 dcgettext (((void *)0), "debug format", __LC_MESSAGES));
6646 return do_assemble(in);
6652 open_file(const char *filename, const char *mode)
6656 f = fopen(filename, mode);
6658 print_error(dcgettext (((void *)0), "could not open file `%s'", __LC_MESSAGES), filename);
6663 check_errors(yasm_errwarns *errwarns, yasm_object *object)
6665 if (yasm_errwarns_num_errors(errwarns, warning_error) > 0) {
6666 yasm_errwarns_output_all(errwarns, yasm_object_get_linemap(object),
6667 warning_error, print_yasm_error,
6668 print_yasm_warning);
6669 yasm_errwarns_destroy(errwarns);
6674 # 739 "frontends/yasm/yasm.c"
6676 cleanup(yasm_object *object)
6680 ((yasm_objfmt_base *)cur_objfmt)->module->destroy(cur_objfmt);
6682 ((yasm_dbgfmt_base *)cur_dbgfmt)->module->destroy(cur_dbgfmt);
6684 ((yasm_listfmt_base *)cur_listfmt)->module->destroy(cur_listfmt);
6686 ((yasm_preproc_base *)cur_preproc)->module->destroy(cur_preproc);
6688 yasm_object_destroy(object);
6690 ((yasm_arch_base *)cur_arch)->module->destroy(cur_arch);
6692 yasm_floatnum_cleanup();
6693 yasm_intnum_cleanup();
6695 yasm_errwarn_cleanup();
6697 BitVector_Shutdown();
6702 yasm_xfree(in_filename);
6704 yasm_xfree(obj_filename);
6706 yasm_xfree(list_filename);
6708 yasm_xfree(machine_name);
6710 yasm_xfree(objfmt_keyword);
6718 not_an_option_handler(char *param)
6722 dcgettext (((void *)0), "warning: can open only one input file, only the last file will be processed", __LC_MESSAGES));
6723 yasm_xfree(in_filename);
6726 in_filename = yasm__xstrdup(param);
6732 other_option_handler(char *option)
6735 if (option[0] == '-' && option[1] == 'O') {
6738 if (option[n] == '\0')
6740 if (!((*__ctype_b_loc ())[(int) ((option[n]))] & (unsigned short int) _ISdigit))
6749 opt_special_handler( char *cmd, char *param, int extra)
6751 if (special_options == 0)
6752 special_options = extra;
6757 opt_arch_handler( char *cmd, char *param, int extra)
6760 cur_arch_module = yasm_load_module(YASM_MODULE_ARCH, param);
6761 if (!cur_arch_module) {
6762 if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("help") && __builtin_constant_p (param) && (__s1_len = strlen ("help"), __s2_len = strlen (param), (!((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("help", param) : (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) && (__s1_len = strlen ("help"), __s1_len < 4) ? (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (param); register int __result = (((__const unsigned char *) (__const char *) ("help"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ("help"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) && (__s2_len = strlen (param), __s2_len < 4) ? (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ("help"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (param))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (param))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (param))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (param))[3]); } } __result; }))) : __builtin_strcmp ("help", param)))); })) {
6763 printf(dcgettext (((void *)0), "Available yasm %s:\n", __LC_MESSAGES), dcgettext (((void *)0), "architectures", __LC_MESSAGES));
6764 yasm_list_modules(YASM_MODULE_ARCH, print_list_keyword_desc);
6765 special_options = 0x08;
6768 print_error(dcgettext (((void *)0), "%s: unrecognized %s `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6769 dcgettext (((void *)0), "architecture", __LC_MESSAGES), param);
6776 opt_parser_handler( char *cmd, char *param, int extra)
6779 cur_parser_module = yasm_load_module(YASM_MODULE_PARSER, param);
6780 if (!cur_parser_module) {
6781 if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("help") && __builtin_constant_p (param) && (__s1_len = strlen ("help"), __s2_len = strlen (param), (!((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("help", param) : (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) && (__s1_len = strlen ("help"), __s1_len < 4) ? (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (param); register int __result = (((__const unsigned char *) (__const char *) ("help"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ("help"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) && (__s2_len = strlen (param), __s2_len < 4) ? (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ("help"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (param))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (param))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (param))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (param))[3]); } } __result; }))) : __builtin_strcmp ("help", param)))); })) {
6782 printf(dcgettext (((void *)0), "Available yasm %s:\n", __LC_MESSAGES), dcgettext (((void *)0), "parsers", __LC_MESSAGES));
6783 yasm_list_modules(YASM_MODULE_PARSER, print_list_keyword_desc);
6784 special_options = 0x08;
6787 print_error(dcgettext (((void *)0), "%s: unrecognized %s `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES), dcgettext (((void *)0), "parser", __LC_MESSAGES),
6795 opt_preproc_handler( char *cmd, char *param, int extra)
6798 cur_preproc_module = yasm_load_module(YASM_MODULE_PREPROC, param);
6799 if (!cur_preproc_module) {
6800 if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("help") && __builtin_constant_p (param) && (__s1_len = strlen ("help"), __s2_len = strlen (param), (!((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("help", param) : (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) && (__s1_len = strlen ("help"), __s1_len < 4) ? (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (param); register int __result = (((__const unsigned char *) (__const char *) ("help"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ("help"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) && (__s2_len = strlen (param), __s2_len < 4) ? (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ("help"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (param))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (param))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (param))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (param))[3]); } } __result; }))) : __builtin_strcmp ("help", param)))); })) {
6801 printf(dcgettext (((void *)0), "Available yasm %s:\n", __LC_MESSAGES), dcgettext (((void *)0), "preprocessors", __LC_MESSAGES));
6802 yasm_list_modules(YASM_MODULE_PREPROC, print_list_keyword_desc);
6803 special_options = 0x08;
6806 print_error(dcgettext (((void *)0), "%s: unrecognized %s `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6807 dcgettext (((void *)0), "preprocessor", __LC_MESSAGES), param);
6814 opt_objfmt_handler( char *cmd, char *param, int extra)
6818 cur_objfmt_module = yasm_load_module(YASM_MODULE_OBJFMT, param);
6819 if (!cur_objfmt_module) {
6820 if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("help") && __builtin_constant_p (param) && (__s1_len = strlen ("help"), __s2_len = strlen (param), (!((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("help", param) : (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) && (__s1_len = strlen ("help"), __s1_len < 4) ? (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (param); register int __result = (((__const unsigned char *) (__const char *) ("help"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ("help"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) && (__s2_len = strlen (param), __s2_len < 4) ? (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ("help"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (param))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (param))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (param))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (param))[3]); } } __result; }))) : __builtin_strcmp ("help", param)))); })) {
6821 printf(dcgettext (((void *)0), "Available yasm %s:\n", __LC_MESSAGES), dcgettext (((void *)0), "object formats", __LC_MESSAGES));
6822 yasm_list_modules(YASM_MODULE_OBJFMT, print_list_keyword_desc);
6823 special_options = 0x08;
6826 print_error(dcgettext (((void *)0), "%s: unrecognized %s `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6827 dcgettext (((void *)0), "object format", __LC_MESSAGES), param);
6831 yasm_xfree(objfmt_keyword);
6832 objfmt_keyword = yasm__xstrdup(param);
6833 for (i=0; i<strlen(objfmt_keyword); i++)
6834 objfmt_keyword[i] = (__extension__ ({ int __res; if (sizeof (objfmt_keyword[i]) > 1) { if (__builtin_constant_p (objfmt_keyword[i])) { int __c = (objfmt_keyword[i]); __res = __c < -128 || __c > 255 ? __c : (*__ctype_tolower_loc ())[__c]; } else __res = tolower (objfmt_keyword[i]); } else __res = (*__ctype_tolower_loc ())[(int) (objfmt_keyword[i])]; __res; }));
6839 opt_dbgfmt_handler( char *cmd, char *param, int extra)
6842 cur_dbgfmt_module = yasm_load_module(YASM_MODULE_DBGFMT, param);
6843 if (!cur_dbgfmt_module) {
6844 if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("help") && __builtin_constant_p (param) && (__s1_len = strlen ("help"), __s2_len = strlen (param), (!((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("help", param) : (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) && (__s1_len = strlen ("help"), __s1_len < 4) ? (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (param); register int __result = (((__const unsigned char *) (__const char *) ("help"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ("help"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) && (__s2_len = strlen (param), __s2_len < 4) ? (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ("help"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (param))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (param))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (param))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (param))[3]); } } __result; }))) : __builtin_strcmp ("help", param)))); })) {
6845 printf(dcgettext (((void *)0), "Available yasm %s:\n", __LC_MESSAGES), dcgettext (((void *)0), "debug formats", __LC_MESSAGES));
6846 yasm_list_modules(YASM_MODULE_DBGFMT, print_list_keyword_desc);
6847 special_options = 0x08;
6850 print_error(dcgettext (((void *)0), "%s: unrecognized %s `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6851 dcgettext (((void *)0), "debug format", __LC_MESSAGES), param);
6858 opt_listfmt_handler( char *cmd, char *param,
6862 cur_listfmt_module = yasm_load_module(YASM_MODULE_LISTFMT, param);
6863 if (!cur_listfmt_module) {
6864 if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("help") && __builtin_constant_p (param) && (__s1_len = strlen ("help"), __s2_len = strlen (param), (!((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("help", param) : (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) && (__s1_len = strlen ("help"), __s1_len < 4) ? (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (param); register int __result = (((__const unsigned char *) (__const char *) ("help"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("help"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ("help"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (param) && ((size_t)(const void *)((param) + 1) - (size_t)(const void *)(param) == 1) && (__s2_len = strlen (param), __s2_len < 4) ? (__builtin_constant_p ("help") && ((size_t)(const void *)(("help") + 1) - (size_t)(const void *)("help") == 1) ? __builtin_strcmp ("help", param) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ("help"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (param))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (param))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (param))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (param))[3]); } } __result; }))) : __builtin_strcmp ("help", param)))); })) {
6865 printf(dcgettext (((void *)0), "Available yasm %s:\n", __LC_MESSAGES), dcgettext (((void *)0), "list formats", __LC_MESSAGES));
6866 yasm_list_modules(YASM_MODULE_LISTFMT, print_list_keyword_desc);
6867 special_options = 0x08;
6870 print_error(dcgettext (((void *)0), "%s: unrecognized %s `%s'", __LC_MESSAGES), dcgettext (((void *)0), "FATAL", __LC_MESSAGES),
6871 dcgettext (((void *)0), "list format", __LC_MESSAGES), param);
6878 opt_listfile_handler( char *cmd, char *param,
6881 if (list_filename) {
6883 dcgettext (((void *)0), "warning: can output to only one list file, last specified used", __LC_MESSAGES));
6884 yasm_xfree(list_filename);
6888 list_filename = yasm__xstrdup(param);
6894 opt_objfile_handler( char *cmd, char *param,
6899 dcgettext (((void *)0), "warning: can output to only one object file, last specified used", __LC_MESSAGES));
6900 yasm_xfree(obj_filename);
6904 obj_filename = yasm__xstrdup(param);
6910 opt_machine_handler( char *cmd, char *param,
6914 yasm_xfree(machine_name);
6917 machine_name = yasm__xstrdup(param);
6923 opt_strict_handler( char *cmd,
6932 opt_warning_handler(char *cmd, char *param, int extra)
6935 void (*action)(yasm_warn_class wclass) = yasm_warn_enable;
6939 yasm_warn_disable_all();
6947 if (cmd[0] == 'n' && cmd[1] == 'o' && cmd[2] == '-') {
6948 action = yasm_warn_disable;
6955 else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cmd) && __builtin_constant_p ("error") && (__s1_len = strlen (cmd), __s2_len = strlen ("error"), (!((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("error") + 1) - (size_t)(const void *)("error") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cmd, "error") : (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) && (__s1_len = strlen (cmd), __s1_len < 4) ? (__builtin_constant_p ("error") && ((size_t)(const void *)(("error") + 1) - (size_t)(const void *)("error") == 1) ? __builtin_strcmp (cmd, "error") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("error"); register int __result = (((__const unsigned char *) (__const char *) (cmd))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cmd))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("error") && ((size_t)(const void *)(("error") + 1) - (size_t)(const void *)("error") == 1) && (__s2_len = strlen ("error"), __s2_len < 4) ? (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) ? __builtin_strcmp (cmd, "error") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cmd); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("error"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("error"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("error"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("error"))[3]); } } __result; }))) : __builtin_strcmp (cmd, "error")))); }) == 0)
6956 warning_error = (action == yasm_warn_enable);
6957 else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cmd) && __builtin_constant_p ("unrecognized-char") && (__s1_len = strlen (cmd), __s2_len = strlen ("unrecognized-char"), (!((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("unrecognized-char") + 1) - (size_t)(const void *)("unrecognized-char") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cmd, "unrecognized-char") : (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) && (__s1_len = strlen (cmd), __s1_len < 4) ? (__builtin_constant_p ("unrecognized-char") && ((size_t)(const void *)(("unrecognized-char") + 1) - (size_t)(const void *)("unrecognized-char") == 1) ? __builtin_strcmp (cmd, "unrecognized-char") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("unrecognized-char"); register int __result = (((__const unsigned char *) (__const char *) (cmd))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cmd))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("unrecognized-char") && ((size_t)(const void *)(("unrecognized-char") + 1) - (size_t)(const void *)("unrecognized-char") == 1) && (__s2_len = strlen ("unrecognized-char"), __s2_len < 4) ? (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) ? __builtin_strcmp (cmd, "unrecognized-char") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cmd); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("unrecognized-char"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("unrecognized-char"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("unrecognized-char"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("unrecognized-char"))[3]); } } __result; }))) : __builtin_strcmp (cmd, "unrecognized-char")))); }) == 0)
6958 action(YASM_WARN_UNREC_CHAR);
6959 else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cmd) && __builtin_constant_p ("orphan-labels") && (__s1_len = strlen (cmd), __s2_len = strlen ("orphan-labels"), (!((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("orphan-labels") + 1) - (size_t)(const void *)("orphan-labels") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cmd, "orphan-labels") : (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) && (__s1_len = strlen (cmd), __s1_len < 4) ? (__builtin_constant_p ("orphan-labels") && ((size_t)(const void *)(("orphan-labels") + 1) - (size_t)(const void *)("orphan-labels") == 1) ? __builtin_strcmp (cmd, "orphan-labels") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("orphan-labels"); register int __result = (((__const unsigned char *) (__const char *) (cmd))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cmd))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("orphan-labels") && ((size_t)(const void *)(("orphan-labels") + 1) - (size_t)(const void *)("orphan-labels") == 1) && (__s2_len = strlen ("orphan-labels"), __s2_len < 4) ? (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) ? __builtin_strcmp (cmd, "orphan-labels") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cmd); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("orphan-labels"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("orphan-labels"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("orphan-labels"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("orphan-labels"))[3]); } } __result; }))) : __builtin_strcmp (cmd, "orphan-labels")))); }) == 0)
6960 action(YASM_WARN_ORPHAN_LABEL);
6961 else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (cmd) && __builtin_constant_p ("uninit-contents") && (__s1_len = strlen (cmd), __s2_len = strlen ("uninit-contents"), (!((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("uninit-contents") + 1) - (size_t)(const void *)("uninit-contents") == 1) || __s2_len >= 4)) ? __builtin_strcmp (cmd, "uninit-contents") : (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) && (__s1_len = strlen (cmd), __s1_len < 4) ? (__builtin_constant_p ("uninit-contents") && ((size_t)(const void *)(("uninit-contents") + 1) - (size_t)(const void *)("uninit-contents") == 1) ? __builtin_strcmp (cmd, "uninit-contents") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("uninit-contents"); register int __result = (((__const unsigned char *) (__const char *) (cmd))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (cmd))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (cmd))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("uninit-contents") && ((size_t)(const void *)(("uninit-contents") + 1) - (size_t)(const void *)("uninit-contents") == 1) && (__s2_len = strlen ("uninit-contents"), __s2_len < 4) ? (__builtin_constant_p (cmd) && ((size_t)(const void *)((cmd) + 1) - (size_t)(const void *)(cmd) == 1) ? __builtin_strcmp (cmd, "uninit-contents") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (cmd); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("uninit-contents"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("uninit-contents"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("uninit-contents"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("uninit-contents"))[3]); } } __result; }))) : __builtin_strcmp (cmd, "uninit-contents")))); }) == 0)
6962 action(YASM_WARN_UNINIT_CONTENTS);
6970 preproc_only_handler( char *cmd, char *param,
6978 opt_include_option( char *cmd, char *param, int extra)
6980 yasm_add_include_path(param);
6985 opt_preproc_option( char *cmd, char *param, int extra)
6988 cp = yasm_xmalloc(sizeof(constcharparam));
6991 do { (((cp))->link.stqe_next) = ((void *)0); *(&preproc_options)->stqh_last = (cp); (&preproc_options)->stqh_last = &(((cp))->link.stqe_next); } while (0);
6996 opt_ewmsg_handler( char *cmd, char *param, int extra)
6998 if (strcasecmp(param, "gnu") == 0 ||
6999 strcasecmp(param, "gcc") == 0) {
7000 ewmsg_style = EWSTYLE_GNU;
7001 } else if (strcasecmp(param, "vc") == 0) {
7002 ewmsg_style = EWSTYLE_VC;
7004 print_error(dcgettext (((void *)0), "warning: unrecognized message style `%s'", __LC_MESSAGES), param);
7010 opt_makedep_handler( char *cmd, char *param,
7015 generate_make_dependencies = 1;
7021 apply_preproc_builtins()
7026 predef = yasm_xmalloc(strlen("__YASM_OBJFMT__=")
7027 + strlen(objfmt_keyword) + 1);
7028 strcpy(predef, "__YASM_OBJFMT__=");
7029 strcat(predef, objfmt_keyword);
7030 ((yasm_preproc_base *)cur_preproc)->module->define_builtin(cur_preproc, predef);
7035 apply_preproc_saved_options()
7037 constcharparam *cp, *cpnext;
7039 void (*funcs[3])(yasm_preproc *, const char *);
7040 funcs[0] = cur_preproc_module->add_include_file;
7041 funcs[1] = cur_preproc_module->predefine_macro;
7042 funcs[2] = cur_preproc_module->undefine_macro;
7044 for((cp) = (((&preproc_options))->stqh_first); (cp); (cp) = (((cp))->link.stqe_next)) {
7045 if (0 <= cp->id && cp->id < 3 && funcs[cp->id])
7046 funcs[cp->id](cur_preproc, cp->param);
7049 cp = ((&preproc_options)->stqh_first);
7050 while (cp != ((void *)0)) {
7051 cpnext = ((cp)->link.stqe_next);
7055 do { (((&preproc_options))->stqh_first) = ((void *)0); (&preproc_options)->stqh_last = &(((&preproc_options))->stqh_first); } while (0);
7065 replace_extension(const char *orig, const char *ext,
7071 out = yasm_xmalloc(strlen(orig)+(ext ? (strlen(ext)+2) : 1));
7073 outext = strrchr(out, '.');
7079 if (ext && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (outext) && __builtin_constant_p (ext) && (__s1_len = strlen (outext), __s2_len = strlen (ext), (!((size_t)(const void *)((outext) + 1) - (size_t)(const void *)(outext) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) || __s2_len >= 4)) ? __builtin_strcmp (outext, ext) : (__builtin_constant_p (outext) && ((size_t)(const void *)((outext) + 1) - (size_t)(const void *)(outext) == 1) && (__s1_len = strlen (outext), __s1_len < 4) ? (__builtin_constant_p (ext) && ((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) ? __builtin_strcmp (outext, ext) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (ext); register int __result = (((__const unsigned char *) (__const char *) (outext))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (outext))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (outext))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (outext))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (ext) && ((size_t)(const void *)((ext) + 1) - (size_t)(const void *)(ext) == 1) && (__s2_len = strlen (ext), __s2_len < 4) ? (__builtin_constant_p (outext) && ((size_t)(const void *)((outext) + 1) - (size_t)(const void *)(outext) == 1) ? __builtin_strcmp (outext, ext) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (outext); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (ext))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (ext))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (ext))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (ext))[3]); } } __result; }))) : __builtin_strcmp (outext, ext)))); }) == 0) {
7080 outext = ((void *)0);
7082 dcgettext (((void *)0), "file name already ends in `.%s': output will be in `%s'", __LC_MESSAGES),
7091 dcgettext (((void *)0), "file name already has no extension: output will be in `%s'", __LC_MESSAGES),
7094 outext = strrchr(out, '\0');
7106 strcpy(outext, ext);
7114 print_list_keyword_desc(const char *name, const char *keyword)
7116 printf("%4s%-12s%s\n", "", keyword, name);
7120 print_error(const char *fmt, ...)
7123 fprintf(stderr, "yasm: ");
7124 __builtin_va_start(va,fmt);
7125 vfprintf(stderr, fmt, va);
7126 __builtin_va_end(va);
7127 fputc('\n', stderr);
7131 handle_yasm_int_error(const char *file, unsigned int line, const char *message)
7133 fprintf(stderr, dcgettext (((void *)0), "INTERNAL ERROR at %s, line %u: %s\n", __LC_MESSAGES), file, line,
7134 dcgettext (((void *)0), message, __LC_MESSAGES));
7143 handle_yasm_fatal(const char *fmt, va_list va)
7145 fprintf(stderr, "yasm: %s: ", dcgettext (((void *)0), "FATAL", __LC_MESSAGES));
7146 vfprintf(stderr, dcgettext (((void *)0), fmt, __LC_MESSAGES), va);
7147 fputc('\n', stderr);
7152 handle_yasm_gettext(const char *msgid)
7154 return dcgettext (((void *)0), msgid, __LC_MESSAGES);
7157 static const char *fmt[2] = {
7162 static const char *fmt_noline[2] = {
7168 print_yasm_error(const char *filename, unsigned long line, const char *msg,
7169 const char *xref_fn, unsigned long xref_line,
7170 const char *xref_msg)
7173 fprintf(stderr, fmt[ewmsg_style], filename, line, "", msg);
7175 fprintf(stderr, fmt_noline[ewmsg_style], filename, "", msg);
7177 if (xref_fn && xref_msg) {
7179 fprintf(stderr, fmt[ewmsg_style], xref_fn, xref_line, "", xref_msg);
7181 fprintf(stderr, fmt_noline[ewmsg_style], xref_fn, "", xref_msg);
7186 print_yasm_warning(const char *filename, unsigned long line, const char *msg)
7189 fprintf(stderr, fmt[ewmsg_style], filename, line, dcgettext (((void *)0), "warning: ", __LC_MESSAGES), msg);
7191 fprintf(stderr, fmt_noline[ewmsg_style], filename, dcgettext (((void *)0), "warning: ", __LC_MESSAGES), msg);