>Number: 7802 >Category: bootstrap >Synopsis: stage2 bootstrap of gcc-3-3 (20020901) failure on sparc32-linux >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Sun Sep 01 12:56:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Christian Jönsson >Release: 3.3 20020901 (experimental) >Organization: >Environment: Linux sparky.j-son.org 2.4.18-0.998sparcsmp #1 SMP Thu Aug 29 00:53:09 EDT 2002 sparc unknown Architecture: sparc host: sparc-unknown-linux-gnu build: sparc-unknown-linux-gnu target: sparc-unknown-linux-gnu configured with: ../gcc/configure >Description: Reading specs from stage1/specs Configured with: ../gcc/configure Thread model: posix gcc version 3.3 20020901 (experimental) stage1/cc1 -E -quiet -v -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/config -I../../gcc/gcc/../include -iprefix stage1/../lib/gcc-lib/sparc-unknown-linux-gnu/3.3/ -isystem include -isystem stage1/include -isystem /usr/local/sparc-unknown-linux-gnu/bin/include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -D__sparc__ -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__sparc__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=unix -Asystem=posix -D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc -DIN_GCC -DHAVE_CONFIG_H ../../gcc/gcc/cppfiles.c -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -fno-common -O2 cppfiles.i ignoring nonexistent directory "stage1/include" ignoring nonexistent directory "/usr/local/sparc-unknown-linux-gnu/bin/include" ignoring nonexistent directory "lib/gcc-lib/sparc-unknown-linux-gnu/3.3/include"ignoring nonexistent directory "lib/gcc-lib/sparc-unknown-linux-gnu/3.3/../../../../sparc-unknown-linux-gnu/include" ignoring nonexistent directory "NONE/include" ignoring nonexistent directory "/usr/local/lib/gcc-lib/sparc-unknown-linux-gnu/3.3/include" ignoring nonexistent directory "/usr/local/sparc-unknown-linux-gnu/include" ignoring duplicate directory "." ignoring duplicate directory "../../gcc/gcc" #include "..." search starts here: #include <...> search starts here: . ../../gcc/gcc ../../gcc/gcc/config ../../gcc/include include /usr/local/include /usr/include End of search list. ../../gcc/gcc/cppfiles.c:1415:30: warning: null character(s) ignored cc1: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Here's the preprocessed file cppfiles.i: # 1 "../../gcc/gcc/cppfiles.c" # 1 "" # 1 "" # 1 "../../gcc/gcc/cppfiles.c" # 23 "../../gcc/gcc/cppfiles.c" # 1 "config.h" 1 # 1 "auto-host.h" 1 # 3 "config.h" 2 struct rtx_def; typedef struct rtx_def *rtx; struct rtvec_def; typedef struct rtvec_def *rtvec; union tree_node; typedef union tree_node *tree; # 1 "../../gcc/include/ansidecl.h" 1 # 18 "config.h" 2 # 1 "../../gcc/gcc/config/sparc/sparc.h" 1 # 82 "../../gcc/gcc/config/sparc/sparc.h" enum cmodel { CM_32, CM_MEDLOW, CM_MEDMID, CM_MEDANY, CM_EMBMEDANY }; extern const char *sparc_cmodel_string; extern enum cmodel sparc_cmodel; # 382 "../../gcc/gcc/config/sparc/sparc.h" extern int target_flags; # 606 "../../gcc/gcc/config/sparc/sparc.h" enum processor_type { PROCESSOR_V7, PROCESSOR_CYPRESS, PROCESSOR_V8, PROCESSOR_SUPERSPARC, PROCESSOR_SPARCLITE, PROCESSOR_F930, PROCESSOR_F934, PROCESSOR_HYPERSPARC, PROCESSOR_SPARCLITE86X, PROCESSOR_SPARCLET, PROCESSOR_TSC701, PROCESSOR_V9, PROCESSOR_ULTRASPARC, PROCESSOR_ULTRASPARC3 }; extern enum processor_type sparc_cpu; # 645 "../../gcc/gcc/config/sparc/sparc.h" struct sparc_cpu_select { const char *string; const char *const name; const int set_tune_p; const int set_arch_p; }; extern struct sparc_cpu_select sparc_select[]; # 1028 "../../gcc/gcc/config/sparc/sparc.h" extern const int *hard_regno_mode_classes; extern int sparc_mode_class[]; # 1208 "../../gcc/gcc/config/sparc/sparc.h" enum reg_class { NO_REGS, FPCC_REGS, I64_REGS, GENERAL_REGS, FP_REGS, EXTRA_FP_REGS, GENERAL_OR_FP_REGS, GENERAL_OR_EXTRA_FP_REGS, ALL_REGS, LIM_REG_CLASSES }; # 1241 "../../gcc/gcc/config/sparc/sparc.h" extern enum reg_class sparc_regno_reg_class[102]; # 1324 "../../gcc/gcc/config/sparc/sparc.h" extern char sparc_leaf_regs[]; extern char leaf_reg_remap[]; # 1724 "../../gcc/gcc/config/sparc/sparc.h" struct sparc_args { int words; int prototype_p; int libcall_p; }; # 1813 "../../gcc/gcc/config/sparc/sparc.h" extern rtx sparc_compare_op0; extern rtx sparc_compare_op1; # 1842 "../../gcc/gcc/config/sparc/sparc.h" extern char sparc_hard_reg_printed[8]; # 19 "config.h" 2 # 1 "../../gcc/gcc/config/dbxelf.h" 1 # 20 "config.h" 2 # 1 "../../gcc/gcc/config/elfos.h" 1 # 21 "config.h" 2 # 1 "../../gcc/gcc/config/svr4.h" 1 # 22 "config.h" 2 # 1 "../../gcc/gcc/config/sparc/sysv4.h" 1 # 23 "config.h" 2 # 1 "../../gcc/gcc/config/sparc/linux.h" 1 # 24 "config.h" 2 # 1 "../../gcc/gcc/defaults.h" 1 # 25 "config.h" 2 # 1 "insn-constants.h" 1 # 31 "config.h" 2 # 1 "insn-flags.h" 1 # 210 "insn-flags.h" extern rtx gen_get_pc (rtx, rtx, rtx); extern rtx gen_movsi_lo_sum_pic (rtx, rtx, rtx); extern rtx gen_movsi_high_pic (rtx, rtx); static __inline__ rtx gen_movdi_lo_sum_pic (rtx, rtx, rtx); static __inline__ rtx gen_movdi_lo_sum_pic(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_movdi_high_pic (rtx, rtx); static __inline__ rtx gen_movdi_high_pic(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_seth44 (rtx, rtx); extern rtx gen_setm44 (rtx, rtx, rtx); extern rtx gen_setl44 (rtx, rtx, rtx); extern rtx gen_sethh (rtx, rtx); extern rtx gen_setlm (rtx, rtx); extern rtx gen_sethm (rtx, rtx, rtx); extern rtx gen_setlo (rtx, rtx, rtx); extern rtx gen_embmedany_sethi (rtx, rtx); extern rtx gen_embmedany_losum (rtx, rtx, rtx); extern rtx gen_embmedany_brsum (rtx, rtx); extern rtx gen_embmedany_textuhi (rtx, rtx); extern rtx gen_embmedany_texthi (rtx, rtx); extern rtx gen_embmedany_textulo (rtx, rtx, rtx); extern rtx gen_embmedany_textlo (rtx, rtx, rtx); extern rtx gen_movdf_cc_sp64 (rtx, rtx, rtx, rtx, rtx); static __inline__ rtx gen_movdf_cc_reg_sp64 (rtx, rtx, rtx, rtx, rtx); static __inline__ rtx gen_movdf_cc_reg_sp64(a, b, c, d, e) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); rtx d __attribute__ ((__unused__)); rtx e __attribute__ ((__unused__)); { return 0; } extern rtx gen_extendsfdf2 (rtx, rtx); extern rtx gen_truncdfsf2 (rtx, rtx); extern rtx gen_floatsisf2 (rtx, rtx); extern rtx gen_floatsidf2 (rtx, rtx); extern rtx gen_floatdisf2 (rtx, rtx); extern rtx gen_floatdidf2 (rtx, rtx); extern rtx gen_fix_truncsfsi2 (rtx, rtx); extern rtx gen_fix_truncdfsi2 (rtx, rtx); extern rtx gen_fix_truncsfdi2 (rtx, rtx); extern rtx gen_fix_truncdfdi2 (rtx, rtx); extern rtx gen_adddi3_insn_sp32 (rtx, rtx, rtx); extern rtx gen_addx (rtx, rtx, rtx); extern rtx gen_subx (rtx, rtx, rtx); extern rtx gen_cmp_minus_cc_set (rtx, rtx, rtx); extern rtx gen_mulsi3 (rtx, rtx, rtx); extern rtx gen_muldi3_v8plus (rtx, rtx, rtx); extern rtx gen_mulsidi3_v8plus (rtx, rtx, rtx); extern rtx gen_const_mulsidi3_v8plus (rtx, rtx, rtx); extern rtx gen_const_mulsidi3_sp32 (rtx, rtx, rtx); static __inline__ rtx gen_const_mulsidi3_sp64 (rtx, rtx, rtx); static __inline__ rtx gen_const_mulsidi3_sp64(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } extern rtx gen_smulsi3_highpart_v8plus (rtx, rtx, rtx, rtx); extern rtx gen_const_smulsi3_highpart_v8plus (rtx, rtx, rtx, rtx); extern rtx gen_const_smulsi3_highpart (rtx, rtx, rtx); extern rtx gen_umulsidi3_v8plus (rtx, rtx, rtx); extern rtx gen_const_umulsidi3_sp32 (rtx, rtx, rtx); static __inline__ rtx gen_const_umulsidi3_sp64 (rtx, rtx, rtx); static __inline__ rtx gen_const_umulsidi3_sp64(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } extern rtx gen_const_umulsidi3_v8plus (rtx, rtx, rtx); extern rtx gen_umulsi3_highpart_v8plus (rtx, rtx, rtx, rtx); extern rtx gen_const_umulsi3_highpart_v8plus (rtx, rtx, rtx, rtx); extern rtx gen_const_umulsi3_highpart (rtx, rtx, rtx); extern rtx gen_divsi3_sp32 (rtx, rtx, rtx); static __inline__ rtx gen_divsi3_sp64 (rtx, rtx, rtx, rtx); static __inline__ rtx gen_divsi3_sp64(a, b, c, d) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); rtx d __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_divdi3 (rtx, rtx, rtx); static __inline__ rtx gen_divdi3(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } extern rtx gen_udivsi3_sp32 (rtx, rtx, rtx); static __inline__ rtx gen_udivsi3_sp64 (rtx, rtx, rtx); static __inline__ rtx gen_udivsi3_sp64(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_udivdi3 (rtx, rtx, rtx); static __inline__ rtx gen_udivdi3(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } extern rtx gen_andsi3 (rtx, rtx, rtx); extern rtx gen_iorsi3 (rtx, rtx, rtx); extern rtx gen_xorsi3 (rtx, rtx, rtx); extern rtx gen_negsi2 (rtx, rtx); extern rtx gen_one_cmplsi2 (rtx, rtx); extern rtx gen_adddf3 (rtx, rtx, rtx); extern rtx gen_addsf3 (rtx, rtx, rtx); extern rtx gen_subdf3 (rtx, rtx, rtx); extern rtx gen_subsf3 (rtx, rtx, rtx); extern rtx gen_muldf3 (rtx, rtx, rtx); extern rtx gen_mulsf3 (rtx, rtx, rtx); extern rtx gen_divdf3 (rtx, rtx, rtx); extern rtx gen_divsf3 (rtx, rtx, rtx); extern rtx gen_negsf2 (rtx, rtx); extern rtx gen_abssf2 (rtx, rtx); extern rtx gen_sqrtdf2 (rtx, rtx); extern rtx gen_sqrtsf2 (rtx, rtx); extern rtx gen_ashlsi3 (rtx, rtx, rtx); extern rtx gen_ashldi3_v8plus (rtx, rtx, rtx); extern rtx gen_ashrsi3 (rtx, rtx, rtx); extern rtx gen_ashrdi3_v8plus (rtx, rtx, rtx); extern rtx gen_lshrsi3 (rtx, rtx, rtx); extern rtx gen_lshrdi3_v8plus (rtx, rtx, rtx); extern rtx gen_jump (rtx); extern rtx gen_blockage (void); extern rtx gen_update_return (rtx, rtx); extern rtx gen_nop (void); extern rtx gen_flush_register_windows (void); extern rtx gen_goto_handler_and_restore (rtx); extern rtx gen_do_builtin_setjmp_setup (void); extern rtx gen_flush (rtx); extern rtx gen_flushdi (rtx); extern rtx gen_ffssi2 (rtx, rtx); extern rtx gen_prefetch_64 (rtx, rtx, rtx); extern rtx gen_prefetch_32 (rtx, rtx, rtx); extern rtx gen_trap (void); extern rtx gen_cmpsi (rtx, rtx); static __inline__ rtx gen_cmpdi (rtx, rtx); static __inline__ rtx gen_cmpdi(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_cmpsf (rtx, rtx); extern rtx gen_cmpdf (rtx, rtx); extern rtx gen_cmptf (rtx, rtx); extern rtx gen_seqsi_special (rtx, rtx, rtx); static __inline__ rtx gen_seqdi_special (rtx, rtx, rtx); static __inline__ rtx gen_seqdi_special(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } extern rtx gen_snesi_special (rtx, rtx, rtx); static __inline__ rtx gen_snedi_special (rtx, rtx, rtx); static __inline__ rtx gen_snedi_special(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_seqdi_special_trunc (rtx, rtx, rtx); static __inline__ rtx gen_seqdi_special_trunc(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_snedi_special_trunc (rtx, rtx, rtx); static __inline__ rtx gen_snedi_special_trunc(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_seqsi_special_extend (rtx, rtx, rtx); static __inline__ rtx gen_seqsi_special_extend(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_snesi_special_extend (rtx, rtx, rtx); static __inline__ rtx gen_snesi_special_extend(a, b, c) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); { return 0; } extern rtx gen_seq (rtx); extern rtx gen_sne (rtx); extern rtx gen_sgt (rtx); extern rtx gen_slt (rtx); extern rtx gen_sge (rtx); extern rtx gen_sle (rtx); extern rtx gen_sgtu (rtx); extern rtx gen_sltu (rtx); extern rtx gen_sgeu (rtx); extern rtx gen_sleu (rtx); extern rtx gen_beq (rtx); extern rtx gen_bne (rtx); extern rtx gen_bgt (rtx); extern rtx gen_bgtu (rtx); extern rtx gen_blt (rtx); extern rtx gen_bltu (rtx); extern rtx gen_bge (rtx); extern rtx gen_bgeu (rtx); extern rtx gen_ble (rtx); extern rtx gen_bleu (rtx); extern rtx gen_bunordered (rtx); extern rtx gen_bordered (rtx); extern rtx gen_bungt (rtx); extern rtx gen_bunlt (rtx); extern rtx gen_buneq (rtx); extern rtx gen_bunge (rtx); extern rtx gen_bunle (rtx); extern rtx gen_bltgt (rtx); extern rtx gen_movqi (rtx, rtx); extern rtx gen_movhi (rtx, rtx); extern rtx gen_movsi (rtx, rtx); extern rtx gen_movsi_pic_label_ref (rtx, rtx); extern rtx gen_movdi (rtx, rtx); static __inline__ rtx gen_movdi_pic_label_ref (rtx, rtx); static __inline__ rtx gen_movdi_pic_label_ref(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_reload_indi (rtx, rtx, rtx); extern rtx gen_reload_outdi (rtx, rtx, rtx); extern rtx gen_movsf (rtx, rtx); extern rtx gen_movdf (rtx, rtx); extern rtx gen_movtf (rtx, rtx); extern rtx gen_movqicc (rtx, rtx, rtx, rtx); extern rtx gen_movhicc (rtx, rtx, rtx, rtx); extern rtx gen_movsicc (rtx, rtx, rtx, rtx); static __inline__ rtx gen_movdicc (rtx, rtx, rtx, rtx); static __inline__ rtx gen_movdicc(a, b, c, d) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); rtx c __attribute__ ((__unused__)); rtx d __attribute__ ((__unused__)); { return 0; } extern rtx gen_movsfcc (rtx, rtx, rtx, rtx); extern rtx gen_movdfcc (rtx, rtx, rtx, rtx); extern rtx gen_movtfcc (rtx, rtx, rtx, rtx); extern rtx gen_zero_extendhisi2 (rtx, rtx); extern rtx gen_zero_extendqihi2 (rtx, rtx); extern rtx gen_zero_extendqisi2 (rtx, rtx); static __inline__ rtx gen_zero_extendqidi2 (rtx, rtx); static __inline__ rtx gen_zero_extendqidi2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_zero_extendhidi2 (rtx, rtx); static __inline__ rtx gen_zero_extendhidi2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_zero_extendsidi2 (rtx, rtx); extern rtx gen_extendhisi2 (rtx, rtx); extern rtx gen_extendqihi2 (rtx, rtx); extern rtx gen_extendqisi2 (rtx, rtx); static __inline__ rtx gen_extendqidi2 (rtx, rtx); static __inline__ rtx gen_extendqidi2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_extendhidi2 (rtx, rtx); static __inline__ rtx gen_extendhidi2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_extendsidi2 (rtx, rtx); static __inline__ rtx gen_extendsidi2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_extendsftf2 (rtx, rtx); extern rtx gen_extenddftf2 (rtx, rtx); extern rtx gen_trunctfsf2 (rtx, rtx); extern rtx gen_trunctfdf2 (rtx, rtx); extern rtx gen_floatsitf2 (rtx, rtx); static __inline__ rtx gen_floatunssitf2 (rtx, rtx); static __inline__ rtx gen_floatunssitf2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_floatunsdisf2 (rtx, rtx); static __inline__ rtx gen_floatunsdisf2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } static __inline__ rtx gen_floatunsdidf2 (rtx, rtx); static __inline__ rtx gen_floatunsdidf2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_floatditf2 (rtx, rtx); static __inline__ rtx gen_floatunsditf2 (rtx, rtx); static __inline__ rtx gen_floatunsditf2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_fix_trunctfsi2 (rtx, rtx); static __inline__ rtx gen_fixuns_trunctfsi2 (rtx, rtx); static __inline__ rtx gen_fixuns_trunctfsi2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_fix_trunctfdi2 (rtx, rtx); static __inline__ rtx gen_fixuns_trunctfdi2 (rtx, rtx); static __inline__ rtx gen_fixuns_trunctfdi2(a, b) rtx a __attribute__ ((__unused__)); rtx b __attribute__ ((__unused__)); { return 0; } extern rtx gen_adddi3 (rtx, rtx, rtx); extern rtx gen_addsi3 (rtx, rtx, rtx); extern rtx gen_subdi3 (rtx, rtx, rtx); extern rtx gen_subsi3 (rtx, rtx, rtx); extern rtx gen_muldi3 (rtx, rtx, rtx); extern rtx gen_mulsidi3 (rtx, rtx, rtx); extern rtx gen_smulsi3_highpart (rtx, rtx, rtx); extern rtx gen_umulsidi3 (rtx, rtx, rtx); extern rtx gen_umulsi3_highpart (rtx, rtx, rtx); extern rtx gen_divsi3 (rtx, rtx, rtx); extern rtx gen_udivsi3 (rtx, rtx, rtx); extern rtx gen_anddi3 (rtx, rtx, rtx); extern rtx gen_iordi3 (rtx, rtx, rtx); extern rtx gen_xordi3 (rtx, rtx, rtx); extern rtx gen_negdi2 (rtx, rtx); extern rtx gen_one_cmpldi2 (rtx, rtx); extern rtx gen_addtf3 (rtx, rtx, rtx); extern rtx gen_subtf3 (rtx, rtx, rtx); extern rtx gen_multf3 (rtx, rtx, rtx); extern rtx gen_divtf3 (rtx, rtx, rtx); extern rtx gen_negtf2 (rtx, rtx); extern rtx gen_negdf2 (rtx, rtx); extern rtx gen_abstf2 (rtx, rtx); extern rtx gen_absdf2 (rtx, rtx); extern rtx gen_sqrttf2 (rtx, rtx); extern rtx gen_ashldi3 (rtx, rtx, rtx); extern rtx gen_ashrdi3 (rtx, rtx, rtx); extern rtx gen_lshrdi3 (rtx, rtx, rtx); extern rtx gen_tablejump (rtx, rtx); extern rtx gen_call (rtx, rtx, rtx, rtx); extern rtx gen_call_value (rtx, rtx, rtx, rtx, rtx); extern rtx gen_untyped_call (rtx, rtx, rtx); extern rtx gen_sibcall (rtx); extern rtx gen_sibcall_value (rtx, rtx); extern rtx gen_sibcall_epilogue (void); extern rtx gen_untyped_return (rtx, rtx); extern rtx gen_indirect_jump (rtx); extern rtx gen_nonlocal_goto (rtx, rtx, rtx, rtx); extern rtx gen_builtin_setjmp_setup (rtx); extern rtx gen_setjmp (void); extern rtx gen_setjmp_32 (void); extern rtx gen_setjmp_64 (void); extern rtx gen_prefetch (rtx, rtx, rtx); extern rtx gen_prologue (void); extern rtx gen_exception_receiver (void); extern rtx gen_builtin_setjmp_receiver (rtx); extern rtx gen_conditional_trap (rtx, rtx); # 32 "config.h" 2 # 24 "../../gcc/gcc/cppfiles.c" 2 # 1 "../../gcc/gcc/system.h" 1 # 33 "../../gcc/gcc/system.h" # 1 "include/stdarg.h" 1 3 4 # 43 "include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 105 "include/stdarg.h" 3 4 typedef __gnuc_va_list va_list; # 34 "../../gcc/gcc/system.h" 2 # 47 "../../gcc/gcc/system.h" # 1 "include/stddef.h" 1 3 4 # 147 "include/stddef.h" 3 4 typedef int ptrdiff_t; # 203 "include/stddef.h" 3 4 typedef unsigned int size_t; # 299 "include/stddef.h" 3 4 typedef int wchar_t; # 48 "../../gcc/gcc/system.h" 2 # 1 "include/stdio.h" 1 3 4 # 37 "include/stdio.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 291 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 292 "/usr/include/features.h" 2 3 4 # 320 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 321 "/usr/include/features.h" 2 3 4 # 38 "include/stdio.h" 2 3 4 # 1 "include/stddef.h" 1 3 4 # 44 "include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 29 "/usr/include/bits/types.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 30 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 31 "/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; __extension__ typedef unsigned long long int __u_quad_t; __extension__ typedef long long int __quad_t; # 55 "/usr/include/bits/types.h" 3 4 typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; typedef __quad_t *__qaddr_t; typedef __u_quad_t __dev_t; typedef __u_int __uid_t; typedef __u_int __gid_t; typedef __u_long __ino_t; typedef __u_quad_t __ino64_t; typedef __u_int __mode_t; typedef __u_int __nlink_t; typedef long int __off_t; typedef __quad_t __off64_t; typedef __quad_t __loff_t; typedef int __pid_t; typedef int __ssize_t; typedef __u_long __rlim_t; typedef __u_quad_t __rlim64_t; typedef __u_int __id_t; typedef struct { int __val[2]; } __fsid_t; typedef int __daddr_t; typedef char *__caddr_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef int __suseconds_t; typedef long int __swblk_t; typedef long int __clock_t; typedef int __clockid_t; typedef int __timer_t; typedef int __key_t; typedef unsigned short int __ipc_pid_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef __quad_t __blkcnt64_t; typedef __u_long __fsblkcnt_t; typedef __u_quad_t __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef __u_quad_t __fsfilcnt64_t; typedef long int __t_scalar_t; typedef unsigned long int __t_uscalar_t; typedef int __intptr_t; typedef unsigned int __socklen_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/sched.h" 1 3 4 # 68 "/usr/include/bits/sched.h" 3 4 struct __sched_param { int __sched_priority; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 struct _pthread_fastlock { long int __status; int __spinlock; }; typedef struct _pthread_descr_struct *_pthread_descr; typedef struct __pthread_attr_s { int __detachstate; int __schedpolicy; struct __sched_param __schedparam; int __inheritsched; int __scope; size_t __guardsize; int __stackaddr_set; void *__stackaddr; size_t __stacksize; } pthread_attr_t; typedef struct { struct _pthread_fastlock __c_lock; _pthread_descr __c_waiting; } pthread_cond_t; typedef struct { int __dummy; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef struct { int __m_reserved; int __m_count; _pthread_descr __m_owner; int __m_kind; struct _pthread_fastlock __m_lock; } pthread_mutex_t; typedef struct { int __mutexkind; } pthread_mutexattr_t; typedef int pthread_once_t; typedef struct _pthread_rwlock_t { struct _pthread_fastlock __rw_lock; int __rw_readers; _pthread_descr __rw_writer; _pthread_descr __rw_read_waiting; _pthread_descr __rw_write_waiting; int __rw_kind; int __rw_pshared; } pthread_rwlock_t; typedef struct { int __lockkind; int __pshared; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef struct { struct _pthread_fastlock __ba_lock; int __ba_required; int __ba_present; _pthread_descr __ba_waiting; } pthread_barrier_t; typedef struct { int __pshared; } pthread_barrierattr_t; typedef unsigned long int pthread_t; # 162 "/usr/include/bits/types.h" 2 3 4 # 46 "include/stdio.h" 2 3 4 # 54 "include/stdio.h" 3 4 typedef struct _IO_FILE FILE; # 64 "include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 74 "include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 32 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 14 "/usr/include/_G_config.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 327 "include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 4 # 24 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 51 "/usr/include/wchar.h" 2 3 4 # 67 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 28 "/usr/include/gconv.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gconv.h" 2 3 4 # 1 "include/stddef.h" 1 3 4 # 32 "/usr/include/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 4 # 160 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 170 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 193 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 261 "/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _blksize; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 305 "/usr/include/libio.h" 3 4 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 344 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern int __underflow (_IO_FILE *) ; extern int __uflow (_IO_FILE *) ; extern int __overflow (_IO_FILE *, int) ; extern wint_t __wunderflow (_IO_FILE *) ; extern wint_t __wuflow (_IO_FILE *) ; extern wint_t __woverflow (_IO_FILE *, wint_t) ; # 426 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp) ; extern int _IO_putc (int __c, _IO_FILE *__fp) ; extern int _IO_feof (_IO_FILE *__fp) ; extern int _IO_ferror (_IO_FILE *__fp) ; extern int _IO_peekc_locked (_IO_FILE *__fp) ; extern void _IO_flockfile (_IO_FILE *) ; extern void _IO_funlockfile (_IO_FILE *) ; extern int _IO_ftrylockfile (_IO_FILE *) ; # 456 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) ; extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) ; extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; extern void _IO_free_backup_area (_IO_FILE *) ; # 75 "include/stdio.h" 2 3 4 typedef __gnuc_va_list __not_va_list__; # 89 "include/stdio.h" 3 4 typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 138 "include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 139 "include/stdio.h" 2 3 4 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; # 153 "include/stdio.h" 3 4 extern int remove (__const char *__filename) ; extern int rename (__const char *__old, __const char *__new) ; extern FILE *tmpfile (void) ; # 169 "include/stdio.h" 3 4 extern FILE *tmpfile64 (void) ; extern char *tmpnam (char *__s) ; extern char *tmpnam_r (char *__s) ; # 189 "include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream) ; extern int fflush (FILE *__stream) ; extern int fflush_unlocked (FILE *__stream) ; extern int fcloseall (void) ; extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; # 233 "include/stdio.h" 3 4 extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, __const char *__modes) ; extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) ; extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ; extern FILE *open_memstream (char **__restrict __bufloc, size_t *__restrict __sizeloc) ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ; extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) ; extern void setlinebuf (FILE *__stream) ; extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int printf (__const char *__restrict __format, ...) ; extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg) ; extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))); extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int fgetc (FILE *__stream) ; extern int getc (FILE *__stream) ; extern int getchar (void) ; extern int getc_unlocked (FILE *__stream) ; extern int getchar_unlocked (void) ; extern int fgetc_unlocked (FILE *__stream) ; extern int fputc (int __c, FILE *__stream) ; extern int putc (int __c, FILE *__stream) ; extern int putchar (int __c) ; extern int fputc_unlocked (int __c, FILE *__stream) ; extern int putc_unlocked (int __c, FILE *__stream) ; extern int putchar_unlocked (int __c) ; extern int getw (FILE *__stream) ; extern int putw (int __w, FILE *__stream) ; extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *gets (char *__s) ; # 437 "include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (__const char *__restrict __s, FILE *__restrict __stream) ; extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream) ; extern int puts (__const char *__s) ; extern int ungetc (int __c, FILE *__stream) ; extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern int fseek (FILE *__stream, long int __off, int __whence) ; extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream) ; # 500 "include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence) ; extern __off_t ftello (FILE *__stream) ; extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) ; extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ; # 534 "include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) ; extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) ; extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) ; extern void clearerr (FILE *__stream) ; extern int feof (FILE *__stream) ; extern int ferror (FILE *__stream) ; extern void clearerr_unlocked (FILE *__stream) ; extern int feof_unlocked (FILE *__stream) ; extern int ferror_unlocked (FILE *__stream) ; extern void perror (__const char *__s) ; extern int sys_nerr; extern __const char *__const sys_errlist[]; extern int _sys_nerr; extern __const char *__const _sys_errlist[]; extern int fileno (FILE *__stream) ; extern int fileno_unlocked (FILE *__stream) ; extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream) ; extern char *ctermid (char *__s) ; extern char *cuserid (char *__s) ; struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) ; extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) ; extern void flockfile (FILE *__stream) ; extern int ftrylockfile (FILE *__stream) ; extern void funlockfile (FILE *__stream) ; # 644 "include/stdio.h" 3 4 # 51 "../../gcc/gcc/system.h" 2 # 110 "../../gcc/gcc/system.h" # 1 "../../gcc/include/safe-ctype.h" 1 # 44 "../../gcc/include/safe-ctype.h" enum { _sch_isblank = 0x0001, _sch_iscntrl = 0x0002, _sch_isdigit = 0x0004, _sch_islower = 0x0008, _sch_isprint = 0x0010, _sch_ispunct = 0x0020, _sch_isspace = 0x0040, _sch_isupper = 0x0080, _sch_isxdigit = 0x0100, _sch_isidst = 0x0200, _sch_isvsp = 0x0400, _sch_isnvsp = 0x0800, _sch_isalpha = _sch_isupper|_sch_islower, _sch_isalnum = _sch_isalpha|_sch_isdigit, _sch_isidnum = _sch_isidst|_sch_isdigit, _sch_isgraph = _sch_isalnum|_sch_ispunct, _sch_iscppsp = _sch_isvsp|_sch_isnvsp, _sch_isbasic = _sch_isprint|_sch_iscppsp }; extern const unsigned short _sch_istable[256]; # 97 "../../gcc/include/safe-ctype.h" extern const unsigned char _sch_toupper[256]; extern const unsigned char _sch_tolower[256]; # 111 "../../gcc/gcc/system.h" 2 # 1 "/usr/include/sys/types.h" 1 3 4 # 28 "/usr/include/sys/types.h" 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 132 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 59 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 70 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 82 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 94 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 133 "/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "include/stddef.h" 1 3 4 # 147 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 190 "/usr/include/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 212 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/include/endian.h" 2 3 4 # 213 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 31 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 32 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 23 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 106 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 67 "/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 4 # 55 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; typedef struct { __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 95 "/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout) ; extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask) ; # 216 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 23 "/usr/include/sys/sysmacros.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/sys/sysmacros.h" 2 3 4 # 219 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 257 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 113 "../../gcc/gcc/system.h" 2 # 1 "/usr/include/errno.h" 1 3 4 # 32 "/usr/include/errno.h" 3 4 # 1 "/usr/include/bits/errno.h" 1 3 4 # 25 "/usr/include/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 1 "/usr/include/asm-sparc/errno.h" 1 3 4 # 7 "/usr/include/asm/errno.h" 2 3 4 # 5 "/usr/include/linux/errno.h" 2 3 4 # 26 "/usr/include/bits/errno.h" 2 3 4 # 36 "/usr/include/bits/errno.h" 3 4 extern int errno; extern int *__errno_location (void) __attribute__ ((__const__)); # 37 "/usr/include/errno.h" 2 3 4 # 55 "/usr/include/errno.h" 3 4 extern char *program_invocation_name, *program_invocation_short_name; # 69 "/usr/include/errno.h" 3 4 typedef int error_t; # 115 "../../gcc/gcc/system.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 28 "/usr/include/string.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *memmove (void *__dest, __const void *__src, size_t __n) ; extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) ; extern void *memset (void *__s, int __c, size_t __n) ; extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__)); extern void *memrchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strcat (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; # 1 "/usr/include/xlocale.h" 1 3 4 # 28 "/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; } *__locale_t; # 109 "/usr/include/string.h" 2 3 4 extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) __attribute__ ((__pure__)); extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) ; extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); extern char *strndup (__const char *__string, size_t __n) __attribute__ ((__malloc__)); # 155 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__)); extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__pure__)); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strcasestr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) ; extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) __attribute__ ((__pure__)); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); extern size_t strnlen (__const char *__string, size_t __maxlen) __attribute__ ((__pure__)); extern char *strerror (int __errnum) ; extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; extern void __bzero (void *__s, size_t __n) ; extern void bcopy (__const void *__src, void *__dest, size_t __n) ; extern void bzero (void *__s, size_t __n) ; extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); extern int ffs (int __i) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int __strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) __attribute__ ((__pure__)); extern int __strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) __attribute__ ((__pure__)); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) ; extern int strverscmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern char *strsignal (int __sig) ; extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strfry (char *__string) ; extern void *memfrob (void *__s, size_t __n) ; extern char *basename (__const char *__filename) ; # 364 "/usr/include/string.h" 3 4 # 122 "../../gcc/gcc/system.h" 2 # 1 "/usr/include/strings.h" 1 3 4 # 123 "../../gcc/gcc/system.h" 2 # 134 "../../gcc/gcc/system.h" # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 43 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 65 "/usr/include/bits/waitstatus.h" 3 4 union wait { int w_status; struct { unsigned int:16; unsigned int __w_retcode:8; unsigned int __w_coredump:1; unsigned int __w_termsig:7; } __wait_terminated; struct { unsigned int:16; unsigned int __w_stopsig:8; unsigned int __w_stopval:8; } __wait_stopped; }; # 44 "/usr/include/stdlib.h" 2 3 4 # 68 "/usr/include/stdlib.h" 3 4 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 94 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 133 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) ; extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 215 "/usr/include/stdlib.h" 3 4 extern long int __strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern unsigned long int __strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern long long int __strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern unsigned long long int __strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern double __strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern float __strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern long double __strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ; # 384 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) ; extern long int a64l (__const char *__s) __attribute__ ((__pure__)); # 397 "/usr/include/stdlib.h" 3 4 extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) ; extern char *setstate (char *__statebuf) ; struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern int rand_r (unsigned int *__seed) ; extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ; # 527 "/usr/include/stdlib.h" 3 4 extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; extern void cfree (void *__ptr) ; # 1 "/usr/include/alloca.h" 1 3 4 # 25 "/usr/include/alloca.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) ; # 547 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__malloc__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__malloc__)); extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) ; extern void exit (int __status) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; extern int putenv (char *__string) ; extern int setenv (__const char *__name, __const char *__value, int __replace) ; extern int unsetenv (__const char *__name) ; extern int clearenv (void) ; # 623 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) ; extern int mkstemp (char *__template) ; # 640 "/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) ; # 650 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) ; extern int system (__const char *__command) ; extern char *canonicalize_file_name (__const char *__name) ; # 672 "/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ; typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); __extension__ extern long long int llabs (long long int __x) __attribute__ ((__const__)); extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__const__)); # 728 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *gcvt (double __value, int __ndigit, char *__buf) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ; extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ; extern int rpmatch (__const char *__response) ; # 808 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) ; extern void setkey (__const char *__key) ; extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) ; extern int unlockpt (int __fd) ; extern char *ptsname (int __fd) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ; extern int getpt (void) ; extern int getloadavg (double __loadavg[], int __nelem) ; # 135 "../../gcc/gcc/system.h" 2 # 157 "../../gcc/gcc/system.h" # 1 "/usr/include/unistd.h" 1 3 4 # 28 "/usr/include/unistd.h" 3 4 # 175 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 176 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/bits/environments.h" 1 3 4 # 23 "/usr/include/bits/environments.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/environments.h" 2 3 4 # 180 "/usr/include/unistd.h" 2 3 4 # 199 "/usr/include/unistd.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 200 "/usr/include/unistd.h" 2 3 4 # 240 "/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 260 "/usr/include/unistd.h" 3 4 extern int access (__const char *__name, int __type) ; extern int euidaccess (__const char *__name, int __type) ; # 290 "/usr/include/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) ; # 302 "/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ; extern int close (int __fd) ; extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) ; extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) ; # 340 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) ; extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) ; extern int pipe (int __pipedes[2]) ; # 362 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) ; # 371 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds) ; extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) ; extern int usleep (__useconds_t __useconds) ; extern int pause (void) ; extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ; extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int chdir (__const char *__path) ; extern int fchdir (int __fd) ; # 423 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) ; extern char *get_current_dir_name (void) ; extern char *getwd (char *__buf) ; extern int dup (int __fd) ; extern int dup2 (int __fd, int __fd2) ; extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) ; extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) ; extern int execv (__const char *__path, char *__const __argv[]) ; extern int execle (__const char *__path, __const char *__arg, ...) ; extern int execl (__const char *__path, __const char *__arg, ...) ; extern int execvp (__const char *__file, char *__const __argv[]) ; extern int execlp (__const char *__file, __const char *__arg, ...) ; extern int nice (int __inc) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 25 "/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG }; enum { _CS_PATH, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_V6_WIDTH_RESTRICTED_ENVS }; # 501 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) ; extern long int fpathconf (int __fd, int __name) ; extern long int sysconf (int __name) __attribute__ ((__const__)); extern size_t confstr (int __name, char *__buf, size_t __len) ; extern __pid_t getpid (void) ; extern __pid_t getppid (void) ; extern __pid_t getpgrp (void) ; # 536 "/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) ; extern __pid_t getpgid (__pid_t __pid) ; extern int setpgid (__pid_t __pid, __pid_t __pgid) ; # 562 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) ; # 580 "/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) ; extern __pid_t getsid (__pid_t __pid) ; extern __uid_t getuid (void) ; extern __uid_t geteuid (void) ; extern __gid_t getgid (void) ; extern __gid_t getegid (void) ; extern int getgroups (int __size, __gid_t __list[]) ; extern int group_member (__gid_t __gid) ; extern int setuid (__uid_t __uid) ; extern int setreuid (__uid_t __ruid, __uid_t __euid) ; extern int seteuid (__uid_t __uid) ; extern int setgid (__gid_t __gid) ; extern int setregid (__gid_t __rgid, __gid_t __egid) ; extern int setegid (__gid_t __gid) ; extern __pid_t fork (void) ; extern __pid_t vfork (void) ; extern char *ttyname (int __fd) ; extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ; extern int isatty (int __fd) ; extern int ttyslot (void) ; extern int link (__const char *__from, __const char *__to) ; extern int symlink (__const char *__from, __const char *__to) ; extern int readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) ; extern int unlink (__const char *__name) ; extern int rmdir (__const char *__path) ; extern __pid_t tcgetpgrp (int __fd) ; extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ; extern char *getlogin (void) ; extern int getlogin_r (char *__name, size_t __name_len) ; extern int setlogin (__const char *__name) ; # 726 "/usr/include/unistd.h" 3 4 # 1 "../../gcc/include/getopt.h" 1 3 4 # 36 "../../gcc/include/getopt.h" 3 4 extern char *optarg; # 50 "../../gcc/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 82 "../../gcc/include/getopt.h" 3 4 struct option { const char *name; int has_arg; int *flag; int val; }; # 113 "../../gcc/include/getopt.h" 3 4 extern int getopt (int argc, char *const *argv, const char *shortopts); extern int getopt_long (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind); extern int getopt_long_only (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind); extern int _getopt_internal (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind, int long_only); # 727 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) ; extern int sethostname (__const char *__name, size_t __len) ; extern int sethostid (long int __id) ; extern int getdomainname (char *__name, size_t __len) ; extern int setdomainname (__const char *__name, size_t __len) ; extern int vhangup (void) ; extern int revoke (__const char *__file) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) ; extern int acct (__const char *__name) ; extern char *getusershell (void) ; extern void endusershell (void) ; extern void setusershell (void) ; extern int daemon (int __nochdir, int __noclose) ; extern int chroot (__const char *__path) ; extern char *getpass (__const char *__prompt) ; extern int fsync (int __fd) ; extern long int gethostid (void) ; extern void sync (void) ; extern int getpagesize (void) __attribute__ ((__const__)); extern int truncate (__const char *__file, __off_t __length) ; # 836 "/usr/include/unistd.h" 3 4 extern int truncate64 (__const char *__file, __off64_t __length) ; extern int ftruncate (int __fd, __off_t __length) ; # 851 "/usr/include/unistd.h" 3 4 extern int ftruncate64 (int __fd, __off64_t __length) ; extern int getdtablesize (void) ; # 866 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) ; extern void *sbrk (intptr_t __delta) ; # 887 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) ; # 907 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off_t __len) ; # 917 "/usr/include/unistd.h" 3 4 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; # 938 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes) ; extern char *crypt (__const char *__key, __const char *__salt) ; extern void encrypt (char *__block, int __edflag) ; extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) ; extern char *ctermid (char *__s) ; # 983 "/usr/include/unistd.h" 3 4 extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) ; # 158 "../../gcc/gcc/system.h" 2 # 1 "/usr/include/sys/param.h" 1 3 4 # 22 "/usr/include/sys/param.h" 3 4 # 1 "include/limits.h" 1 3 4 # 11 "include/limits.h" 3 4 # 1 "include/syslimits.h" 1 3 4 # 1 "include/limits.h" 1 3 4 # 122 "include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 144 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 126 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 36 "/usr/include/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 37 "/usr/include/bits/local_lim.h" 2 3 4 # 127 "/usr/include/bits/posix1_lim.h" 2 3 4 # 145 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 149 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 34 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 35 "/usr/include/bits/xopen_lim.h" 2 3 4 # 153 "/usr/include/limits.h" 2 3 4 # 123 "include/limits.h" 2 3 4 # 8 "include/syslimits.h" 2 3 4 # 12 "include/limits.h" 2 3 4 # 23 "/usr/include/sys/param.h" 2 3 4 # 1 "/usr/include/linux/param.h" 1 3 4 # 1 "/usr/include/asm/param.h" 1 3 4 # 1 "/usr/include/asm-sparc/param.h" 1 3 4 # 7 "/usr/include/asm/param.h" 2 3 4 # 5 "/usr/include/linux/param.h" 2 3 4 # 25 "/usr/include/sys/param.h" 2 3 4 # 162 "../../gcc/gcc/system.h" 2 # 1 "include/limits.h" 1 3 4 # 168 "../../gcc/gcc/system.h" 2 # 1 "../../gcc/gcc/hwint.h" 1 # 172 "../../gcc/gcc/system.h" 2 # 200 "../../gcc/gcc/system.h" # 1 "/usr/include/sys/time.h" 1 3 4 # 26 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 27 "/usr/include/sys/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 29 "/usr/include/sys/time.h" 2 3 4 # 38 "/usr/include/sys/time.h" 3 4 # 56 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 72 "/usr/include/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) ; extern int settimeofday (__const struct timeval *__tv, __const struct timezone *__tz) ; extern int adjtime (__const struct timeval *__delta, struct timeval *__olddelta) ; enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef enum __itimer_which __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) ; extern int setitimer (__itimer_which_t __which, __const struct itimerval *__restrict __new, struct itimerval *__restrict __old) ; extern int utimes (__const char *__file, __const struct timeval __tvp[2]) ; # 171 "/usr/include/sys/time.h" 3 4 # 201 "../../gcc/gcc/system.h" 2 # 1 "/usr/include/time.h" 1 3 4 # 30 "/usr/include/time.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 39 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 43 "/usr/include/time.h" 2 3 4 # 118 "/usr/include/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; __const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 163 "/usr/include/time.h" 3 4 extern clock_t clock (void) ; extern time_t time (time_t *__timer) ; extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) ; extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) ; extern char *strptime (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp) ; extern struct tm *gmtime (__const time_t *__timer) ; extern struct tm *localtime (__const time_t *__timer) ; extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ; extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ; extern char *asctime (__const struct tm *__tp) ; extern char *ctime (__const time_t *__timer) ; extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) ; extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) ; extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) ; extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) ; # 271 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) ; extern time_t timelocal (struct tm *__tp) ; extern int dysize (int __year) __attribute__ ((__const__)); extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining) ; extern int clock_getres (clockid_t __clock_id, struct timespec *__res) ; extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ; extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) ; extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem) ; extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) ; extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) ; extern int timer_delete (timer_t __timerid) ; extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) ; extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) ; extern int timer_getoverrun (timer_t __timerid) ; # 342 "/usr/include/time.h" 3 4 extern int getdate_err; extern struct tm *getdate (__const char *__string) ; # 357 "/usr/include/time.h" 3 4 extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp) ; # 202 "../../gcc/gcc/system.h" 2 # 213 "../../gcc/gcc/system.h" # 1 "/usr/include/fcntl.h" 1 3 4 # 29 "/usr/include/fcntl.h" 3 4 # 1 "/usr/include/bits/fcntl.h" 1 3 4 # 25 "/usr/include/bits/fcntl.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/fcntl.h" 2 3 4 # 152 "/usr/include/bits/fcntl.h" 3 4 struct flock { short int l_type; short int l_whence; __off_t l_start; __off_t l_len; __pid_t l_pid; short int __unused; }; struct flock64 { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; short int __unused; }; # 34 "/usr/include/fcntl.h" 2 3 4 # 1 "/usr/include/sys/stat.h" 1 3 4 # 96 "/usr/include/sys/stat.h" 3 4 # 1 "/usr/include/bits/stat.h" 1 3 4 # 36 "/usr/include/bits/stat.h" 3 4 struct stat { __dev_t st_dev; unsigned short int __pad1; __ino_t st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned short int __pad2; __off_t st_size; __blksize_t st_blksize; __blkcnt_t st_blocks; __time_t st_atime; unsigned long int __unused1; __time_t st_mtime; unsigned long int __unused2; __time_t st_ctime; unsigned long int __unused3; unsigned long int __unused4; unsigned long int __unused5; }; struct stat64 { __dev_t st_dev; __ino64_t st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned short int __pad2; __off64_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; __time_t st_atime; unsigned long int __unused1; __time_t st_mtime; unsigned long int __unused2; __time_t st_ctime; unsigned long int __unused3; unsigned long int __unused4; unsigned long int __unused5; }; # 99 "/usr/include/sys/stat.h" 2 3 4 # 200 "/usr/include/sys/stat.h" 3 4 extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) ; extern int fstat (int __fd, struct stat *__buf) ; # 219 "/usr/include/sys/stat.h" 3 4 extern int stat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) ; extern int fstat64 (int __fd, struct stat64 *__buf) ; extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) ; # 241 "/usr/include/sys/stat.h" 3 4 extern int lstat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) ; extern int chmod (__const char *__file, __mode_t __mode) ; extern int fchmod (int __fd, __mode_t __mode) ; extern __mode_t umask (__mode_t __mask) ; extern __mode_t getumask (void) ; extern int mkdir (__const char *__path, __mode_t __mode) ; extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) ; extern int mkfifo (__const char *__path, __mode_t __mode) ; # 306 "/usr/include/sys/stat.h" 3 4 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) ; extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) ; extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) ; # 330 "/usr/include/sys/stat.h" 3 4 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) ; extern int __xstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) ; extern int __lxstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) ; extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, __dev_t *__dev) ; extern __inline__ int stat (__const char *__path, struct stat *__statbuf) { return __xstat (3, __path, __statbuf); } extern __inline__ int lstat (__const char *__path, struct stat *__statbuf) { return __lxstat (3, __path, __statbuf); } extern __inline__ int fstat (int __fd, struct stat *__statbuf) { return __fxstat (3, __fd, __statbuf); } extern __inline__ int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknod (1, __path, __mode, &__dev); } extern __inline__ int stat64 (__const char *__path, struct stat64 *__statbuf) { return __xstat64 (3, __path, __statbuf); } extern __inline__ int lstat64 (__const char *__path, struct stat64 *__statbuf) { return __lxstat64 (3, __path, __statbuf); } extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) { return __fxstat64 (3, __fd, __statbuf); } # 38 "/usr/include/fcntl.h" 2 3 4 # 60 "/usr/include/fcntl.h" 3 4 extern int fcntl (int __fd, int __cmd, ...) ; extern int open (__const char *__file, int __oflag, ...) ; # 76 "/usr/include/fcntl.h" 3 4 extern int open64 (__const char *__file, int __oflag, ...) ; extern int creat (__const char *__file, __mode_t __mode) ; # 93 "/usr/include/fcntl.h" 3 4 extern int creat64 (__const char *__file, __mode_t __mode) ; # 130 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise (int __fd, __off_t __offset, size_t __len, int __advise) ; # 142 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise64 (int __fd, __off64_t __offset, size_t __len, int __advise) ; extern int posix_fallocate (int __fd, __off_t __offset, size_t __len) ; # 160 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate64 (int __fd, __off64_t __offset, size_t __len) ; # 214 "../../gcc/gcc/system.h" 2 # 251 "../../gcc/gcc/system.h" # 1 "/usr/include/sys/wait.h" 1 3 4 # 28 "/usr/include/sys/wait.h" 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 103 "/usr/include/bits/sigset.h" 3 4 extern int __sigismember (__const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 34 "/usr/include/signal.h" 2 3 4 typedef __sig_atomic_t sig_atomic_t; # 56 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/signum.h" 1 3 4 # 57 "/usr/include/signal.h" 2 3 4 # 71 "/usr/include/signal.h" 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) ; extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) ; extern __sighandler_t signal (int __sig, __sighandler_t __handler) ; # 103 "/usr/include/signal.h" 3 4 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) ; extern int kill (__pid_t __pid, int __sig) ; extern int killpg (__pid_t __pgrp, int __sig) ; extern int raise (int __sig) ; extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ; extern int gsignal (int __sig) ; extern void psignal (int __sig, __const char *__s) ; # 140 "/usr/include/signal.h" 3 4 extern int __sigpause (int __sig_or_mask, int __is_sig) ; extern int sigpause (int __mask) ; # 168 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) ; extern int sigsetmask (int __mask) ; extern int siggetmask (void) ; # 183 "/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; # 199 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/siginfo.h" 2 3 4 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 51 "/usr/include/bits/siginfo.h" 3 4 typedef struct siginfo { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 3)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { unsigned int _timer1; unsigned int _timer2; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __clock_t si_utime; __clock_t si_stime; } _sigchld; struct { void *si_addr; int si_trapno; } _sigfault; struct { int si_band; int si_fd; } _sigpoll; } _sifields; } siginfo_t; # 130 "/usr/include/bits/siginfo.h" 3 4 enum { SI_ASYNCNL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; enum { EMT_TAGOVF = 1 }; # 280 "/usr/include/bits/siginfo.h" 3 4 struct __pthread_attr_s; typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 3)]; struct { void (*_function) (sigval_t); struct __pthread_attr_s *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD }; # 200 "/usr/include/signal.h" 2 3 4 extern int sigemptyset (sigset_t *__set) ; extern int sigfillset (sigset_t *__set) ; extern int sigaddset (sigset_t *__set, int __signo) ; extern int sigdelset (sigset_t *__set, int __signo) ; extern int sigismember (__const sigset_t *__set, int __signo) ; extern int sigisemptyset (__const sigset_t *__set) ; extern int sigandset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) ; extern int sigorset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) ; # 1 "/usr/include/bits/sigaction.h" 1 3 4 # 25 "/usr/include/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; unsigned long sa_flags; void (*sa_restorer) (void); }; # 233 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, __const sigset_t *__restrict __set, sigset_t *__restrict __oset) ; extern int sigsuspend (__const sigset_t *__set) ; extern int sigaction (int __sig, __const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) ; extern int sigpending (sigset_t *__set) ; extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig) ; extern int sigwaitinfo (__const sigset_t *__restrict __set, siginfo_t *__restrict __info) ; extern int sigtimedwait (__const sigset_t *__restrict __set, siginfo_t *__restrict __info, __const struct timespec *__restrict __timeout) ; extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) ; # 278 "/usr/include/signal.h" 3 4 extern __const char *__const _sys_siglist[64]; extern __const char *__const sys_siglist[64]; struct sigvec { __sighandler_t sv_handler; int sv_mask; int sv_flags; }; # 302 "/usr/include/signal.h" 3 4 extern int sigvec (int __sig, __const struct sigvec *__vec, struct sigvec *__ovec) ; # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 23 "/usr/include/bits/sigcontext.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/sigcontext.h" 2 3 4 # 33 "/usr/include/bits/sigcontext.h" 3 4 struct sigcontext { struct { unsigned int psr; unsigned int pc; unsigned int npc; unsigned int y; unsigned int u_regs[16]; } si_regs; int si_mask; }; # 308 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) ; # 320 "/usr/include/signal.h" 3 4 extern int siginterrupt (int __sig, int __interrupt) ; # 1 "/usr/include/bits/sigstack.h" 1 3 4 # 26 "/usr/include/bits/sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 50 "/usr/include/bits/sigstack.h" 3 4 typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 323 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/ucontext.h" 1 3 4 # 27 "/usr/include/ucontext.h" 3 4 # 1 "/usr/include/sys/ucontext.h" 1 3 4 # 23 "/usr/include/sys/ucontext.h" 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 24 "/usr/include/sys/ucontext.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 25 "/usr/include/sys/ucontext.h" 2 3 4 # 136 "/usr/include/sys/ucontext.h" 3 4 typedef int greg_t; typedef greg_t gregset_t[19]; # 150 "/usr/include/sys/ucontext.h" 3 4 struct rwindow { greg_t rw_local[8]; greg_t rw_in[8]; }; typedef struct gwindows { int wbcnt; int *spbuf[31]; struct rwindow wbuf[31]; } gwindows_t; # 179 "/usr/include/sys/ucontext.h" 3 4 struct fpq { unsigned long *fpq_addr; unsigned long fpq_instr; }; struct fq { union { double whole; struct fpq fpq; } FQu; }; # 218 "/usr/include/sys/ucontext.h" 3 4 typedef struct fpu { union { unsigned long long fpu_regs[32]; double fpu_dregs[16]; } fpu_fr; struct fq *fpu_q; unsigned fpu_fsr; unsigned char fpu_qcnt; unsigned char fpu_q_entrysize; unsigned char fpu_en; } fpregset_t; # 241 "/usr/include/sys/ucontext.h" 3 4 typedef struct { unsigned int xrs_id; void * xrs_ptr; } xrs_t; typedef struct { gregset_t gregs; gwindows_t *gwins; fpregset_t fpregs; xrs_t xrs; long filler[19]; } mcontext_t; typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; __sigset_t uc_sigmask; stack_t uc_stack; mcontext_t uc_mcontext; } ucontext_t; # 28 "/usr/include/ucontext.h" 2 3 4 extern int getcontext (ucontext_t *__ucp) ; extern int setcontext (__const ucontext_t *__ucp) ; extern int swapcontext (ucontext_t *__restrict __oucp, __const ucontext_t *__restrict __ucp) ; extern void makecontext (ucontext_t *__ucp, void (*__func) (void), int __argc, ...) ; # 325 "/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ; extern int sigaltstack (__const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) ; extern int sighold (int __sig) ; extern int sigrelse (int __sig) ; extern int sigignore (int __sig) ; extern __sighandler_t sigset (int __sig, __sighandler_t __disp) ; # 1 "include/bits/sigthread.h" 1 3 4 # 40 "include/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, __const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask); extern int pthread_kill (pthread_t __thr, int __signo) ; # 359 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) ; extern int __libc_current_sigrtmax (void) ; # 31 "/usr/include/sys/wait.h" 2 3 4 # 1 "/usr/include/sys/resource.h" 1 3 4 # 25 "/usr/include/sys/resource.h" 3 4 # 1 "/usr/include/bits/resource.h" 1 3 4 # 32 "/usr/include/bits/resource.h" 3 4 enum __rlimit_resource { RLIMIT_CPU = 0, RLIMIT_FSIZE = 1, RLIMIT_DATA = 2, RLIMIT_STACK = 3, RLIMIT_CORE = 4, RLIMIT_RSS = 5, RLIMIT_NOFILE = 6, RLIMIT_OFILE = RLIMIT_NOFILE, RLIMIT_AS = 9, RLIMIT_NPROC = 7, RLIMIT_MEMLOCK = 8, RLIMIT_LOCKS = 10, RLIM_NLIMITS = 11 }; # 122 "/usr/include/bits/resource.h" 3 4 typedef __rlim_t rlim_t; typedef __rlim64_t rlim64_t; struct rlimit { rlim_t rlim_cur; rlim_t rlim_max; }; struct rlimit64 { rlim64_t rlim_cur; rlim64_t rlim_max; }; enum __rusage_who { RUSAGE_SELF = 0, RUSAGE_CHILDREN = -1, RUSAGE_BOTH = -2 }; # 1 "/usr/include/bits/time.h" 1 3 4 # 166 "/usr/include/bits/resource.h" 2 3 4 struct rusage { struct timeval ru_utime; struct timeval ru_stime; long int ru_maxrss; long int ru_ixrss; long int ru_idrss; long int ru_isrss; long int ru_minflt; long int ru_majflt; long int ru_nswap; long int ru_inblock; long int ru_oublock; long int ru_msgsnd; long int ru_msgrcv; long int ru_nsignals; long int ru_nvcsw; long int ru_nivcsw; }; enum __priority_which { PRIO_PROCESS = 0, PRIO_PGRP = 1, PRIO_USER = 2 }; # 26 "/usr/include/sys/resource.h" 2 3 4 typedef enum __rlimit_resource __rlimit_resource_t; typedef enum __rusage_who __rusage_who_t; typedef enum __priority_which __priority_which_t; # 51 "/usr/include/sys/resource.h" 3 4 extern int getrlimit (__rlimit_resource_t __resource, struct rlimit *__rlimits) ; # 63 "/usr/include/sys/resource.h" 3 4 extern int getrlimit64 (__rlimit_resource_t __resource, struct rlimit64 *__rlimits) ; extern int setrlimit (__rlimit_resource_t __resource, __const struct rlimit *__rlimits) ; # 83 "/usr/include/sys/resource.h" 3 4 extern int setrlimit64 (__rlimit_resource_t __resource, __const struct rlimit64 *__rlimits) ; extern int getrusage (__rusage_who_t __who, struct rusage *__usage) ; extern int getpriority (__priority_which_t __which, id_t __who) ; extern int setpriority (__priority_which_t __which, id_t __who, int __prio) ; # 32 "/usr/include/sys/wait.h" 2 3 4 # 98 "/usr/include/sys/wait.h" 3 4 typedef enum { P_ALL, P_PID, P_PGID } idtype_t; extern __pid_t wait (__WAIT_STATUS __stat_loc) ; # 129 "/usr/include/sys/wait.h" 3 4 extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options) ; # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/siginfo.h" 2 3 4 # 134 "/usr/include/sys/wait.h" 2 3 4 # 142 "/usr/include/sys/wait.h" 3 4 extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop, int __options) ; struct rusage; extern __pid_t wait3 (__WAIT_STATUS __stat_loc, int __options, struct rusage * __usage) ; struct rusage; extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, struct rusage *__usage) ; # 252 "../../gcc/gcc/system.h" 2 # 296 "../../gcc/gcc/system.h" extern int getopt (int, char * const *, const char *); # 312 "../../gcc/gcc/system.h" # 1 "/usr/include/malloc.h" 1 3 4 # 44 "/usr/include/malloc.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 45 "/usr/include/malloc.h" 2 3 4 # 113 "/usr/include/malloc.h" 3 4 extern void * malloc (size_t __size) __attribute__ ((__malloc__)); extern void * calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void * realloc (void * __ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void * __ptr) ; extern void cfree (void * __ptr) ; extern void * memalign (size_t __alignment, size_t __size) ; extern void * valloc (size_t __size) __attribute__ ((__malloc__)); extern void * pvalloc (size_t __size) __attribute__ ((__malloc__)); extern void * (*__morecore) (ptrdiff_t __size); extern void * __default_morecore (ptrdiff_t __size) __attribute__ ((__malloc__)); struct mallinfo { int arena; int ordblks; int smblks; int hblks; int hblkhd; int usmblks; int fsmblks; int uordblks; int fordblks; int keepcost; }; extern struct mallinfo mallinfo (void) ; # 189 "/usr/include/malloc.h" 3 4 extern int mallopt (int __param, int __val) ; extern int malloc_trim (size_t __pad) ; extern size_t malloc_usable_size (void * __ptr) ; extern void malloc_stats (void) ; extern void * malloc_get_state (void) ; extern int malloc_set_state (void * __ptr) ; extern void (*__malloc_initialize_hook) (void); extern void (*__free_hook) (void * __ptr, __const void *); extern void * (*__malloc_hook) (size_t __size, __const void *); extern void * (*__realloc_hook) (void * __ptr, size_t __size, __const void *); extern void * (*__memalign_hook) (size_t __alignment, size_t __size, __const void *); extern void (*__after_morecore_hook) (void); extern void __malloc_check_init (void) ; # 313 "../../gcc/gcc/system.h" 2 # 490 "../../gcc/gcc/system.h" # 1 "../../gcc/include/libiberty.h" 1 # 46 "../../gcc/include/libiberty.h" # 1 "include/stddef.h" 1 3 4 # 47 "../../gcc/include/libiberty.h" 2 extern char **buildargv (const char *) __attribute__ ((__malloc__)); extern void freeargv (char **); extern char **dupargv (char **) __attribute__ ((__malloc__)); # 86 "../../gcc/include/libiberty.h" extern const char *lbasename (const char *); extern char *concat (const char *, ...) __attribute__ ((__malloc__)); # 101 "../../gcc/include/libiberty.h" extern char *reconcat (char *, const char *, ...) __attribute__ ((__malloc__)); extern unsigned long concat_length (const char *, ...); extern char *concat_copy (char *, const char *, ...); extern char *concat_copy2 (const char *, ...); extern char *libiberty_concat_ptr; # 137 "../../gcc/include/libiberty.h" extern int fdmatch (int fd1, int fd2); extern char * getpwd (void); extern long get_run_time (void); extern char *choose_temp_base (void) __attribute__ ((__malloc__)); extern char *make_temp_file (const char *) __attribute__ ((__malloc__)); extern const char *spaces (int count); extern int errno_max (void); extern const char *strerrno (int); extern int strtoerrno (const char *); extern char *xstrerror (int); extern int signo_max (void); # 193 "../../gcc/include/libiberty.h" extern const char *strsigno (int); extern int strtosigno (const char *); extern int xatexit (void (*fn) (void)); extern void xexit (int status) __attribute__ ((__noreturn__)); extern void xmalloc_set_program_name (const char *); extern void xmalloc_failed (size_t) __attribute__ ((__noreturn__)); extern void * xmalloc (size_t) __attribute__ ((__malloc__)); extern void * xrealloc (void *, size_t); extern void * xcalloc (size_t, size_t) __attribute__ ((__malloc__)); extern char *xstrdup (const char *) __attribute__ ((__malloc__)); extern void * xmemdup (const void *, size_t, size_t) __attribute__ ((__malloc__)); extern const char _hex_value[256]; extern void hex_init (void); # 260 "../../gcc/include/libiberty.h" extern int pexecute (const char *, char * const *, const char *, const char *, char **, char **, int); extern int pwait (int, int *, int); extern int asprintf (char **, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int vasprintf (char **, const char *, va_list) __attribute__ ((__format__ (__printf__, 2, 0))); # 286 "../../gcc/include/libiberty.h" extern void * C_alloca (size_t) __attribute__ ((__malloc__)); # 491 "../../gcc/gcc/system.h" 2 # 1 "../../gcc/include/symcat.h" 1 # 492 "../../gcc/gcc/system.h" 2 # 547 "../../gcc/gcc/system.h" # 1 "include/stdbool.h" 1 3 4 # 548 "../../gcc/gcc/system.h" 2 # 25 "../../gcc/gcc/cppfiles.c" 2 # 1 "../../gcc/gcc/cpplib.h" 1 # 27 "../../gcc/gcc/cpplib.h" # 1 "../../gcc/gcc/hashtable.h" 1 # 21 "../../gcc/gcc/hashtable.h" # 1 "../../gcc/include/obstack.h" 1 # 161 "../../gcc/include/obstack.h" struct _obstack_chunk { char *limit; struct _obstack_chunk *prev; char contents[4]; }; struct obstack { long chunk_size; struct _obstack_chunk *chunk; char *object_base; char *next_free; char *chunk_limit; int temp; int alignment_mask; struct _obstack_chunk *(*chunkfun) (void *, long); void (*freefun) (void *, struct _obstack_chunk *); void *extra_arg; unsigned use_extra_arg:1; unsigned maybe_empty_object:1; unsigned alloc_failed:1; }; extern void _obstack_newchunk (struct obstack *, int); extern void _obstack_free (struct obstack *, void *); extern int _obstack_begin (struct obstack *, int, int, void *(*) (long), void (*) (void *)); extern int _obstack_begin_1 (struct obstack *, int, int, void *(*) (void *, long), void (*) (void *, void *), void *); extern int _obstack_memory_used (struct obstack *); # 223 "../../gcc/include/obstack.h" void obstack_init (struct obstack *obstack); void * obstack_alloc (struct obstack *obstack, int size); void * obstack_copy (struct obstack *obstack, void *address, int size); void * obstack_copy0 (struct obstack *obstack, void *address, int size); void obstack_free (struct obstack *obstack, void *block); void obstack_blank (struct obstack *obstack, int size); void obstack_grow (struct obstack *obstack, void *data, int size); void obstack_grow0 (struct obstack *obstack, void *data, int size); void obstack_1grow (struct obstack *obstack, int data_char); void obstack_ptr_grow (struct obstack *obstack, void *data); void obstack_int_grow (struct obstack *obstack, int data); void * obstack_finish (struct obstack *obstack); int obstack_object_size (struct obstack *obstack); int obstack_room (struct obstack *obstack); void obstack_make_room (struct obstack *obstack, int size); void obstack_1grow_fast (struct obstack *obstack, int data_char); void obstack_ptr_grow_fast (struct obstack *obstack, void *data); void obstack_int_grow_fast (struct obstack *obstack, int data); void obstack_blank_fast (struct obstack *obstack, int size); void * obstack_base (struct obstack *obstack); void * obstack_next_free (struct obstack *obstack); int obstack_alignment_mask (struct obstack *obstack); int obstack_chunk_size (struct obstack *obstack); int obstack_memory_used (struct obstack *obstack); # 267 "../../gcc/include/obstack.h" extern void (*obstack_alloc_failed_handler) (void); extern int obstack_exit_failure; # 22 "../../gcc/gcc/hashtable.h" 2 typedef struct ht_identifier ht_identifier; struct ht_identifier { unsigned int len; const unsigned char *str; }; # 39 "../../gcc/gcc/hashtable.h" struct cpp_reader; typedef struct ht hash_table; typedef struct ht_identifier *hashnode; enum ht_lookup_option {HT_NO_INSERT = 0, HT_ALLOC, HT_ALLOCED}; struct ht { struct obstack stack; hashnode *entries; hashnode (*alloc_node) (hash_table *); unsigned int nslots; unsigned int nelements; struct cpp_reader *pfile; unsigned int searches; unsigned int collisions; }; extern void gcc_obstack_init (struct obstack *); extern hash_table *ht_create (unsigned int order); extern void ht_destroy (hash_table *); extern hashnode ht_lookup (hash_table *, const unsigned char *, unsigned int, enum ht_lookup_option); typedef int (*ht_cb) (struct cpp_reader *, hashnode, const void *); extern void ht_forall (hash_table *, ht_cb, const void *); extern void ht_dump_statistics (hash_table *); extern double approx_sqrt (double); # 28 "../../gcc/gcc/cpplib.h" 2 # 1 "../../gcc/gcc/line-map.h" 1 # 31 "../../gcc/gcc/line-map.h" enum lc_reason {LC_ENTER = 0, LC_LEAVE, LC_RENAME}; # 41 "../../gcc/gcc/line-map.h" struct line_map { const char *to_file; unsigned int to_line; unsigned int from_line; int included_from; enum lc_reason reason : 8; unsigned char sysp; }; struct line_maps { struct line_map *maps; unsigned int allocated; unsigned int used; int last_listed; unsigned int depth; _Bool trace_includes; }; extern void init_line_maps (struct line_maps *); extern void free_line_maps (struct line_maps *); # 87 "../../gcc/gcc/line-map.h" extern const struct line_map *add_line_map (struct line_maps *, enum lc_reason, unsigned int sysp, unsigned int from_line, const char *to_file, unsigned int to_line); extern const struct line_map *lookup_line (struct line_maps *, unsigned int); extern void print_containing_files (struct line_maps *, const struct line_map *); # 29 "../../gcc/gcc/cpplib.h" 2 typedef struct cpp_reader cpp_reader; typedef struct cpp_buffer cpp_buffer; typedef struct cpp_options cpp_options; typedef struct cpp_token cpp_token; typedef struct cpp_string cpp_string; typedef struct cpp_hashnode cpp_hashnode; typedef struct cpp_macro cpp_macro; typedef struct cpp_callbacks cpp_callbacks; struct answer; struct file_name_map_list; # 146 "../../gcc/gcc/cpplib.h" enum cpp_ttype { CPP_EQ = 0, CPP_NOT, CPP_GREATER, CPP_LESS, CPP_PLUS, CPP_MINUS, CPP_MULT, CPP_DIV, CPP_MOD, CPP_AND, CPP_OR, CPP_XOR, CPP_RSHIFT, CPP_LSHIFT, CPP_MIN, CPP_MAX, CPP_COMPL, CPP_AND_AND, CPP_OR_OR, CPP_QUERY, CPP_COLON, CPP_COMMA, CPP_OPEN_PAREN, CPP_CLOSE_PAREN, CPP_EOF, CPP_EQ_EQ, CPP_NOT_EQ, CPP_GREATER_EQ, CPP_LESS_EQ, CPP_PLUS_EQ, CPP_MINUS_EQ, CPP_MULT_EQ, CPP_DIV_EQ, CPP_MOD_EQ, CPP_AND_EQ, CPP_OR_EQ, CPP_XOR_EQ, CPP_RSHIFT_EQ, CPP_LSHIFT_EQ, CPP_MIN_EQ, CPP_MAX_EQ, CPP_HASH, CPP_PASTE, CPP_OPEN_SQUARE, CPP_CLOSE_SQUARE, CPP_OPEN_BRACE, CPP_CLOSE_BRACE, CPP_SEMICOLON, CPP_ELLIPSIS, CPP_PLUS_PLUS, CPP_MINUS_MINUS, CPP_DEREF, CPP_DOT, CPP_SCOPE, CPP_DEREF_STAR, CPP_DOT_STAR, CPP_ATSIGN, CPP_NAME, CPP_NUMBER, CPP_CHAR, CPP_WCHAR, CPP_OTHER, CPP_STRING, CPP_WSTRING, CPP_HEADER_NAME, CPP_COMMENT, CPP_MACRO_ARG, CPP_PADDING, N_TTYPES }; enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_GNUCXX, CLK_CXX98, CLK_ASM}; struct cpp_string { unsigned int len; const unsigned char *text; }; # 176 "../../gcc/gcc/cpplib.h" struct cpp_token { unsigned int line; unsigned short col; enum cpp_ttype type : 8; unsigned char flags; union { cpp_hashnode *node; const cpp_token *source; struct cpp_string str; unsigned int arg_no; unsigned char c; } val; }; # 208 "../../gcc/gcc/cpplib.h" typedef unsigned int cppchar_t; typedef int cppchar_signed_t; # 218 "../../gcc/gcc/cpplib.h" enum { dump_none = 0, dump_only, dump_names, dump_definitions }; struct cpp_options { unsigned int tabstop; struct cpp_pending *pending; struct search_path *quote_include; struct search_path *bracket_include; struct file_name_map_list *map_list; const char *include_prefix; unsigned int include_prefix_len; enum c_lang lang; unsigned char verbose; unsigned char cplusplus; unsigned char cplusplus_comments; unsigned char objc; unsigned char discard_comments; unsigned char discard_comments_in_macro_exp; unsigned char trigraphs; unsigned char digraphs; unsigned char extended_numbers; unsigned char print_include_names; unsigned char pedantic_errors; unsigned char inhibit_warnings; unsigned char warn_system_headers; unsigned char inhibit_errors; unsigned char warn_comments; unsigned char warn_trigraphs; unsigned char warn_import; unsigned char warn_multichar; unsigned char warn_traditional; unsigned char warn_long_long; unsigned char warn_endif_labels; unsigned char warn_num_sign_change; unsigned char warnings_are_errors; unsigned char no_output; unsigned char remap; unsigned char no_line_commands; unsigned char ignore_srcdir; unsigned char dollars_in_ident; unsigned char warn_undef; unsigned char warn_unused_macros; unsigned char c99; unsigned char std; unsigned char pedantic; unsigned char preprocessed; unsigned char no_standard_includes; unsigned char no_standard_cplusplus_includes; unsigned char dump_macros; unsigned char dump_includes; unsigned char show_column; unsigned char operator_names; unsigned char traditional; struct { enum {DEPS_NONE = 0, DEPS_USER, DEPS_SYSTEM } style; _Bool missing_files; _Bool phony_targets; _Bool ignore_main_file; } deps; size_t precision, char_precision, int_precision, wchar_precision; _Bool unsigned_char, unsigned_wchar; unsigned char stdc_0_in_system_headers; }; struct cpp_callbacks { void (*line_change) (cpp_reader *, const cpp_token *, int); void (*file_change) (cpp_reader *, const struct line_map *); void (*include) (cpp_reader *, unsigned int, const unsigned char *, const cpp_token *); void (*define) (cpp_reader *, unsigned int, cpp_hashnode *); void (*undef) (cpp_reader *, unsigned int, cpp_hashnode *); void (*ident) (cpp_reader *, unsigned int, const cpp_string *); void (*def_pragma) (cpp_reader *, unsigned int); void (*register_builtins) (cpp_reader *); }; extern const char *progname; # 448 "../../gcc/gcc/cpplib.h" enum node_type { NT_VOID = 0, NT_MACRO, NT_ASSERTION }; enum builtin_type { BT_SPECLINE = 0, BT_DATE, BT_FILE, BT_BASE_FILE, BT_INCLUDE_LEVEL, BT_TIME, BT_STDC, BT_PRAGMA }; # 477 "../../gcc/gcc/cpplib.h" struct cpp_hashnode { struct ht_identifier ident; unsigned short arg_index; unsigned char directive_index; unsigned char rid_code; enum node_type type : 8; unsigned char flags; union { cpp_macro *macro; struct answer *answers; enum cpp_ttype operator; enum builtin_type builtin; } value; }; extern cpp_reader *cpp_create_reader (enum c_lang); extern void cpp_set_lang (cpp_reader *, enum c_lang); extern void cpp_add_dependency_target (cpp_reader *, const char * target, int quote); # 515 "../../gcc/gcc/cpplib.h" extern cpp_options *cpp_get_options (cpp_reader *); extern const struct line_maps *cpp_get_line_maps (cpp_reader *); extern cpp_callbacks *cpp_get_callbacks (cpp_reader *); extern void cpp_set_callbacks (cpp_reader *, cpp_callbacks *); extern int cpp_handle_options (cpp_reader *, int, char **); extern int cpp_handle_option (cpp_reader *, int, char **); # 538 "../../gcc/gcc/cpplib.h" extern const char *cpp_read_main_file (cpp_reader *, const char *, struct ht *); extern void cpp_finish_options (cpp_reader *); extern int cpp_finish (cpp_reader *, FILE *deps_stream); extern void cpp_destroy (cpp_reader *); extern unsigned int cpp_errors (cpp_reader *); extern unsigned int cpp_token_len (const cpp_token *); extern unsigned char *cpp_token_as_text (cpp_reader *, const cpp_token *); extern unsigned char *cpp_spell_token (cpp_reader *, const cpp_token *, unsigned char *); extern void cpp_register_pragma (cpp_reader *, const char *, const char *, void (*) (cpp_reader *)); extern int cpp_avoid_paste (cpp_reader *, const cpp_token *, const cpp_token *); extern const cpp_token *cpp_get_token (cpp_reader *); extern const unsigned char *cpp_macro_definition (cpp_reader *, const cpp_hashnode *); extern void _cpp_backup_tokens (cpp_reader *, unsigned int); extern cppchar_t cpp_interpret_charconst (cpp_reader *, const cpp_token *, unsigned int *, int *); extern void cpp_define (cpp_reader *, const char *); extern void cpp_assert (cpp_reader *, const char *); extern void cpp_undef (cpp_reader *, const char *); extern void cpp_unassert (cpp_reader *, const char *); extern cpp_buffer *cpp_push_buffer (cpp_reader *, const unsigned char *, size_t, int, int); extern int cpp_defined (cpp_reader *, const unsigned char *, int); typedef unsigned int cpp_num_part; typedef struct cpp_num cpp_num; struct cpp_num { cpp_num_part high; cpp_num_part low; _Bool unsignedp; _Bool overflow; }; # 635 "../../gcc/gcc/cpplib.h" extern unsigned cpp_classify_number (cpp_reader *, const cpp_token *); extern cpp_num cpp_interpret_integer (cpp_reader *, const cpp_token *, unsigned int type); cpp_num cpp_num_sign_extend (cpp_num, size_t); # 673 "../../gcc/gcc/cpplib.h" extern void cpp_error (cpp_reader *, int, const char *msgid, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern void cpp_errno (cpp_reader *, int level, const char *msg); extern void cpp_error_with_line (cpp_reader *, int, unsigned, unsigned, const char *msgid, ...) __attribute__ ((__format__ (__printf__, 5, 6))); extern int cpp_ideq (const cpp_token *, const char *); extern void cpp_output_line (cpp_reader *, FILE *); extern void cpp_output_token (const cpp_token *, FILE *); extern const char *cpp_type2name (enum cpp_ttype); extern cppchar_t cpp_parse_escape (cpp_reader *, const unsigned char ** pstr, const unsigned char *limit, int wide); # 706 "../../gcc/gcc/cpplib.h" extern cpp_hashnode *cpp_lookup (cpp_reader *, const unsigned char *, unsigned int); typedef int (*cpp_cb) (cpp_reader *, cpp_hashnode *, void *); extern void cpp_forall_identifiers (cpp_reader *, cpp_cb, void *); extern void cpp_scan_nooutput (cpp_reader *); extern int cpp_sys_macro_p (cpp_reader *); extern unsigned char *cpp_quote_string (unsigned char *, const unsigned char *, unsigned int); extern int cpp_included (cpp_reader *, const char *); extern void cpp_make_system_header (cpp_reader *, int, int); extern void cpp_preprocess_file (cpp_reader *, const char *, FILE *); # 26 "../../gcc/gcc/cppfiles.c" 2 # 1 "../../gcc/gcc/cpphash.h" 1 # 28 "../../gcc/gcc/cpphash.h" struct directive; struct pending_option; struct op; typedef unsigned char uchar; # 54 "../../gcc/gcc/cpphash.h" struct dummy { char c; union { double d; int *p; } u; }; struct cpp_macro { cpp_hashnode **params; union { cpp_token *tokens; const uchar *text; } exp; unsigned int line; unsigned int count; unsigned short paramc; unsigned int fun_like : 1; unsigned int variadic : 1; unsigned int syshdr : 1; unsigned int used : 1; }; typedef struct _cpp_buff _cpp_buff; struct _cpp_buff { struct _cpp_buff *next; unsigned char *base, *cur, *limit; }; extern _cpp_buff *_cpp_get_buff (cpp_reader *, size_t); extern void _cpp_release_buff (cpp_reader *, _cpp_buff *); extern void _cpp_extend_buff (cpp_reader *, _cpp_buff **, size_t); extern _cpp_buff *_cpp_append_extend_buff (cpp_reader *, _cpp_buff *, size_t); extern void _cpp_free_buff (_cpp_buff *); extern unsigned char *_cpp_aligned_alloc (cpp_reader *, size_t); extern unsigned char *_cpp_unaligned_alloc (cpp_reader *, size_t); struct search_path { struct search_path *next; const char *name; unsigned int len; ino_t ino; dev_t dev; int sysp; struct file_name_map *name_map; }; enum include_type {IT_INCLUDE, IT_INCLUDE_NEXT, IT_IMPORT, IT_CMDLINE}; union utoken { const cpp_token *token; const cpp_token **ptoken; }; typedef struct tokenrun tokenrun; struct tokenrun { tokenrun *next, *prev; cpp_token *base, *limit; }; typedef struct cpp_context cpp_context; struct cpp_context { cpp_context *next, *prev; union { struct { union utoken first; union utoken last; } iso; struct { const uchar *cur; const uchar *rlimit; } trad; } u; _cpp_buff *buff; cpp_hashnode *macro; _Bool direct_p; }; struct lexer_state { unsigned char in_directive; unsigned char skipping; unsigned char angled_headers; unsigned char in_expression; unsigned char save_comments; unsigned char lexing_comment; unsigned char va_args_ok; unsigned char poisoned_ok; unsigned char prevent_expansion; unsigned char parsing_args; unsigned int skip_eval; }; struct spec_nodes { cpp_hashnode *n_defined; cpp_hashnode *n_true; cpp_hashnode *n_false; cpp_hashnode *n__VA_ARGS__; }; struct printer { FILE *outf; const struct line_map *map; const cpp_token *prev; const cpp_token *source; unsigned int line; unsigned char printed; }; struct cpp_buffer { const unsigned char *cur; const unsigned char *backup_to; const unsigned char *rlimit; const unsigned char *line_base; struct cpp_buffer *prev; const unsigned char *buf; struct include_file *inc; struct if_stack *if_stack; unsigned int col_adjust; unsigned char saved_flags; const unsigned char *last_Wtrigraphs; unsigned char warned_cplusplus_comments; unsigned char from_stage3; unsigned char search_cached; _Bool return_at_eof; struct search_path dir; const uchar *saved_cur, *saved_rlimit; }; struct cpp_reader { cpp_buffer *buffer; cpp_buffer *overlaid_buffer; struct lexer_state state; struct line_maps line_maps; const struct line_map *map; unsigned int line; unsigned int directive_line; _cpp_buff *a_buff; _cpp_buff *u_buff; _cpp_buff *free_buffs; struct cpp_context base_context; struct cpp_context *context; const struct directive *directive; struct pending_option **next_include_file; const cpp_hashnode *mi_cmacro; const cpp_hashnode *mi_ind_cmacro; _Bool mi_valid; cpp_token *cur_token; tokenrun base_run, *cur_run; unsigned int lookaheads; unsigned int keep_tokens; unsigned int errors; unsigned char *macro_buffer; unsigned int macro_buffer_len; struct splay_tree_s *all_include_files; unsigned int max_include_len; unsigned int first_unused_line; const uchar *date; const uchar *time; cpp_token avoid_paste; cpp_token eof; struct deps *deps; struct obstack hash_ob; struct obstack buffer_ob; struct pragma_entry *pragmas; struct cpp_callbacks cb; struct ht *hash_table; struct op *op_stack, *op_limit; struct cpp_options opts; struct spec_nodes spec_nodes; struct printer print; unsigned char our_hashtable; struct { uchar *base; uchar *limit; uchar *cur; unsigned int first_line; } out; unsigned int saved_line; }; # 476 "../../gcc/gcc/cpphash.h" extern const unsigned char _cpp_trigraph_map[(127 * 2 + 1) + 1]; # 488 "../../gcc/gcc/cpphash.h" extern int _cpp_begin_message (cpp_reader *, int, unsigned int, unsigned int); extern void _cpp_free_definition (cpp_hashnode *); extern _Bool _cpp_create_definition (cpp_reader *, cpp_hashnode *); extern void _cpp_pop_context (cpp_reader *); extern void _cpp_push_text_context (cpp_reader *, cpp_hashnode *, const uchar *, size_t); extern _Bool _cpp_save_parameter (cpp_reader *, cpp_macro *, cpp_hashnode *); extern _Bool _cpp_arguments_ok (cpp_reader *, cpp_macro *, const cpp_hashnode *, unsigned int); extern const uchar *_cpp_builtin_macro_text (cpp_reader *, cpp_hashnode *); int _cpp_warn_if_unused_macro (cpp_reader *, cpp_hashnode *, void *); extern void _cpp_init_hashtable (cpp_reader *, hash_table *); extern void _cpp_destroy_hashtable (cpp_reader *); extern void _cpp_fake_include (cpp_reader *, const char *); extern void _cpp_never_reread (struct include_file *); extern char *_cpp_simplify_pathname (char *); extern _Bool _cpp_read_file (cpp_reader *, const char *); extern _Bool _cpp_execute_include (cpp_reader *, const cpp_token *, enum include_type); extern int _cpp_compare_file_date (cpp_reader *, const cpp_token *); extern void _cpp_report_missing_guards (cpp_reader *); extern void _cpp_init_includes (cpp_reader *); extern void _cpp_cleanup_includes (cpp_reader *); extern void _cpp_pop_file_buffer (cpp_reader *, struct include_file *); extern _Bool _cpp_parse_expr (cpp_reader *); extern struct op *_cpp_expand_op_stack (cpp_reader *); extern cpp_token *_cpp_temp_token (cpp_reader *); extern const cpp_token *_cpp_lex_token (cpp_reader *); extern cpp_token *_cpp_lex_direct (cpp_reader *); extern int _cpp_equiv_tokens (const cpp_token *, const cpp_token *); extern void _cpp_init_tokenrun (tokenrun *, unsigned int); extern void _cpp_maybe_push_include_file (cpp_reader *); extern int _cpp_test_assertion (cpp_reader *, unsigned int *); extern int _cpp_handle_directive (cpp_reader *, int); extern void _cpp_define_builtin (cpp_reader *, const char *); extern void _cpp_do__Pragma (cpp_reader *); extern void _cpp_init_directives (cpp_reader *); extern void _cpp_init_internal_pragmas (cpp_reader *); extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *, unsigned int, unsigned int); extern void _cpp_pop_buffer (cpp_reader *); extern _Bool _cpp_read_logical_line_trad (cpp_reader *); extern void _cpp_overlay_buffer (cpp_reader *pfile, const uchar *, size_t); extern void _cpp_remove_overlay (cpp_reader *); extern _Bool _cpp_create_trad_definition (cpp_reader *, cpp_macro *); extern _Bool _cpp_expansions_different_trad (const cpp_macro *, const cpp_macro *); extern uchar *_cpp_copy_replacement_text (const cpp_macro *, uchar *); extern size_t _cpp_replacement_text_len (const cpp_macro *); # 574 "../../gcc/gcc/cpphash.h" static __inline__ int ustrcmp (const uchar *, const uchar *); static __inline__ int ustrncmp (const uchar *, const uchar *, size_t); static __inline__ size_t ustrlen (const uchar *); static __inline__ uchar *uxstrdup (const uchar *); static __inline__ uchar *ustrchr (const uchar *, int); static __inline__ int ufputs (const uchar *, FILE *); static __inline__ int ustrcmp (s1, s2) const uchar *s1, *s2; { return strcmp ((const char *)s1, (const char *)s2); } static __inline__ int ustrncmp (s1, s2, n) const uchar *s1, *s2; size_t n; { return strncmp ((const char *)s1, (const char *)s2, n); } static __inline__ size_t ustrlen (s1) const uchar *s1; { return strlen ((const char *)s1); } static __inline__ uchar * uxstrdup (s1) const uchar *s1; { return (uchar *) xstrdup ((const char *)s1); } static __inline__ uchar * ustrchr (s1, c) const uchar *s1; int c; { return (uchar *) strchr ((const char *)s1, c); } static __inline__ int ufputs (s, f) const uchar *s; FILE *f; { return fputs_unlocked ((const char *)s, f); } # 27 "../../gcc/gcc/cppfiles.c" 2 # 1 "../../gcc/gcc/intl.h" 1 # 23 "../../gcc/gcc/intl.h" # 1 "/usr/include/locale.h" 1 3 4 # 29 "/usr/include/locale.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 30 "/usr/include/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 27 "/usr/include/bits/locale.h" 3 4 enum { __LC_CTYPE = 0, __LC_NUMERIC = 1, __LC_TIME = 2, __LC_COLLATE = 3, __LC_MONETARY = 4, __LC_MESSAGES = 5, __LC_ALL = 6, __LC_PAPER = 7, __LC_NAME = 8, __LC_ADDRESS = 9, __LC_TELEPHONE = 10, __LC_MEASUREMENT = 11, __LC_IDENTIFICATION = 12 }; # 31 "/usr/include/locale.h" 2 3 4 # 52 "/usr/include/locale.h" 3 4 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; # 119 "/usr/include/locale.h" 3 4 }; extern char *setlocale (int __category, __const char *__locale) ; extern struct lconv *localeconv (void) ; # 149 "/usr/include/locale.h" 3 4 extern __locale_t __newlocale (int __category_mask, __const char *__locale, __locale_t __base) ; extern __locale_t __duplocale (__locale_t __dataset) ; extern void __freelocale (__locale_t __dataset) ; # 24 "../../gcc/gcc/intl.h" 2 # 34 "../../gcc/gcc/intl.h" # 1 "/usr/include/libintl.h" 1 3 4 # 30 "/usr/include/libintl.h" 3 4 extern char *gettext (__const char *__msgid) ; extern char *dgettext (__const char *__domainname, __const char *__msgid) ; extern char *__dgettext (__const char *__domainname, __const char *__msgid) __attribute__ ((__format_arg__ (2))); extern char *dcgettext (__const char *__domainname, __const char *__msgid, int __category) ; extern char *__dcgettext (__const char *__domainname, __const char *__msgid, int __category) __attribute__ ((__format_arg__ (2))); extern char *ngettext (__const char *__msgid1, __const char *__msgid2, unsigned long int __n) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); extern char *dngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *dcngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n, int __category) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *textdomain (__const char *__domainname) ; extern char *bindtextdomain (__const char *__domainname, __const char *__dirname) ; extern char *bind_textdomain_codeset (__const char *__domainname, __const char *__codeset) ; # 1 "include/stddef.h" 1 3 4 # 95 "/usr/include/libintl.h" 2 3 4 # 115 "/usr/include/libintl.h" 3 4 # 35 "../../gcc/gcc/intl.h" 2 extern void gcc_init_libintl (void); # 28 "../../gcc/gcc/cppfiles.c" 2 # 1 "../../gcc/gcc/mkdeps.h" 1 # 29 "../../gcc/gcc/mkdeps.h" struct deps; extern struct deps *deps_init (void); extern void deps_free (struct deps *); extern void deps_add_target (struct deps *, const char *, int); extern void deps_add_default_target (struct deps *, const char *); extern void deps_add_dep (struct deps *, const char *); extern void deps_write (const struct deps *, FILE *, unsigned int); extern void deps_phony_targets (const struct deps *, FILE *); # 29 "../../gcc/gcc/cppfiles.c" 2 # 1 "../../gcc/include/splay-tree.h" 1 # 43 "../../gcc/include/splay-tree.h" typedef unsigned long int splay_tree_key; typedef unsigned long int splay_tree_value; typedef struct splay_tree_node_s *splay_tree_node; typedef int (*splay_tree_compare_fn) (splay_tree_key, splay_tree_key); typedef void (*splay_tree_delete_key_fn) (splay_tree_key); typedef void (*splay_tree_delete_value_fn) (splay_tree_value); typedef int (*splay_tree_foreach_fn) (splay_tree_node, void*); typedef void *(*splay_tree_allocate_fn) (int, void *); typedef void (*splay_tree_deallocate_fn) (void *, void *); struct splay_tree_node_s { splay_tree_key key; splay_tree_value value; splay_tree_node left; splay_tree_node right; }; typedef struct splay_tree_s { splay_tree_node root; splay_tree_compare_fn comp; splay_tree_delete_key_fn delete_key; splay_tree_delete_value_fn delete_value; splay_tree_allocate_fn allocate; splay_tree_deallocate_fn deallocate; void *allocate_data; } *splay_tree; extern splay_tree splay_tree_new (splay_tree_compare_fn, splay_tree_delete_key_fn, splay_tree_delete_value_fn); extern splay_tree splay_tree_new_with_allocator (splay_tree_compare_fn, splay_tree_delete_key_fn, splay_tree_delete_value_fn, splay_tree_allocate_fn, splay_tree_deallocate_fn, void *); extern void splay_tree_delete (splay_tree); extern splay_tree_node splay_tree_insert (splay_tree, splay_tree_key, splay_tree_value); extern void splay_tree_remove (splay_tree, splay_tree_key); extern splay_tree_node splay_tree_lookup (splay_tree, splay_tree_key); extern splay_tree_node splay_tree_predecessor (splay_tree, splay_tree_key); extern splay_tree_node splay_tree_successor (splay_tree, splay_tree_key); extern splay_tree_node splay_tree_max (splay_tree); extern splay_tree_node splay_tree_min (splay_tree); extern int splay_tree_foreach (splay_tree, splay_tree_foreach_fn, void*); extern int splay_tree_compare_ints (splay_tree_key, splay_tree_key); extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key); # 30 "../../gcc/gcc/cppfiles.c" 2 # 1 "/usr/include/sys/mman.h" 1 3 4 # 26 "/usr/include/sys/mman.h" 3 4 # 1 "include/stddef.h" 1 3 4 # 27 "/usr/include/sys/mman.h" 2 3 4 # 42 "/usr/include/sys/mman.h" 3 4 # 1 "/usr/include/bits/mman.h" 1 3 4 # 43 "/usr/include/sys/mman.h" 2 3 4 # 58 "/usr/include/sys/mman.h" 3 4 extern void *mmap (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off_t __offset) ; # 71 "/usr/include/sys/mman.h" 3 4 extern void *mmap64 (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset) ; extern int munmap (void *__addr, size_t __len) ; extern int mprotect (void *__addr, size_t __len, int __prot) ; extern int msync (void *__addr, size_t __len, int __flags) ; extern int madvise (void *__addr, size_t __len, int __advice) ; extern int posix_madvise (void *__addr, size_t __len, int __advice) ; extern int mlock (__const void *__addr, size_t __len) ; extern int munlock (__const void *__addr, size_t __len) ; extern int mlockall (int __flags) ; extern int munlockall (void) ; extern void *mremap (void *__addr, size_t __old_len, size_t __new_len, int __may_move) ; extern int mincore (void *__start, size_t __len, unsigned char *__vec); extern int shm_open (__const char *__name, int __oflag, mode_t __mode); extern int shm_unlink (__const char *__name); # 33 "../../gcc/gcc/cppfiles.c" 2 # 80 "../../gcc/gcc/cppfiles.c" struct include_file { const char *name; const cpp_hashnode *cmacro; const struct search_path *foundhere; const unsigned char *buffer; struct stat st; int fd; int err_no; unsigned short include_count; unsigned short refcnt; unsigned char mapped; }; # 115 "../../gcc/gcc/cppfiles.c" static struct file_name_map *read_name_map (cpp_reader *, const char *); static char *read_filename_string (int, FILE *); static char *remap_filename (cpp_reader *, char *, struct search_path *); static struct search_path *search_from (cpp_reader *, enum include_type); static struct include_file * find_include_file (cpp_reader *, const cpp_token *, enum include_type); static struct include_file *open_file (cpp_reader *, const char *); static int read_include_file (cpp_reader *, struct include_file *); static _Bool stack_include_file (cpp_reader *, struct include_file *); static void purge_cache (struct include_file *); static void destroy_node (splay_tree_value); static int report_missing_guard (splay_tree_node, void *); static splay_tree_node find_or_create_entry (cpp_reader *, const char *); static void handle_missing_header (cpp_reader *, const char *, int); static int remove_component_p (const char *); # 148 "../../gcc/gcc/cppfiles.c" void _cpp_init_includes (pfile) cpp_reader *pfile; { pfile->all_include_files = splay_tree_new ((splay_tree_compare_fn) strcmp, (splay_tree_delete_key_fn) free, destroy_node); } void _cpp_cleanup_includes (pfile) cpp_reader *pfile; { splay_tree_delete (pfile->all_include_files); } static void destroy_node (v) splay_tree_value v; { struct include_file *f = (struct include_file *)v; if (f) { purge_cache (f); free (f); } } void _cpp_never_reread (file) struct include_file *file; { file->cmacro = ((const cpp_hashnode *)-1); } static splay_tree_node find_or_create_entry (pfile, fname) cpp_reader *pfile; const char *fname; { splay_tree_node node; struct include_file *file; char *name = xstrdup (fname); _cpp_simplify_pathname (name); node = splay_tree_lookup (pfile->all_include_files, (splay_tree_key) name); if (node) free (name); else { file = (struct include_file *) xcalloc (1, sizeof(struct include_file)); file->name = name; file->err_no = (*__errno_location ()); node = splay_tree_insert (pfile->all_include_files, (splay_tree_key) file->name, (splay_tree_value) file); } return node; } void _cpp_fake_include (pfile, fname) cpp_reader *pfile; const char *fname; { find_or_create_entry (pfile, fname); } # 235 "../../gcc/gcc/cppfiles.c" static struct include_file * open_file (pfile, filename) cpp_reader *pfile; const char *filename; { splay_tree_node nd = find_or_create_entry (pfile, filename); struct include_file *file = (struct include_file *) nd->value; if (file->err_no) { (*__errno_location ()) = file->err_no; return 0; } if (((file)->cmacro && ((file)->cmacro == ((const cpp_hashnode *)-1) || (file)->cmacro->type == NT_MACRO))) return file; if (file->buffer != ((void *)0)) return file; # 272 "../../gcc/gcc/cppfiles.c" if (filename[0] == '\0') { file->fd = 0; } else file->fd = open (file->name, 0x0000 | 0x8000 | 0, 0666); if (file->fd != -1 && fstat (file->fd, &file->st) == 0) { if (!((((file->st.st_mode)) & 0170000) == (0040000))) return file; (*__errno_location ()) = 2; close (file->fd); file->fd = -1; } file->err_no = (*__errno_location ()); return 0; } static _Bool stack_include_file (pfile, inc) cpp_reader *pfile; struct include_file *inc; { cpp_buffer *fp; int sysp; const char *filename; if (((inc)->cmacro && ((inc)->cmacro == ((const cpp_hashnode *)-1) || (inc)->cmacro->type == NT_MACRO))) return 0; sysp = (((pfile->map ? pfile->map->sysp : 0)) > ((inc->foundhere ? inc->foundhere->sysp : 0)) ? ((pfile->map ? pfile->map->sysp : 0)) : ((inc->foundhere ? inc->foundhere->sysp : 0))); if (((pfile)->opts.deps.style) > !!sysp && !inc->include_count) { if (pfile->buffer || ((pfile)->opts.deps.ignore_main_file) == 0) deps_add_dep (pfile->deps, inc->name); } if (! inc->buffer) { if (read_include_file (pfile, inc)) { _cpp_never_reread (inc); return 0; } if (((((inc->st.st_mode)) & 0170000) == (0100000)) && inc->st.st_size == 0) _cpp_never_reread (inc); close (inc->fd); inc->fd = -1; } if (pfile->buffer) inc->include_count++; fp = cpp_push_buffer (pfile, inc->buffer, inc->st.st_size, ((pfile)->opts.preprocessed), 0); fp->inc = inc; fp->inc->refcnt++; pfile->mi_valid = 1; pfile->mi_cmacro = 0; filename = inc->name; if (*filename == '\0') filename = ""; _cpp_do_file_change (pfile, LC_ENTER, filename, 1, sysp); return 1; } # 383 "../../gcc/gcc/cppfiles.c" static int read_include_file (pfile, inc) cpp_reader *pfile; struct include_file *inc; { ssize_t size, offset, count; uchar *buf; static int pagesize = -1; if (((((inc->st.st_mode)) & 0170000) == (0100000))) { # 404 "../../gcc/gcc/cppfiles.c" if (inc->st.st_size > ((ssize_t) (~ (ssize_t) 0 - ((ssize_t) ((! ((ssize_t) 0 < (ssize_t) -1)) ? ~ (ssize_t) 0 << (sizeof(ssize_t) * 8 - 1) : (ssize_t) 0))))) { cpp_error (pfile, 0x03, "%s is too large", inc->name); goto fail; } size = inc->st.st_size; inc->mapped = 0; if (pagesize == -1) pagesize = getpagesize (); if ((size / pagesize >= 3 && (size % pagesize) != 0)) { buf = (uchar *) mmap (0, size, 0x1, 0x02, inc->fd, 0); if (buf == (uchar *)-1) goto perror_fail; inc->mapped = 1; } else { buf = (uchar *) xmalloc (size + 1); offset = 0; while (offset < size) { count = read (inc->fd, buf + offset, size - offset); if (count < 0) goto perror_fail; if (count == 0) { if (!0) cpp_error (pfile, 0x00, "%s is shorter than expected", inc->name); size = offset; buf = xrealloc (buf, size + 1); inc->st.st_size = size; break; } offset += count; } buf[size] = '\0'; } } else if (((((inc->st.st_mode)) & 0170000) == (0060000))) { cpp_error (pfile, 0x03, "%s is a block device", inc->name); goto fail; } else { size = 8 * 1024; buf = (uchar *) xmalloc (size + 1); offset = 0; while ((count = read (inc->fd, buf + offset, size - offset)) > 0) { offset += count; if (offset == size) { size *= 2; buf = xrealloc (buf, size + 1); } } if (count < 0) goto perror_fail; if (offset + 1 < size) buf = xrealloc (buf, offset + 1); buf[offset] = '\0'; inc->st.st_size = offset; } inc->buffer = buf; return 0; perror_fail: cpp_errno (pfile, 0x03, inc->name); fail: return 1; } static void purge_cache (inc) struct include_file *inc; { if (inc->buffer) { if (inc->mapped) munmap ((void *) inc->buffer, inc->st.st_size); else free ((void *) inc->buffer); inc->buffer = ((void *)0); } } int cpp_included (pfile, fname) cpp_reader *pfile; const char *fname; { struct search_path *path; char *name, *n; splay_tree_node nd; if (((((fname)[0]) == '/') || (fname)[0] == '$')) { nd = splay_tree_lookup (pfile->all_include_files, (splay_tree_key) fname); return (nd && nd->value); } name = (char *) __builtin_alloca(strlen (fname) + pfile->max_include_len + 2); for (path = ((pfile)->opts.quote_include); path; path = path->next) { memcpy (name, path->name, path->len); name[path->len] = '/'; strcpy (&name[path->len + 1], fname); if (((pfile)->opts.remap)) n = remap_filename (pfile, name, path); else n = name; nd = splay_tree_lookup (pfile->all_include_files, (splay_tree_key) n); if (nd && nd->value) return 1; } return 0; } static struct include_file * find_include_file (pfile, header, type) cpp_reader *pfile; const cpp_token *header; enum include_type type; { const char *fname = (const char *) header->val.str.text; struct search_path *path; struct include_file *file; char *name, *n; if (((((fname)[0]) == '/') || (fname)[0] == '$')) return open_file (pfile, fname); if (type == IT_INCLUDE_NEXT && pfile->buffer->inc->foundhere) path = pfile->buffer->inc->foundhere->next; else if (header->type == CPP_HEADER_NAME) path = ((pfile)->opts.bracket_include); else path = search_from (pfile, type); if (path == ((void *)0)) { cpp_error (pfile, 0x03, "no include path in which to find %s", fname); return ((struct include_file *) -1); } name = (char *) __builtin_alloca(strlen (fname) + pfile->max_include_len + 2); for (; path; path = path->next) { int len = path->len; memcpy (name, path->name, len); if (name[len-1] == '/') len--; name[len] = '/'; strcpy (&name[len + 1], fname); if (((pfile)->opts.remap)) n = remap_filename (pfile, name, path); else n = name; file = open_file (pfile, n); if (file) { file->foundhere = path; return file; } } return 0; } void cpp_make_system_header (pfile, syshdr, externc) cpp_reader *pfile; int syshdr, externc; { int flags = 0; if (syshdr) flags = 1 + (externc != 0); _cpp_do_file_change (pfile, LC_RENAME, pfile->map->to_file, ((pfile->line) + (pfile->map)->to_line - (pfile->map)->from_line), flags); } void _cpp_report_missing_guards (pfile) cpp_reader *pfile; { int banner = 0; splay_tree_foreach (pfile->all_include_files, report_missing_guard, (void *) &banner); } static int report_missing_guard (n, b) splay_tree_node n; void *b; { struct include_file *f = (struct include_file *) n->value; int *bannerp = (int *)b; if (f && f->cmacro == 0 && f->include_count == 1) { if (*bannerp == 0) { fputs_unlocked (dcgettext (((void *)0), "Multiple include guards may be useful for:\n", __LC_MESSAGES), stderr); *bannerp = 1; } fputs_unlocked (f->name, stderr); putc_unlocked ('\n', stderr); } return 0; } static void handle_missing_header (pfile, fname, angle_brackets) cpp_reader *pfile; const char *fname; int angle_brackets; { _Bool print_dep = ((pfile)->opts.deps.style) > (angle_brackets || pfile->map->sysp); if (((pfile)->opts.deps.missing_files) && print_dep) deps_add_dep (pfile->deps, fname); else cpp_errno (pfile, ((pfile)->opts.deps.style) && ! print_dep ? 0x00: 0x03, fname); } _Bool _cpp_execute_include (pfile, header, type) cpp_reader *pfile; const cpp_token *header; enum include_type type; { _Bool stacked = 0; struct include_file *inc = find_include_file (pfile, header, type); if (inc == 0) handle_missing_header (pfile, (const char *) header->val.str.text, header->type == CPP_HEADER_NAME); else if (inc != ((struct include_file *) -1)) { stacked = stack_include_file (pfile, inc); if (type == IT_IMPORT) _cpp_never_reread (inc); } return stacked; } int _cpp_compare_file_date (pfile, header) cpp_reader *pfile; const cpp_token *header; { struct include_file *inc = find_include_file (pfile, header, 0); if (inc == ((void *)0) || inc == ((struct include_file *) -1)) return -1; if (inc->fd > 0) { close (inc->fd); inc->fd = -1; } return inc->st.st_mtime > pfile->buffer->inc->st.st_mtime; } _Bool _cpp_read_file (pfile, fname) cpp_reader *pfile; const char *fname; { struct include_file *f = open_file (pfile, fname); if (f == ((void *)0)) { cpp_errno (pfile, 0x03, fname); return 0; } return stack_include_file (pfile, f); } void _cpp_pop_file_buffer (pfile, inc) cpp_reader *pfile; struct include_file *inc; { if (pfile->mi_valid && inc->cmacro == ((void *)0)) inc->cmacro = pfile->mi_cmacro; pfile->mi_valid = 0; inc->refcnt--; if (inc->refcnt == 0 && ((inc)->cmacro && ((inc)->cmacro == ((const cpp_hashnode *)-1) || (inc)->cmacro->type == NT_MACRO))) purge_cache (inc); } static struct search_path * search_from (pfile, type) cpp_reader *pfile; enum include_type type; { cpp_buffer *buffer = pfile->buffer; unsigned int dlen; if (type == IT_CMDLINE) goto use_cwd; if (((pfile)->opts.ignore_srcdir)) return ((pfile)->opts.quote_include); if (! buffer->search_cached) { buffer->search_cached = 1; dlen = lbasename (buffer->inc->name) - buffer->inc->name; if (dlen) { buffer->dir.name = buffer->inc->name; if (dlen > 1) dlen--; } else { use_cwd: buffer->dir.name = "."; dlen = 1; } if (dlen > pfile->max_include_len) pfile->max_include_len = dlen; buffer->dir.len = dlen; buffer->dir.next = ((pfile)->opts.quote_include); buffer->dir.sysp = pfile->map->sysp; } return &buffer->dir; } # 833 "../../gcc/gcc/cppfiles.c" struct file_name_map { struct file_name_map *map_next; char *map_from; char *map_to; }; static char * read_filename_string (ch, f) int ch; FILE *f; { char *alloc, *set; int len; len = 20; set = alloc = xmalloc (len + 1); if (! (_sch_istable[(ch) & 0xff] & (unsigned short)(_sch_iscppsp))) { *set++ = ch; while ((ch = _IO_getc (f)) != (-1) && ! (_sch_istable[(ch) & 0xff] & (unsigned short)(_sch_iscppsp))) { if (set - alloc == len) { len *= 2; alloc = xrealloc (alloc, len + 1); set = alloc + len / 2; } *set++ = ch; } } *set = '\0'; ungetc (ch, f); return alloc; } struct file_name_map_list { struct file_name_map_list *map_list_next; char *map_list_name; struct file_name_map *map_list_map; }; static struct file_name_map * read_name_map (pfile, dirname) cpp_reader *pfile; const char *dirname; { struct file_name_map_list *map_list_ptr; char *name; FILE *f; for (map_list_ptr = ((pfile)->opts.map_list); map_list_ptr; map_list_ptr = map_list_ptr->map_list_next) if (! strcmp (map_list_ptr->map_list_name, dirname)) return map_list_ptr->map_list_map; map_list_ptr = ((struct file_name_map_list *) xmalloc (sizeof (struct file_name_map_list))); map_list_ptr->map_list_name = xstrdup (dirname); map_list_ptr->map_list_map = ((void *)0); name = (char *) __builtin_alloca(strlen (dirname) + strlen ("header.gcc") + 2); strcpy (name, dirname); if (*dirname) strcat (name, "/"); strcat (name, "header.gcc"); f = fopen (name, "r"); if (f) { int ch; while ((ch = _IO_getc (f)) != (-1)) { char *from, *to; struct file_name_map *ptr; if ((_sch_istable[(ch) & 0xff] & (unsigned short)(_sch_iscppsp))) continue; from = read_filename_string (ch, f); while ((ch = _IO_getc (f)) != (-1) && (_sch_istable[(ch) & 0xff] & (unsigned short)(_sch_isblank))) ; to = read_filename_string (ch, f); ptr = ((struct file_name_map *) xmalloc (sizeof (struct file_name_map))); ptr->map_from = from; if (((((to)[0]) == '/') || (to)[0] == '$')) ptr->map_to = to; else { ptr->map_to = concat (dirname, "/", to, ((void *)0)); free (to); } ptr->map_next = map_list_ptr->map_list_map; map_list_ptr->map_list_map = ptr; while ((ch = _IO_getc (f)) != '\n') if (ch == (-1)) break; } fclose (f); } map_list_ptr->map_list_next = ((pfile)->opts.map_list); ((pfile)->opts.map_list) = map_list_ptr; return map_list_ptr->map_list_map; } static char * remap_filename (pfile, name, loc) cpp_reader *pfile; char *name; struct search_path *loc; { struct file_name_map *map; const char *from, *p; char *dir; if (! loc->name_map) { char *dname = __builtin_alloca(loc->len + 1); memcpy (dname, loc->name, loc->len); dname[loc->len] = '\0'; loc->name_map = read_name_map (pfile, dname); if (! loc->name_map) return name; } from = name + loc->len + 1; for (map = loc->name_map; map; map = map->map_next) if (!strcmp (map->map_from, from)) return map->map_to; p = strrchr (name, '/'); if (!p) return name; if (p == name) cpp_error (pfile, 0x04, "absolute file name in remap_filename"); dir = (char *) __builtin_alloca(p - name + 1); memcpy (dir, name, p - name); dir[p - name] = '\0'; from = p + 1; for (map = read_name_map (pfile, dir); map; map = map->map_next) if (! strcmp (map->map_from, from)) return map->map_to; return name; } static int remove_component_p (path) const char *path; { struct stat s; int result; result = lstat (path, &s); if (result == 0) (*__errno_location ()) = 0; return result == 0 && ((((s.st_mode)) & 0170000) == (0040000)); } # 1053 "../../gcc/gcc/cppfiles.c" char * _cpp_simplify_pathname (path) char *path; { char *from, *to; char *base, *orig_base; int absolute = 0; (*__errno_location ()) = 0; if (*path == '\0') return path; # 1078 "../../gcc/gcc/cppfiles.c" from = to = path; if (*from == '/') { absolute = 1; to++; from++; if (*from == '/') { if (*++from == '/') while (*++from == '/'); else to++; } } base = orig_base = to; for (;;) { int move_base = 0; while (*from == '/') from++; if (*from == '\0') break; if (*from == '.') { if (from[1] == '\0') break; if (from[1] == '/') { from += 2; continue; } else if (from[1] == '.' && (from[2] == '/' || from[2] == '\0')) { if (absolute && orig_base == to) { from += 2; continue; } if (base != to && (*__errno_location ()) == 0) { *to = '\0'; if (remove_component_p (path)) { while (to > base && *to != '/') to--; from += 2; continue; } } move_base = 1; } } if (to > orig_base) *to++ = '/'; while (*from != '\0' && *from != '/') *to++ = *from++; if (move_base) base = to; } if (to == path) *to++ = '.'; *to = '\0'; return path; } ulse to++; } } base = orig_base = to; for (;;) { int move_base = 0; while (*from == '/') from++; if (*from == '\0') break; if (*from == '.') { if (from[1] == '\0') break; if (from[1] == '/') { from += 2; continue; } else if (from[1] == '.' && (from[2] == '/' || from[2] == '\0')) { if (absolute && orig_base == to) { from += 2; continue; } if (base != to && (*__errno_location ()) == 0) { *to = '\0'; if (remove_component_p (path)) { while (to > base && *to != '/') to--; from += 2; continue; } } move_base = 1; } } if (to > orig_base) *to++ = '/'; while (*from != '\0' && *from != '/') *to++ = *from++; if (move_base) base = to; } if (to == path) *to++ = '.'; *to = '\0'; return path; } ulse to++; } } base = orig_base = to; for (;;) { int move_base = 0; while (*from == '/') from++; if (*from == '\0') break; if (*from == '.') { if (from[1] == '\0') break; if (from[1] == '/') { from += 2; continue; } else if (from[1] == '.' && (from[2] == '/' || from[2] == '\0')) { if (absolute && orig_base == to) { from += 2; continue; } if (base != to && (*__errno_location ()) == 0) { *to = '\0'; if (remove_component_p (path)) { while (to > base && *to != '/') to--; from += 2; continue; } } move_base = 1; } } if (to > orig_base) *to++ = '/'; while (*from != '\0' && *from != '/') *to++ = *from++; if (move_base) base = to; } if (to == path) *to++ = '.'; *to = '\0'; return path; } ulse to++; } } base = orig_base = to; for (;;) { int move_base = 0; while (*from == '/') from++; if (*from == '\0') break; if (*from == '.') { if (from[1] == '\0') break; if (from[1] == '/') { from += 2; continue; } else if (from[1] == '.' && (from[2] == '/' || from[2] == '\0')) { if (absolute && orig_base == to) { from += 2; continue; } if (base != to && (*__errno_location ()) == 0) { *to = '\0'; if (remove_component_p (path)) { while (to > base && *to != '/') to--; from += 2; continue; } } move_base = 1; } } if (to > orig_base) *to++ = '/'; while (*from != '\0' && *from != '/') *to++ = *from++; if (move_base) base = to; } if (to == path) *to++ = '.'; *to = '\0'; return path; } ulse to++; } } base = orig_base = to; for (;;) { int move_base = 0; while (*from == '/') from++; if (*from == '\0') break; if (*from == '.') { if (from[1] == '\0' >How-To-Repeat: well, bootstrap on either debian 3.0 or Aurora SPARC Linux 0.32 on a sparc32 machine I guess... >Fix: >Release-Note: >Audit-Trail: >Unformatted: PRs are public.