diff options
author | (no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-23 10:10:45 +0000 |
---|---|---|
committer | (no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-23 10:10:45 +0000 |
commit | c97564d510b43a37155944883c39c545a9f7c7ae (patch) | |
tree | 1b38b9fc44e946c781be7a3b22a432ad7cdb8a51 /gcc | |
parent | 964944fc854c1dd723f7b8150d0deac634aabdbb (diff) |
This commit was manufactured by cvs2svn to create taghammer-3_3-merge-20030123
'hammer-3_3-merge-20030123'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/tags/hammer-3_3-merge-20030123@61650 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
195 files changed, 10453 insertions, 7841 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d1036a4fc88..21b1d06b52b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,596 @@ +2003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR other/7341 + * invoke.texi (ftest-coverage): Fix broken cross-reference. + Change @code to @command for gcov command. + + * gcc.texi: Adjust title of gcov section. + Adjust copyright. + * gcov.texi: Likewise. + +2003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR other/7448 + * doc/passes.texi (fssa-ccp): Remove misplaced line. + +2003-01-22 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression + introduced by last change. + +2003-01-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * configure.in: Make --disable-checking the default. + * configure: Regenerate. + +2003-01-22 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390-protos.h (preferred_la_operand_p): + Remove second parameter. + * config/s390/s390.c (preferred_la_operand_p): Likewise. + * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros. + (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P. + * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove. + Add peepholes to transform ADD to LOAD ADDRESS. + +Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz> + + * i386.md (SSE cmov splitter): Handle memory operand in operand 5. + +2003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de> + + PR opt/7507 + * calls.c (fix_unsafe_tree): Split out from ... + (expand_call): ... here. Use it on the function address too. + +2003-01-20 Richard Henderson <rth@redhat.com> + + PR opt/7154 + * stmt.c (expand_asm_operands): Validize memory operands. + +2003-01-20 Richard Henderson <rth@redhat.com> + + PR opt/8848 + * ifcvt.c (noce_process_if_block): Correct arguments to + modified_between_p for no-else-block case. + +2003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x + is not a scalar int mode. + +2003-01-20 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.c (notice_update_cc): Don't assume that + recog_data.operands[0] is always associated with cc0. + +2003-01-19 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word, + z_reg, z_reg_qi): Declare static and GTY(). + (da_reg): Remove. + (create_regs_rtx): Don't create da_reg. + ("gt-m68hc11.h"): Include for GTY roots. + (m68hc11_autoinc_compatible_p): Remove. + (autoinc_mode): Declare prototype. + (m68hc11_make_autoinc_notes): Likewise. + * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern + and GTY() here. + (m68hc11_compare_op0, m68hc11_compare_op1): Likewise. + (m68hc11_soft_tmp_reg): Likewise. + * config/m68hc11/m68hc11-protos.h: Remove above declarations. + +2003-01-18 Roger Sayle <roger@eyesopen.com> + + * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs. + +2003-01-10 Geoffrey Keating <geoffk@apple.com> + + * varasm.c (struct constant_descriptor_rtx): Remove unused + `label' field. + + * ggc-page.c (ggc_collect): Avoid overflow computing + min_expand. + +2002-12-20 Geoffrey Keating <geoffk@apple.com> + + * integrate.c (output_inline_function): Don't hold private + pointers to 'struct function' over GC calls. + +2003-01-17 Alexandre Oliva <aoliva@redhat.com> + + * config/mips/mips.h: Don't use #elif. Reported by Kaveh + R. Ghazi. + +2003-01-16 Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr + instead of rotldi3_mextr. + +2003-01-16 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling + 68HC12 pre/post inc/dec side effects. + +2003-01-16 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/m68hc11.h (MASK_M6812): Define. + +2003-01-16 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to + allocate 4-bytes of locals on 68HC11. + (expand_epilogue): Likewise. + (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers. + +2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY, + ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define. + * pa.h (TARGET_SOM_SDEF): Define. + * pa-hpux11.h (TARGET_SOM_SDEF): Define. + +2003-01-15 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort + and -mshort-double to the assembler to specify the ABI. + (LINK_SPEC): Likewise. + (CPP_SPEC): Pass HCS12 specific define. + (MASK_M68S12): New define. + (TARGET_M68S12): Likewise. + (TARGET_SWITCHES): New options -m68hcs12 and -m68S12. + (TARGET_VERSION): Update. + * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define. + (LINK_SPEC): Update. + (ASM_SPEC): Update. + * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update. + * doc/invoke.texi (M68hc1x Options): Document -m68hcs12. + +2003-01-15 John David Anglin <dave.anglin@nrc.gc.ca> + + * gengtype-lex.l (malloc, realloc): Move defines after include of + system.h. + +2003-01-15 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit + the return code. + +2003-01-15 Josef Zlomek <zlomekj@suse.cz> + + * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU + flag before setting it. + +2003-01-15 Josef Zlomek <zlomekj@suse.cz> + + Segher Boessenkool <segher@koffie.nl> + + * predict.c (real_inv_br_prob_base): New variable. + (propagate_freq): Use multiply by reciprocal instead of + division. Don't divide by 1.0 at all. + (estimate_bb_frequencies): Similar. + +2003-01-15 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (libgcc_visibility): Force disabled on IRIX 6 too. + * configure: Rebuilt. + + * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as + to set $gp before the call. + +2003-01-10 Andrew Haley <aph@redhat.com> + + * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename + registers to be in correct order. Add rip. + +2003-01-14 Denis Chertykov <denisc@overta.ru> + + * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove. + (VALID_MACHINE_TYPE_ATTRIBUTE): Remove. + + * config/ip2k/ip2k.c (ip2k_attribute_table): New table of + attributes. + (TARGET_ATTRIBUTE_TABLE): New macro. + (valid_machine_type_attribute): Remove. + (valid_machine_decl_attribute): Remove. + (ip2k_handle_progmem_attribute): New function. + (ip2k_handle_fndecl_attribute): New function. + +2003-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR target/8870, PR target/9195 + + Backport from mainline: + + 2003-01-10 Richard Henderson <rth@redhat.com> + + * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P, + not INTEGRAL_MODE_P when widening extensions. + +2003-01-13 Alexandre Oliva <aoliva@redhat.com> + + * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend + ${ac_tool_prefix} to ADAC or CC. Protect them from word + splitting. + * configure: Rebuilt. + +2003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * unwind-dw2-fde.h (last_fde): Mark parameter with __attribute__ + ((__unused__)). + +2003-01-12 Alan Modra <amodra@bigpond.net.au> + + * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args. + +Sat Jan 11 11:10:19 CET 2003 Jan Hubicka <jh@suse.cz> + + PR target/9068 + * i386.c (output_fp_compare): Fix typo + +2003-01-10 Josef Zlomek <zlomekj@suse.cz> + + * jump.c (next_nonnote_insn_in_loop): New function. + (copy_loop_headers): Use next_nonnote_insn_in_loop instead of + next_nonnote_insn. + (duplicate_loop_exit_test). Likewise. + +Wed Jan 8 14:09:30 CET 2003 Jan Hubicka <jh@suse.cz> + + PR target/8213 + * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem. + +2003-01-09 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn + length. + (*extzv_1_r_h8300hs): Likewise. + (*extzv_1_r_inv_h8300): Likewise. + (*extzv_1_r_inv_h8300hs): Likewise. + +2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz> + + * Makefile.in (optabs.o): Add dependency on basic-block.h. + * basic-block.h (control_flow_insn_p): Fuction was exported. + * cfgbuild.c (control_flow_insn_p): Fuction was made non-static. + * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL + notes only when the region is contained in a single basic block. + +2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz> + + * Makefile.in (PARTITION_H): New. + (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H). + * basic-block.h: Include hard-reg-set.h. + +2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR inline-asm/8832 + * tree.h (expand_asm): New prototype. + * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed + to do so. + * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier + down to expand_asm. + * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier. + * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag. + (volatile_refs_p) [ASM_INPUT]: Likewise. + (side_effects_p) [ASM_INPUT]: Likewise. + +2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR c/8032 + * c-typeck.c (process_init_element) [RECORD_TYPE]: For + an empty element, do not advance the pointer to unfilled + fields if there are pending initializers. + +2003-01-09 Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a + non-optimizing compile. + (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing + compile. + +2003-01-09 Andreas Jaeger <aj@suse.de> + + * unwind-dw2-fde.h (last_fde): Revert last patch. + +2003-01-08 Danny Smith <dannysmith@users.sourceforge.net> + + PR optimization/8750 + * config/i386/i386.c (ix86_expand_prologue): Don't allow + scheduling pass to move insns across __alloca call. + +2003-01-08 Jeff Sturm <jsturm@one-point.com> + + PR target/9210 + * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): + Set SYMBOL_REF_FLAG on local data sym_ref. + +Wed Jan 8 19:53:56 CET 2003 Jan Hubicka <jh@suse.cz> + + PR target/8322 + * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads. + * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts. + + PR target/7782 + * reload1.c (delete_output_reload): Avoid repeated attempts + to delete insn. + + * cselib.c (cselib_current_insn_in_libcall): New static variable. + (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether + we are inside libcall. + * cselib.h (elt_loc_list): Add in_libcall. + * gcse.c (do_local_cprop): Do not copy propagate using insns + in libcalls. + +2003-01-07 Janis Johnson <janis187@us.ibm.com> + + PR other/8947 + * doc/invoke.texi (-malign-double): Explain that the option breaks + binary compatibility. + +2003-01-07 Richard Henderson <rth@redhat.com> + + * alias.c (find_base_value): Only use new_reg_base_value shortcut + if the register is set once. + +2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de> + + * config/i386/i386.c (ix86_init_mmx_sse_builtins): + __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX. + * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX. + +2003-01-07 Benjamin Kosnik <bkoz@redhat.com> + Sunil Davasam <sunil.k.davasam@intel.com> + + PR libstdc++/9076 + * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined, + DW_CFA_same_value, read next and ignore. + +2003-01-07 Richard Henderson <rth@redhat.com> + + * cfganal.c (flow_call_edges_add): Don't crash on noreturn call. + +2003-01-06 Aldy Hernandez <aldyh@redhat.com> + + Segher Boessenkool <segher@koffie.nl> + + * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers. + (alt_reg_names): Ditto, fix formatting. + * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting. + +2003-01-06 Bruce Korb <bkorb@gnu.org> + + * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function + of *both* the file name and the fix name. + +2003-01-06 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str + properly when changing "local-ness". + * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols. + +2003-01-05 Andreas Jaeger <aj@suse.de> + + * unwind-dw2-fde.h (last_fde): Add unused attribute for obj. + +2003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * pa64-hpux.h (JCR_SECTION_NAME): Define. + (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of + USE_EH_FRAME_REGISTRY when defining. + +2003-01-04 John David Anglin <dave.anglin@nrc.ca> + + * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use + collect2. + * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine. + (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define. + * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP, + GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP, + GNU_FINI_ARRAY_SECTION_ASM_OP): Define. + (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using + elfos.h. + (EH_FRAME_IN_DATA_SECTION): Delete define. + (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine. + (STARTFILE_SPEC): Use crtbegin.o. + (ENDFILE_SPEC): Use crtend.o. + (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION, + SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK, + PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB, + DTOR_LIST_BEGIN): Define. + * pa.c (TARGET_ASM_CONSTRUCTOR): Define. + (pa_asm_out_constructor, pa_asm_out_destructor): New functions. + * som.h (SUPPORTS_INIT_PRIORITY): Delete define. + +2003-01-02 Eric Christopher <echristo@redhat.com> + + * config/mips/mips.md (movdf_internal2): Fix constraints. + +2003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> + + * doc/install.texi (Configuration): Fix markup for reference to + gcc/config.gcc. + +2003-01-02 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.c (stack_pointer_operand): New. + (const_int_gt_2_operand): Likewise. + (const_int_ge_8_operand): Likewise. + * config/h8300/h8300.md (a splitter): Likewise. + (a peephole2): Likewise. + * config/h8300/h8300-protos.h: Add prototypes for the new + functions above. + +2003-01-02 Neil Booth <neil@daikokuya.co.uk> + + * gccbug.in: Update for new categories. + +2002-12-31 Tom Tromey <tromey@redhat.com> + + * doc/install.texi (Testing): Fixed typo. + +2002-12-31 Jerry Quinn <jlquinn@optonline.net> + + * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag + descriptions. + +2002-12-31 Jerry Quinn <jlquinn@optonline.net> + + * gcc/doc/invoke.texi (Optimization Options): List the options + enabled by each -O flag. + +2002-12-31 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define. + +2002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> + + * doc/install.texi (Configuration): Explicitly refer + gcc/config.gcc for a list of cpu models. + +2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk> + + * doc/gcc.texi, doc/gccint.texi: Update last modification dates. + +2002-12-30 Tom Tromey <tromey@redhat.com> + + * doc/install.texi (Testing): Mention Jacks. + +2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk> + + * doc/service.texi: Uncomment and update FAQ link. + +2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> + + * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi: + Use @copying. + +2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> + + * configure.in: Increase makeinfo version requirement to 4.[2-9]. + * configure: Regenerate. + * doc/install.texi: Update Texinfo version requirement. + +2002-12-27 Joseph S. Myers <jsm@polyomino.org.uk> + + * doc/include/texinfo.tex: Update to version 2002-12-26.16. + +2002-12-26 Joseph S. Myers <jsm@polyomino.org.uk> + + * doc/standards.texi, doc/invoke.texi: Point to 3.3 version of + c99status.html. + +2002-12-26 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab. + +2002-12-23 Larin Hennessy <larin@science.oregonstate.edu> + + * doc/install.texi: Remove i386-*-isc, i860-*-bsd, + m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries. + * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex, + DG/UX entries. + * doc/md.texi: Remove AMD 29K entries. + * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS + 1.38.1, NewsOS, RT PC, WE32K entries. + +2002-12-23 Aldy Hernandez <aldyh@redhat.com> + + PR/8763 + * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector. + (altivec_vspltisw_v4sf): Name pattern. + (altivec_vslw_v4sf): New pattern. + +2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> + + * doc/include/gcc-common.texi: Clear DEVELOPMENT. + +2002-12-23 David Edelsohn <edelsohn@gnu.org> + + PR middle-end/8784 + * expr.c (expand_assignment): Apply special treatment to + ARRAY_TYPE. + +2002-12-21 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.md (zero_extendqisi2): Correct the + length. + +2002-12-19 Devang Patel <dpatel@apple.com> + + * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add support for -dynamic. + (CPP_SPEC): Define __STATIC__ and __DYNAMIC__ depending on -dynamic. + (LINK_SPEC): Pass -dynamic to linker. + * config/rs6000/darwin.h: Reject conflicting -static and -dynamic. + +2002-12-19 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.md (pushqi_h8300): Don't push the stack + pointer. + (pushqi_h8300hs): Likewise. + (pushhi_h8300): Likewise. + (pushhi_h8300hs): Likewise. + +2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/8988 + * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning + the biv when eliminating. + +2002-12-19 Aldy Hernandez <aldyh@redhat.com> + + PR 8553 + * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered + registers. + ("absv16qi2"): Same. + ("absv4si2"): Same. + ("absv4sf2"): Same. + ("altivec_abss_v16qi"): Same. + ("altivec_abss_v8hi"): Same. + ("altivec_abss_v4si"): Same. + +2002-12-19 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly", + "*tstqiCCT", "*tstqiCCT_cconly"): New insns. + +2002-12-18 Aldy Hernandez <aldyh@redhat.com> + + * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in + macro. + (vec_cmplt C++ functions): Reverse arguments. + +2002-12-17 Kazu Hirata <kazu@cs.umass.edu> + + * doc/c-tree.texi: Restore deliberate spelling mistakes. + +2002-12-17 Kazu Hirata <kazu@cs.umass.edu> + + * doc/c-tree.texi: Fix typos and follow spelling conventions. + * doc/cpp.texi: Likewise. + * doc/extend.texi: Likewise. + * doc/gty.texi: Likewise. + * doc/install.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/md.texi: Likewise. + * doc/passes.texi: Likewise. + * doc/rtl.texi: Likewise. + * doc/sourcebuild.texi: Likewise. + * doc/tm.texi: Likewise. + +2002-12-17 Jerry Quinn <jlquinn@optonline.net> + + * doc/invoke.texi: Minor spelling and grammar fixes. + +2002-12-16 Mark Mitchell <mark@codesourcery.com> + + * version.c (version_string): Mark as prerelease. + +2002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * pa.c (output_millicode_call): Correct typo. + (output_call): Likewise. + Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com> * config/mn10300/mn10300.c (print_operand) <case N>: Check @@ -191,7 +784,7 @@ Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com> * config/darwin.h(LINK_SPEC): Add darwin specific linker options. * doc/invoke.texi: Add new "Darwin Options" section. - + 2002-12-10 Jim Wilson <wilson@redhat.com> * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in @@ -268,7 +861,7 @@ Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz> * stmt.c (expand_return): Ditto. * expr.c (move_block_from_reg): Ditto. (copy_blkmode_from_reg): Ditto. - * expmed.c (store_bit_field): Ditto. + * expmed.c (store_bit_field): Ditto. 2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com> @@ -529,7 +1122,7 @@ Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com> * c-format.c (T_ST): Use size_type_node, not c_size_type_node. * tree.h (TI_SIZE_TYPE): New enumeral. (size_type_node): Likewise. - + 2002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca> * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest @@ -1106,7 +1699,7 @@ Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz> (ggc_realloc): Update valgrind annotations. * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD): Define as empty. - (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to + (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to valgrind-annotate memory. 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com> diff --git a/gcc/Makefile.in b/gcc/Makefile.in index e1fb947e4ed..19e65960a41 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1,6 +1,6 @@ # Makefile for GNU C compiler. # Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 -# 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +# 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. #This file is part of GCC. @@ -254,6 +254,7 @@ HASHTAB_H = $(srcdir)/../include/hashtab.h OBSTACK_H = $(srcdir)/../include/obstack.h SPLAY_TREE_H= $(srcdir)/../include/splay-tree.h FIBHEAP_H = $(srcdir)/../include/fibheap.h +PARTITION_H = $(srcdir)/../include/partition.h # Default native SYSTEM_HEADER_DIR, to be overridden by targets. NATIVE_SYSTEM_HEADER_DIR = /usr/include @@ -569,7 +570,8 @@ RTL_H = $(RTL_BASE_H) genrtl.h PARAMS_H = params.h params.def TREE_H = tree.h tree.def $(MACHMODE_H) tree-check.h version.h builtins.def \ location.h -BASIC_BLOCK_H = basic-block.h bitmap.h sbitmap.h varray.h +BASIC_BLOCK_H = basic-block.h bitmap.h sbitmap.h varray.h $(PARTITION_H) \ + hard-reg-set.h DEMANGLE_H = $(srcdir)/../include/demangle.h RECOG_H = recog.h EXPR_H = expr.h @@ -1446,7 +1448,7 @@ explow.o : explow.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \ toplev.h function.h ggc.h $(TM_P_H) gt-explow.h optabs.o : optabs.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \ insn-config.h $(EXPR_H) $(OPTABS_H) libfuncs.h $(RECOG_H) reload.h \ - toplev.h $(GGC_H) real.h $(TM_P_H) except.h gt-optabs.h + toplev.h $(GGC_H) real.h $(TM_P_H) except.h gt-optabs.h $(BASIC_BLOCK_H) dbxout.o : dbxout.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) flags.h \ $(REGS_H) debug.h $(TM_P_H) $(TARGET_H) function.h langhooks.h \ insn-config.h reload.h gstab.h xcoffout.h output.h dbxout.h toplev.h diff --git a/gcc/aclocal.m4 b/gcc/aclocal.m4 index 0cec464e2aa..9859468942f 100644 --- a/gcc/aclocal.m4 +++ b/gcc/aclocal.m4 @@ -306,10 +306,7 @@ procedure conftest is begin null; end conftest; EOF gcc_cv_prog_adac=no # Have to do ac_tool_prefix and user overrides by hand. -user_adac=$ADAC -user_cc=$CC -for cand in ${ac_tool_prefix}$user_adac $user_adac \ - ${ac_tool_prefix}$user_cc $user_cc \ +for cand in ${ADAC+"$ADAC"} ${CC+"$CC"} \ ${ac_tool_prefix}gcc gcc \ ${ac_tool_prefix}cc cc \ ${ac_tool_prefix}gnatgcc gnatgcc \ diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e5d0586de54..6aa86290189 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,20 @@ +2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> + + * gnat_rm.texi, gnat_ug.texi: Use @copying. + * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi, + gnat_ug_wnt.texi: Regenerate. + +2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> + + * gnat_rm.texi: Include gcc-common.texi. Use GCC version number + only. + * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info, + $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info, + $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info, + ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi, + ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on + $(srcdir)/doc/include/gcc-common.texi. + 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org> * adaint.c (__gnat_tmp_name): Better, but good enough for now, solution to buffer overflow bug on GNU/Linux. diff --git a/gcc/ada/Make-lang.in b/gcc/ada/Make-lang.in index 6669eb4c64f..9c4e0c4cd6d 100644 --- a/gcc/ada/Make-lang.in +++ b/gcc/ada/Make-lang.in @@ -366,23 +366,23 @@ $(srcdir)/ada/gnat_ug_wnt.texi : ada/doctools/xgnatug \ ada/doctools/xgnatug wnt $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words $(srcdir)/ada/gnat_ug_wnt.texi $(srcdir)/ada/gnat_ug_unx.info : $(srcdir)/ada/gnat_ug_unx.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi cd $(srcdir) && $(MAKEINFO) -I doc/include -I ada -o ada/gnat_ug_unx.info ada/gnat_ug_unx.texi $(srcdir)/ada/gnat_ug_vms.info : $(srcdir)/ada/gnat_ug_vms.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi cd $(srcdir) && $(MAKEINFO) -I doc/include -I ada -o ada/gnat_ug_vms.info ada/gnat_ug_vms.texi $(srcdir)/ada/gnat_ug_vxw.info : $(srcdir)/ada/gnat_ug_vxw.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi cd $(srcdir) && $(MAKEINFO) -I doc/include -I ada -o ada/gnat_ug_vxw.info ada/gnat_ug_vxw.texi $(srcdir)/ada/gnat_ug_wnt.info : $(srcdir)/ada/gnat_ug_wnt.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi cd $(srcdir) && $(MAKEINFO) -I doc/include -I ada -o ada/gnat_ug_wnt.info ada/gnat_ug_wnt.texi $(srcdir)/ada/gnat_rm.info : $(srcdir)/ada/gnat_rm.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi cd $(srcdir) && $(MAKEINFO) -I doc/include -I ada -o ada/gnat_rm.info ada/gnat_rm.texi $(srcdir)/ada/gnat-style.info : $(srcdir)/ada/gnat-style.texi \ @@ -420,27 +420,27 @@ ada.install-info: -chmod a-x $(infodir)/gnat_rm.info* $(infodir)/gnat-style.info* ada/gnat_ug_unx.dvi : $(srcdir)/ada/gnat_ug_unx.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi s=`cd $(srcdir); ${PWD}`; \ cd ada && $(TEXI2DVI) -c -I $$s/doc/include -o gnat_ug_unx.dvi $$s/ada/gnat_ug_unx.texi ada/gnat_ug_vms.dvi : $(srcdir)/ada/gnat_ug_vms.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi s=`cd $(srcdir); ${PWD}`; \ cd ada && $(TEXI2DVI) -c -I $$s/doc/include -o gnat_ug_vms.dvi $$s/ada/gnat_ug_vms.texi ada/gnat_ug_vxw.dvi : $(srcdir)/ada/gnat_ug_vxw.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi s=`cd $(srcdir); ${PWD}`; \ cd ada && $(TEXI2DVI) -c -I $$s/doc/include -o gnat_ug_vxw.dvi $$s/ada/gnat_ug_vxw.texi ada/gnat_ug_wnt.dvi : $(srcdir)/ada/gnat_ug_wnt.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi s=`cd $(srcdir); ${PWD}`; \ cd ada && $(TEXI2DVI) -c -I $$s/doc/include -o gnat_ug_wnt.dvi $$s/ada/gnat_ug_wnt.texi ada/gnat_rm.dvi : $(srcdir)/ada/gnat_rm.texi \ - $(srcdir)/doc/include/fdl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi s=`cd $(srcdir); ${PWD}`; \ cd ada && $(TEXI2DVI) -c -I $$s/doc/include -o gnat_rm.dvi $$s/ada/gnat_rm.texi diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index d1df13cc409..71e5256e3b1 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -8,7 +8,7 @@ @c o @c G N A T _ RM o @c o -@c $Revision: 1.3.8.1 $ +@c $Revision: 1.8.18.1 $ @c o @c Copyright (C) 1995-2002 Free Software Foundation o @c o @@ -22,27 +22,14 @@ @setchapternewpage odd @syncodeindex fn cp +@include gcc-common.texi + @dircategory GNU Ada tools @direntry * GNAT Reference Manual: (gnat_rm). Reference Manual for GNU Ada tools. @end direntry -@titlepage - - -@title GNAT Reference Manual -@subtitle GNAT, The GNU Ada 95 Compiler -@ifset vxworks -@title Version 3.16w -@end ifset -@ifclear vxworks -@subtitle Version 3.16w -@end ifclear -@author Ada Core Technologies, Inc. - -@page -@vskip 0pt plus 1filll - +@copying Copyright @copyright{} 1995-2001, Free Software Foundation Permission is granted to copy, distribute and/or modify this document @@ -52,8 +39,21 @@ with the Invariant Sections being ``GNU Free Documentation License'', with the Front-Cover Texts being ``GNAT Reference Manual'', and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. +@end copying + +@titlepage +@title GNAT Reference Manual +@subtitle GNAT, The GNU Ada 95 Compiler +@subtitle GNAT Version for GCC @value{version-GCC} +@author Ada Core Technologies, Inc. + +@page +@vskip 0pt plus 1filll + +@insertcopying + @end titlepage @ifnottex @node Top, About This Guide, (dir), (dir) @@ -64,25 +64,11 @@ GNAT Reference Manual GNAT, The GNU Ada 95 Compiler -@ifset vxworks -Version 3.16w -@end ifset -@ifclear vxworks -Version 3.16w -@end ifclear +GNAT Version for GCC @value{version-GCC} Ada Core Technologies, Inc. - -Copyright @copyright{} 1995-2001, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being ``GNAT Reference Manual'', and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @menu diff --git a/gcc/ada/gnat_ug.texi b/gcc/ada/gnat_ug.texi index 784adb45dd1..8faa273706a 100644 --- a/gcc/ada/gnat_ug.texi +++ b/gcc/ada/gnat_ug.texi @@ -78,6 +78,31 @@ @syncodeindex fn cp @c %**end of header +@copying +Copyright @copyright{} 1995-2002, Free Software Foundation + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with the Invariant Sections being ``GNU Free Documentation License'', with the +Front-Cover Texts being +@ifset vms +``GNAT User's Guide for OpenVMS Alpha'', +@end ifset +@ifset wnt +``GNAT User's Guide for Windows NT'', +@end ifset +@ifset unx +``GNAT User's Guide for Unix Platforms'', +@end ifset +@ifset vxworks +``GNAT User's Guide for Cross Platforms'', +@end ifset +and with no Back-Cover Texts. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end copying + @titlepage @ifset vms @@ -108,28 +133,7 @@ @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -@ifset vms -``GNAT User's Guide for OpenVMS Alpha'', -@end ifset -@ifset wnt -``GNAT User's Guide for Windows NT'', -@end ifset -@ifset unx -``GNAT User's Guide for Unix Platforms'', -@end ifset -@ifset vxworks -``GNAT User's Guide for Cross Platforms'', -@end ifset -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @end titlepage @@ -159,28 +163,7 @@ GNAT Version for GCC @value{version-GCC} Ada Core Technologies, Inc. -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -@ifset vms -``GNAT User's Guide for OpenVMS Alpha'', -@end ifset -@ifset wnt -``GNAT User's Guide for Windows NT'', -@end ifset -@ifset unx -``GNAT User's Guide for Unix Platforms'', -@end ifset -@ifset vxworks -``GNAT User's Guide for Cross Platforms'', -@end ifset -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @menu * About This Guide:: diff --git a/gcc/ada/gnat_ug_unx.texi b/gcc/ada/gnat_ug_unx.texi index 2aae3d87ea6..b567e31b101 100644 --- a/gcc/ada/gnat_ug_unx.texi +++ b/gcc/ada/gnat_ug_unx.texi @@ -64,6 +64,20 @@ @syncodeindex fn cp @c %**end of header +@copying +Copyright @copyright{} 1995-2002, Free Software Foundation + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with the Invariant Sections being ``GNU Free Documentation License'', with the +Front-Cover Texts being +``GNAT User's Guide for Unix Platforms'', +and with no Back-Cover Texts. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end copying + @titlepage @@ -80,17 +94,7 @@ @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for Unix Platforms'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @end titlepage @@ -109,17 +113,7 @@ GNAT Version for GCC @value{version-GCC} Ada Core Technologies, Inc. -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for Unix Platforms'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @menu * About This Guide:: diff --git a/gcc/ada/gnat_ug_vms.texi b/gcc/ada/gnat_ug_vms.texi index 647e0e30aed..5c6834fc3a7 100644 --- a/gcc/ada/gnat_ug_vms.texi +++ b/gcc/ada/gnat_ug_vms.texi @@ -64,6 +64,20 @@ @syncodeindex fn cp @c %**end of header +@copying +Copyright @copyright{} 1995-2002, Free Software Foundation + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with the Invariant Sections being ``GNU Free Documentation License'', with the +Front-Cover Texts being +``GNAT User's Guide for OpenVMS Alpha'', +and with no Back-Cover Texts. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end copying + @titlepage @title GNAT User's Guide @@ -80,17 +94,7 @@ @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for OpenVMS Alpha'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @end titlepage @@ -109,17 +113,7 @@ GNAT Version for GCC @value{version-GCC} Ada Core Technologies, Inc. -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for OpenVMS Alpha'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @menu * About This Guide:: diff --git a/gcc/ada/gnat_ug_vxw.texi b/gcc/ada/gnat_ug_vxw.texi index 5c7ac9300e6..6ea120e46ec 100644 --- a/gcc/ada/gnat_ug_vxw.texi +++ b/gcc/ada/gnat_ug_vxw.texi @@ -64,6 +64,20 @@ @syncodeindex fn cp @c %**end of header +@copying +Copyright @copyright{} 1995-2002, Free Software Foundation + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with the Invariant Sections being ``GNU Free Documentation License'', with the +Front-Cover Texts being +``GNAT User's Guide for Cross Platforms'', +and with no Back-Cover Texts. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end copying + @titlepage @@ -80,17 +94,7 @@ @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for Cross Platforms'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @end titlepage @@ -109,17 +113,7 @@ GNAT Version for GCC @value{version-GCC} Ada Core Technologies, Inc. -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for Cross Platforms'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @menu * About This Guide:: diff --git a/gcc/ada/gnat_ug_wnt.texi b/gcc/ada/gnat_ug_wnt.texi index 102823d5377..7a3faa56a54 100644 --- a/gcc/ada/gnat_ug_wnt.texi +++ b/gcc/ada/gnat_ug_wnt.texi @@ -64,6 +64,20 @@ @syncodeindex fn cp @c %**end of header +@copying +Copyright @copyright{} 1995-2002, Free Software Foundation + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with the Invariant Sections being ``GNU Free Documentation License'', with the +Front-Cover Texts being +``GNAT User's Guide for Windows NT'', +and with no Back-Cover Texts. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end copying + @titlepage @@ -80,17 +94,7 @@ @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for Windows NT'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @end titlepage @@ -109,17 +113,7 @@ GNAT Version for GCC @value{version-GCC} Ada Core Technologies, Inc. -Copyright @copyright{} 1995-2002, Free Software Foundation - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GNAT User's Guide for Windows NT'', -and with no Back-Cover Texts. -A copy of the license is included in the section entitled ``GNU -Free Documentation License''. +@insertcopying @menu * About This Guide:: diff --git a/gcc/alias.c b/gcc/alias.c index 45e868ca963..b9810f07c44 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -1,5 +1,6 @@ /* Alias analysis for GNU C - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Free Software Foundation, Inc. Contributed by John Carr (jfc@mit.edu). This file is part of GCC. @@ -785,7 +786,8 @@ find_base_value (src) { /* If we're inside init_alias_analysis, use new_reg_base_value to reduce the number of relaxation iterations. */ - if (new_reg_base_value && new_reg_base_value[regno]) + if (new_reg_base_value && new_reg_base_value[regno] + && REG_N_SETS (regno) == 1) return new_reg_base_value[regno]; if (reg_base_value[regno]) diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 10c895408f2..0d546e32ab5 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -1,5 +1,5 @@ /* Define control and data flow tables, and regsets. - Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002 + Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -26,6 +26,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "sbitmap.h" #include "varray.h" #include "partition.h" +#include "hard-reg-set.h" /* Head of register set linked list. */ typedef bitmap_head regset_head; @@ -799,6 +800,7 @@ extern void fixup_abnormal_edges PARAMS ((void)); extern bool can_hoist_insn_p PARAMS ((rtx, rtx, regset)); extern rtx hoist_insn_after PARAMS ((rtx, rtx, rtx, rtx)); extern rtx hoist_insn_to_edge PARAMS ((rtx, edge, rtx, rtx)); +extern bool control_flow_insn_p PARAMS ((rtx)); /* In dominance.c */ diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c index 994b4625da5..d1bc8f7c3f9 100644 --- a/gcc/c-semantics.c +++ b/gcc/c-semantics.c @@ -729,7 +729,7 @@ genrtl_asm_stmt (cv_qualifier, string, output_operands, emit_line_note (input_filename, lineno); if (asm_input_p) - expand_asm (string); + expand_asm (string, cv_qualifier != NULL_TREE); else c_expand_asm_operands (string, output_operands, input_operands, clobbers, cv_qualifier != NULL_TREE, diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index c63344d6682..a5af6f0444f 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -6618,13 +6618,18 @@ process_init_element (value) bit_position (constructor_fields), DECL_SIZE (constructor_fields)); - constructor_unfilled_fields = TREE_CHAIN (constructor_fields); - /* Skip any nameless bit fields. */ - while (constructor_unfilled_fields != 0 - && DECL_C_BIT_FIELD (constructor_unfilled_fields) - && DECL_NAME (constructor_unfilled_fields) == 0) - constructor_unfilled_fields = - TREE_CHAIN (constructor_unfilled_fields); + /* If the current field was the first one not yet written out, + it isn't now, so update. */ + if (constructor_unfilled_fields == constructor_fields) + { + constructor_unfilled_fields = TREE_CHAIN (constructor_fields); + /* Skip any nameless bit fields. */ + while (constructor_unfilled_fields != 0 + && DECL_C_BIT_FIELD (constructor_unfilled_fields) + && DECL_NAME (constructor_unfilled_fields) == 0) + constructor_unfilled_fields = + TREE_CHAIN (constructor_unfilled_fields); + } } constructor_fields = TREE_CHAIN (constructor_fields); @@ -6857,9 +6862,9 @@ simple_asm_stmt (expr) { tree stmt; - stmt = add_stmt (build_stmt (ASM_STMT, NULL_TREE, expr, - NULL_TREE, NULL_TREE, - NULL_TREE)); + /* Simple asm statements are treated as volatile. */ + stmt = add_stmt (build_stmt (ASM_STMT, ridpointers[(int) RID_VOLATILE], + expr, NULL_TREE, NULL_TREE, NULL_TREE)); ASM_INPUT_P (stmt) = 1; return stmt; } diff --git a/gcc/calls.c b/gcc/calls.c index 41725b57769..1d6a0e54dd5 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -2081,6 +2081,35 @@ check_sibcall_argument_overlap (insn, arg) return insn != NULL_RTX; } +static tree +fix_unsafe_tree (t) + tree t; +{ + switch (unsafe_for_reeval (t)) + { + case 0: /* Safe. */ + break; + + case 1: /* Mildly unsafe. */ + t = unsave_expr (t); + break; + + case 2: /* Wildly unsafe. */ + { + tree var = build_decl (VAR_DECL, NULL_TREE, + TREE_TYPE (t)); + SET_DECL_RTL (var, + expand_expr (t, NULL_RTX, VOIDmode, EXPAND_NORMAL)); + t = var; + } + break; + + default: + abort (); + } + return t; +} + /* Generate all the code for a function call and return an rtx for its value. Store the value in TARGET (specified as an rtx) if convenient. @@ -2522,35 +2551,16 @@ expand_call (exp, target, ignore) for (; i != end; i += inc) { - switch (unsafe_for_reeval (args[i].tree_value)) - { - case 0: /* Safe. */ - break; - - case 1: /* Mildly unsafe. */ - args[i].tree_value = unsave_expr (args[i].tree_value); - break; - - case 2: /* Wildly unsafe. */ - { - tree var = build_decl (VAR_DECL, NULL_TREE, - TREE_TYPE (args[i].tree_value)); - SET_DECL_RTL (var, - expand_expr (args[i].tree_value, NULL_RTX, - VOIDmode, EXPAND_NORMAL)); - args[i].tree_value = var; - } - break; - - default: - abort (); - } + args[i].tree_value = fix_unsafe_tree (args[i].tree_value); /* We need to build actparms for optimize_tail_recursion. We can safely trash away TREE_PURPOSE, since it is unused by this function. */ if (try_tail_recursion) actparms = tree_cons (NULL_TREE, args[i].tree_value, actparms); } + /* Do the same for the function address if it is an expression. */ + if (!fndecl) + TREE_OPERAND (exp, 0) = fix_unsafe_tree (TREE_OPERAND (exp, 0)); /* Expanding one of those dangerous arguments could have added cleanups, but otherwise give it a whirl. */ if (any_pending_cleanups (1)) diff --git a/gcc/cfganal.c b/gcc/cfganal.c index 7aeef93accd..3831c5f4768 100644 --- a/gcc/cfganal.c +++ b/gcc/cfganal.c @@ -1,6 +1,6 @@ /* Control flow graph analysis code for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001 Free Software Foundation, Inc. + 1999, 2000, 2001, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -223,10 +223,14 @@ set_edge_can_fallthru_flag () { edge e; - /* The FALLTHRU edge is also CAN_FALLTHRU edge. */ for (e = bb->succ; e; e = e->succ_next) - if (e->flags & EDGE_FALLTHRU) - e->flags |= EDGE_CAN_FALLTHRU; + { + e->flags &= ~EDGE_CAN_FALLTHRU; + + /* The FALLTHRU edge is also CAN_FALLTHRU edge. */ + if (e->flags & EDGE_FALLTHRU) + e->flags |= EDGE_CAN_FALLTHRU; + } /* If the BB ends with an invertable condjump all (2) edges are CAN_FALLTHRU edges. */ @@ -320,10 +324,11 @@ flow_call_edges_add (blocks) for (e = bb->succ; e; e = e->succ_next) if (e->dest == EXIT_BLOCK_PTR) - break; - - insert_insn_on_edge (gen_rtx_USE (VOIDmode, const0_rtx), e); - commit_edge_insertions (); + { + insert_insn_on_edge (gen_rtx_USE (VOIDmode, const0_rtx), e); + commit_edge_insertions (); + break; + } } } diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c index 9ac758b2809..795ae1719dc 100644 --- a/gcc/cfgbuild.c +++ b/gcc/cfgbuild.c @@ -1,6 +1,6 @@ /* Control flow graph building code for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -57,7 +57,6 @@ static void make_eh_edge PARAMS ((sbitmap *, basic_block, rtx)); static void find_bb_boundaries PARAMS ((basic_block)); static void compute_outgoing_frequencies PARAMS ((basic_block)); static bool inside_basic_block_p PARAMS ((rtx)); -static bool control_flow_insn_p PARAMS ((rtx)); /* Return true if insn is something that should be contained inside basic block. */ @@ -95,7 +94,7 @@ inside_basic_block_p (insn) /* Return true if INSN may cause control flow transfer, so it should be last in the basic block. */ -static bool +bool control_flow_insn_p (insn) rtx insn; { diff --git a/gcc/combine.c b/gcc/combine.c index 4d24807e486..a67a07281b0 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -6734,7 +6734,7 @@ make_compound_operation (x, in_code) || (GET_MODE_SIZE (mode) > GET_MODE_SIZE (GET_MODE (XEXP (tem, 0))))) { - if (! INTEGRAL_MODE_P (mode)) + if (! SCALAR_INT_MODE_P (mode)) break; tem = gen_rtx_fmt_e (GET_CODE (tem), mode, XEXP (tem, 0)); } diff --git a/gcc/config.gcc b/gcc/config.gcc index 3e889ae2280..b6c98a6d7aa 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -894,7 +894,7 @@ hppa*64*-*-hpux11*) tmake_file="pa/t-pa64 pa/t-pa-hpux" xmake_file="pa/x-ada" target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)" - + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" if test x$gnu_ld = xyes then target_cpu_default="${target_cpu_default}|MASK_GNU_LD" @@ -907,7 +907,6 @@ hppa*64*-*-hpux11*) # tmake_file="${tmake_file} pa/t-dce-thr" # fi install_headers_dir=install-headers-cpio - use_collect2=yes ;; hppa1.1-*-hpux11* | hppa2*-*-hpux11*) target_cpu_default="MASK_PA_11" diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index d6a9f6bc661..58febe6bcd1 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1,6 +1,6 @@ /* Subroutines used for code generation on the DEC Alpha. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002 Free Software Foundation, Inc. + 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) This file is part of GNU CC. @@ -1920,18 +1920,22 @@ alpha_encode_section_info (decl, first) { char *newstr; size_t len; + char want_prefix = (is_local ? '@' : '%'); + char other_prefix = (is_local ? '%' : '@'); - if (symbol_str[0] == (is_local ? '@' : '%')) + if (symbol_str[0] == want_prefix) { if (symbol_str[1] == encoding) return; symbol_str += 2; } + else if (symbol_str[0] == other_prefix) + symbol_str += 2; len = strlen (symbol_str) + 1; newstr = alloca (len + 2); - newstr[0] = (is_local ? '@' : '%'); + newstr[0] = want_prefix; newstr[1] = encoding; memcpy (newstr + 2, symbol_str, len); diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index c878366b846..d8ae52fe997 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -1,6 +1,6 @@ ;; Machine description for DEC Alpha for GNU C compiler ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2001, 2002 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) ;; ;; This file is part of GNU CC. @@ -5331,10 +5331,12 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none" [(match_dup 0)] "operands[0] = split_small_symbolic_operand (operands[0]);") +;; Accepts any symbolic, not just global, since function calls that +;; don't go via bsr still use !literal in hopes of linker relaxation. (define_insn "movdi_er_high_g" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(match_operand:DI 1 "register_operand" "r") - (match_operand:DI 2 "global_symbolic_operand" "") + (match_operand:DI 2 "symbolic_operand" "") (match_operand 3 "const_int_operand" "")] UNSPEC_LITERAL))] "TARGET_EXPLICIT_RELOCS" diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 7997a46e7a5..90d959c0f7e 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -100,7 +100,6 @@ Boston, MA 02111-1307, USA. */ name, that also takes an argument, needs to be modified so the prefix is different, otherwise a '*' after the shorter option will match with the longer one. */ -/* Ignore -dynamic for now */ #define TARGET_OPTION_TRANSLATE_TABLE \ { "-all_load", "-Zall_load" }, \ { "-allowable_client", "-Zallowable_client" }, \ @@ -111,7 +110,7 @@ Boston, MA 02111-1307, USA. */ { "-weak_reference_mismatches", "-Zweak_reference_mismatches" }, \ { "-dependency-file", "-MF" }, \ { "-dylib_file", "-Zdylib_file" }, \ - { "-dynamic", " " }, \ + { "-dynamic", "-Zdynamic" }, \ { "-dynamiclib", "-Zdynamiclib" }, \ { "-exported_symbols_list", "-Zexported_symbols_list" }, \ { "-seg_addr_table_filename", "-Zseg_addr_table_filename" }, \ @@ -174,7 +173,7 @@ Boston, MA 02111-1307, USA. */ /* Machine dependent cpp options. */ #undef CPP_SPEC -#define CPP_SPEC "%{static:-D__STATIC__}%{!static:-D__DYNAMIC__}" +#define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" /* This is mostly a clone of the standard LINK_COMMAND_SPEC, plus precomp, libtool, and fat build additions. Also we @@ -234,6 +233,7 @@ Boston, MA 02111-1307, USA. */ %{Zbind_at_load:-bind_at_load} \ %{Zarch_errors_fatal:-arch_errors_fatal} \ %{Zdylib_file*:-dylib_file %*} \ + %{Zdynamic:-dynamic}\ %{Zexported_symbols_list*:-exported_symbols_list %*} \ %{Zflat_namespace:-flat_namespace} \ %{headerpad_max_install_names*} \ diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h index aac56220393..5d77e426236 100644 --- a/gcc/config/h8300/h8300-protos.h +++ b/gcc/config/h8300/h8300-protos.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. Hitachi H8/300 version generating coff - Copyright (C) 2000 Free SoftwareFoundation, Inc. + Copyright (C) 2000, 2002, 2003 Free SoftwareFoundation, Inc. Contributed by Steve Chamberlain (sac@cygnus.com), Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com). @@ -59,6 +59,9 @@ extern int small_call_insn_operand PARAMS ((rtx, enum machine_mode)); extern int jump_address_operand PARAMS ((rtx, enum machine_mode)); extern int bit_operand PARAMS ((rtx, enum machine_mode)); extern int bit_memory_operand PARAMS ((rtx, enum machine_mode)); +extern int stack_pointer_operand PARAMS ((rtx, enum machine_mode)); +extern int const_int_gt_2_operand PARAMS ((rtx, enum machine_mode)); +extern int const_int_ge_8_operand PARAMS ((rtx, enum machine_mode)); extern int bit_operator PARAMS ((rtx, enum machine_mode)); extern int nshift_operator PARAMS ((rtx, enum machine_mode)); diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index eac88bde469..60585d58144 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -1,6 +1,6 @@ /* Subroutines for insn-output.c for Hitachi H8/300. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002 Free Software Foundation, Inc. + 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Steve Chamberlain (sac@cygnus.com), Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com). @@ -1755,6 +1755,8 @@ notice_update_cc (body, insn) rtx body; rtx insn; { + rtx set; + switch (get_attr_cc (insn)) { case CC_NONE: @@ -1777,7 +1779,10 @@ notice_update_cc (body, insn) that's ok because alter_cond will change tests to use EQ/NE. */ CC_STATUS_INIT; cc_status.flags |= CC_OVERFLOW_UNUSABLE | CC_NO_CARRY; - cc_status.value1 = recog_data.operand[0]; + set = single_set (insn); + cc_status.value1 = SET_SRC (set); + if (SET_DEST (set) != cc0_rtx) + cc_status.value2 = SET_DEST (set); break; case CC_SET_ZNV: @@ -1786,9 +1791,10 @@ notice_update_cc (body, insn) alter_cond will change tests to use EQ/NE. */ CC_STATUS_INIT; cc_status.flags |= CC_NO_CARRY; - cc_status.value1 = recog_data.operand[0]; - if (GET_CODE (body) == SET && REG_P (SET_SRC (body))) - cc_status.value2 = SET_SRC (body); + set = single_set (insn); + cc_status.value1 = SET_SRC (set); + if (SET_DEST (set) != cc0_rtx) + cc_status.value2 = SET_DEST (set); break; case CC_COMPARE: @@ -1804,6 +1810,40 @@ notice_update_cc (body, insn) } } +/* Return nonzero if X is a stack pointer. */ + +int +stack_pointer_operand (x, mode) + rtx x; + enum machine_mode mode ATTRIBUTE_UNUSED; +{ + return x == stack_pointer_rtx; +} + +/* Return nonzero if X is a constant whose absolute value is greater + than 2. */ + +int +const_int_gt_2_operand (x, mode) + rtx x; + enum machine_mode mode ATTRIBUTE_UNUSED; +{ + return (GET_CODE (x) == CONST_INT + && abs (INTVAL (x)) > 2); +} + +/* Return nonzero if X is a constant whose absolute value is no + smaller than 8. */ + +int +const_int_ge_8_operand (x, mode) + rtx x; + enum machine_mode mode ATTRIBUTE_UNUSED; +{ + return (GET_CODE (x) == CONST_INT + && abs (INTVAL (x)) >= 8); +} + /* Recognize valid operators for bit instructions. */ int diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h index 21f3eeb689b..232038df080 100644 --- a/gcc/config/h8300/h8300.h +++ b/gcc/config/h8300/h8300.h @@ -1074,7 +1074,7 @@ struct cum_arg #define ASM_APP_OFF "; #NO_APP\n" #define FILE_ASM_OP "\t.file\n" -#define IDENT_ASM_OP "\t.ident\n" +#define IDENT_ASM_OP "\t.ident\t" /* The assembler op to get a word, 2 bytes for the H8/300, 4 for H8/300H. */ #define ASM_WORD_OP \ diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index de6edc9b4d2..40520cfbbcf 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -1,6 +1,6 @@ ;; GCC machine description for Hitachi H8/300 ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -;; 2001, 2002 Free Software Foundation, Inc. +;; 2001, 2002, 2003 Free Software Foundation, Inc. ;; Contributed by Steve Chamberlain (sac@cygnus.com), ;; Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com). @@ -117,7 +117,8 @@ (plus:HI (reg:HI SP_REG) (const_int -2))) (set (mem:QI (plus:HI (reg:HI SP_REG) (const_int -1))) (match_operand:QI 0 "register_operand" "r"))])] - "TARGET_H8300" + "TARGET_H8300 + && REGNO (operands[0]) != SP_REG" "mov.w\\t%T0,@-r7" [(set_attr "length" "2") (set_attr "cc" "clobber")]) @@ -127,7 +128,8 @@ (plus:SI (reg:SI SP_REG) (const_int -4))) (set (mem:QI (plus:SI (reg:SI SP_REG) (const_int -3))) (match_operand:QI 0 "register_operand" "r"))])] - "TARGET_H8300H || TARGET_H8300S" + "(TARGET_H8300H || TARGET_H8300S) + && REGNO (operands[0]) != SP_REG" "mov.l\\t%S0,@-er7" [(set_attr "length" "4") (set_attr "cc" "clobber")]) @@ -209,7 +211,8 @@ (define_expand "pushhi1_h8300" [(set (mem:HI (pre_dec:HI (reg:HI SP_REG))) (match_operand:HI 0 "register_operand" ""))] - "TARGET_H8300" + "TARGET_H8300 + && REGNO (operands[0]) != SP_REG" "") (define_insn "pushhi1_h8300hs" @@ -217,7 +220,8 @@ (plus:SI (reg:SI SP_REG) (const_int -4))) (set (mem:HI (plus:SI (reg:SI SP_REG) (const_int -2))) (match_operand:HI 0 "register_operand" "r"))])] - "TARGET_H8300H || TARGET_H8300S" + "(TARGET_H8300H || TARGET_H8300S) + && REGNO (operands[0]) != SP_REG" "mov.l\\t%S0,@-er7" [(set_attr "length" "4") (set_attr "cc" "clobber")]) @@ -776,6 +780,35 @@ [(set_attr "length" "2,2,2,4,2") (set_attr "cc" "none_0hit,none_0hit,clobber,clobber,set_zn")]) +;; This splitter is very important to make the stack adjustment +;; interrupt-safe. The combination of add.b and addx is unsafe! +;; +;; We apply this split after the peephole2 pass so that we won't end +;; up creating too many adds/subs when a scratch register is +;; available, which is actually a common case because stack unrolling +;; tends to happen immediately after a function call. + +(define_split + [(set (match_operand:HI 0 "stack_pointer_operand" "") + (plus:HI (match_dup 0) + (match_operand 1 "const_int_gt_2_operand" "")))] + "TARGET_H8300 && flow2_completed" + [(const_int 0)] + "split_adds_subs (HImode, operands); DONE;") + +(define_peephole2 + [(match_scratch:HI 2 "r") + (set (match_operand:HI 0 "stack_pointer_operand" "") + (plus:HI (match_dup 0) + (match_operand:HI 1 "const_int_ge_8_operand" "")))] + "TARGET_H8300" + [(set (match_dup 2) + (match_dup 1)) + (set (match_dup 0) + (plus:HI (match_dup 0) + (match_dup 2)))] + "") + (define_insn "*addhi3_h8300hs" [(set (match_operand:HI 0 "register_operand" "=r,r,r,r,r") (plus:HI (match_operand:HI 1 "register_operand" "%0,0,0,0,0") @@ -1800,7 +1833,7 @@ "@ mov.b #0,%x0\;sub.w %e0,%e0 mov.b %R1,%w0\;mov.b #0,%x0\;sub.w %e0,%e0" - [(set_attr "length" "4,6") + [(set_attr "length" "4,8") (set_attr "cc" "clobber,clobber")]) (define_expand "zero_extendhisi2" @@ -2112,7 +2145,7 @@ ;; Normal loads with a 32bit destination. ;; -(define_insn "" +(define_insn "*extzv_1_r_h8300" [(set (match_operand:SI 0 "register_operand" "=&r") (zero_extract:SI (match_operand:HI 1 "register_operand" "r") (const_int 1) @@ -2121,9 +2154,9 @@ && INTVAL (operands[2]) < 16" "* return output_simode_bld (0, operands);" [(set_attr "cc" "clobber") - (set_attr "length" "6")]) + (set_attr "length" "8")]) -(define_insn "" +(define_insn "*extzv_1_r_h8300hs" [(set (match_operand:SI 0 "register_operand" "=r") (zero_extract:SI (match_operand:SI 1 "register_operand" "r") (const_int 1) @@ -2132,13 +2165,13 @@ && INTVAL (operands[2]) < 16" "* return output_simode_bld (0, operands);" [(set_attr "cc" "clobber") - (set_attr "length" "6")]) + (set_attr "length" "8")]) ;; ;; Inverted loads with a 32bit destination. ;; -(define_insn "" +(define_insn "*extzv_1_r_inv_h8300" [(set (match_operand:SI 0 "register_operand" "=&r") (zero_extract:SI (xor:HI (match_operand:HI 1 "register_operand" "r") (match_operand:HI 3 "const_int_operand" "n")) @@ -2149,9 +2182,9 @@ && (1 << INTVAL (operands[2])) == INTVAL (operands[3])" "* return output_simode_bld (1, operands);" [(set_attr "cc" "clobber") - (set_attr "length" "6")]) + (set_attr "length" "8")]) -(define_insn "" +(define_insn "*extzv_1_r_inv_h8300hs" [(set (match_operand:SI 0 "register_operand" "=r") (zero_extract:SI (xor:SI (match_operand:SI 1 "register_operand" "r") (match_operand 3 "const_int_operand" "n")) @@ -2162,7 +2195,7 @@ && (1 << INTVAL (operands[2])) == INTVAL (operands[3])" "* return output_simode_bld (1, operands);" [(set_attr "cc" "clobber") - (set_attr "length" "6")]) + (set_attr "length" "8")]) (define_expand "insv" [(set (zero_extract:HI (match_operand:HI 0 "general_operand" "") diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 42f6d93d3c3..b535c6dd7d3 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1,6 +1,6 @@ /* Subroutines used for code generation on IA-32. Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002 Free Software Foundation, Inc. + 2002, 2003 Free Software Foundation, Inc. This file is part of GNU CC. @@ -4516,6 +4516,10 @@ ix86_expand_prologue () CALL_INSN_FUNCTION_USAGE (insn) = gen_rtx_EXPR_LIST (VOIDmode, gen_rtx_USE (VOIDmode, arg0), CALL_INSN_FUNCTION_USAGE (insn)); + + /* Don't allow scheduling pass to move insns across __alloca + call. */ + emit_insn (gen_blockage (const0_rtx)); } if (use_mov) { @@ -7484,12 +7488,12 @@ output_fp_compare (insn, operands, eflags_p, unordered_p) if (unordered_p) return "ucomiss\t{%1, %0|%0, %1}"; else - return "comiss\t{%1, %0|%0, %y}"; + return "comiss\t{%1, %0|%0, %1}"; else if (unordered_p) return "ucomisd\t{%1, %0|%0, %1}"; else - return "comisd\t{%1, %0|%0, %y}"; + return "comisd\t{%1, %0|%0, %1}"; } if (! STACK_TOP_P (cmp_op0)) @@ -9219,11 +9223,11 @@ ix86_expand_int_movcc (operands) /* On x86_64 the lea instruction operates on Pmode, so we need to get arithmetics done in proper mode to match. */ if (diff == 1) - tmp = out; + tmp = copy_rtx (out); else { rtx out1; - out1 = out; + out1 = copy_rtx (out); tmp = gen_rtx_MULT (mode, out1, GEN_INT (diff & ~1)); nops++; if (diff & 1) @@ -9241,9 +9245,9 @@ ix86_expand_int_movcc (operands) && (GET_CODE (tmp) != SUBREG || SUBREG_REG (tmp) != out)) { if (nops == 1) - out = force_operand (tmp, out); + out = force_operand (tmp, copy_rtx (out)); else - emit_insn (gen_rtx_SET (VOIDmode, out, tmp)); + emit_insn (gen_rtx_SET (VOIDmode, copy_rtx (out), copy_rtx (tmp))); } if (out != operands[0]) emit_move_insn (operands[0], copy_rtx (out)); @@ -12197,7 +12201,11 @@ ix86_init_mmx_sse_builtins () size_t i; tree pchar_type_node = build_pointer_type (char_type_node); + tree pcchar_type_node = build_pointer_type ( + build_type_variant (char_type_node, 1, 0)); tree pfloat_type_node = build_pointer_type (float_type_node); + tree pcfloat_type_node = build_pointer_type ( + build_type_variant (float_type_node, 1, 0)); tree pv2si_type_node = build_pointer_type (V2SI_type_node); tree pv2di_type_node = build_pointer_type (V2DI_type_node); tree pdi_type_node = build_pointer_type (long_long_unsigned_type_node); @@ -12270,8 +12278,8 @@ ix86_init_mmx_sse_builtins () = build_function_type_list (void_type_node, V8QI_type_node, V8QI_type_node, pchar_type_node, NULL_TREE); - tree v4sf_ftype_pfloat - = build_function_type_list (V4SF_type_node, pfloat_type_node, NULL_TREE); + tree v4sf_ftype_pcfloat + = build_function_type_list (V4SF_type_node, pcfloat_type_node, NULL_TREE); /* @@@ the type is bogus */ tree v4sf_ftype_v4sf_pv2si = build_function_type_list (V4SF_type_node, @@ -12326,7 +12334,11 @@ ix86_init_mmx_sse_builtins () = build_function_type_list (V2SI_type_node, V2SF_type_node, V2SF_type_node, NULL_TREE); tree pint_type_node = build_pointer_type (integer_type_node); + tree pcint_type_node = build_pointer_type ( + build_type_variant (integer_type_node, 1, 0)); tree pdouble_type_node = build_pointer_type (double_type_node); + tree pcdouble_type_node = build_pointer_type ( + build_type_variant (double_type_node, 1, 0)); tree int_ftype_v2df_v2df = build_function_type_list (integer_type_node, V2DF_type_node, V2DF_type_node, NULL_TREE); @@ -12338,8 +12350,8 @@ ix86_init_mmx_sse_builtins () tree ti_ftype_ti_ti = build_function_type_list (intTI_type_node, intTI_type_node, intTI_type_node, NULL_TREE); - tree void_ftype_pvoid - = build_function_type_list (void_type_node, ptr_type_node, NULL_TREE); + tree void_ftype_pcvoid + = build_function_type_list (void_type_node, const_ptr_type_node, NULL_TREE); tree v2di_ftype_di = build_function_type_list (V2DI_type_node, long_long_unsigned_type_node, NULL_TREE); @@ -12394,8 +12406,8 @@ ix86_init_mmx_sse_builtins () = build_function_type_list (void_type_node, V16QI_type_node, V16QI_type_node, pchar_type_node, NULL_TREE); - tree v2df_ftype_pdouble - = build_function_type_list (V2DF_type_node, pdouble_type_node, NULL_TREE); + tree v2df_ftype_pcdouble + = build_function_type_list (V2DF_type_node, pcdouble_type_node, NULL_TREE); tree v2df_ftype_v2df_v2df = build_function_type_list (V2DF_type_node, V2DF_type_node, V2DF_type_node, NULL_TREE); @@ -12454,16 +12466,16 @@ ix86_init_mmx_sse_builtins () V16QI_type_node, V16QI_type_node, NULL_TREE); tree int_ftype_v16qi = build_function_type_list (integer_type_node, V16QI_type_node, NULL_TREE); - tree v16qi_ftype_pchar - = build_function_type_list (V16QI_type_node, pchar_type_node, NULL_TREE); + tree v16qi_ftype_pcchar + = build_function_type_list (V16QI_type_node, pcchar_type_node, NULL_TREE); tree void_ftype_pchar_v16qi = build_function_type_list (void_type_node, pchar_type_node, V16QI_type_node, NULL_TREE); - tree v4si_ftype_pchar - = build_function_type_list (V4SI_type_node, pchar_type_node, NULL_TREE); - tree void_ftype_pchar_v4si + tree v4si_ftype_pcint + = build_function_type_list (V4SI_type_node, pcint_type_node, NULL_TREE); + tree void_ftype_pcint_v4si = build_function_type_list (void_type_node, - pchar_type_node, V4SI_type_node, NULL_TREE); + pcint_type_node, V4SI_type_node, NULL_TREE); tree v2di_ftype_v2di = build_function_type_list (V2DI_type_node, V2DI_type_node, NULL_TREE); @@ -12539,8 +12551,6 @@ ix86_init_mmx_sse_builtins () /* Add the remaining MMX insns with somewhat more complicated types. */ def_builtin (MASK_MMX, "__builtin_ia32_mmx_zero", di_ftype_void, IX86_BUILTIN_MMX_ZERO); def_builtin (MASK_MMX, "__builtin_ia32_emms", void_ftype_void, IX86_BUILTIN_EMMS); - def_builtin (MASK_MMX, "__builtin_ia32_ldmxcsr", void_ftype_unsigned, IX86_BUILTIN_LDMXCSR); - def_builtin (MASK_MMX, "__builtin_ia32_stmxcsr", unsigned_ftype_void, IX86_BUILTIN_STMXCSR); def_builtin (MASK_MMX, "__builtin_ia32_psllw", v4hi_ftype_v4hi_di, IX86_BUILTIN_PSLLW); def_builtin (MASK_MMX, "__builtin_ia32_pslld", v2si_ftype_v2si_di, IX86_BUILTIN_PSLLD); def_builtin (MASK_MMX, "__builtin_ia32_psllq", di_ftype_di_di, IX86_BUILTIN_PSLLQ); @@ -12566,6 +12576,8 @@ ix86_init_mmx_sse_builtins () def_builtin (MASK_MMX, "__builtin_ia32_packssdw", v4hi_ftype_v2si_v2si, IX86_BUILTIN_PACKSSDW); def_builtin (MASK_MMX, "__builtin_ia32_packuswb", v8qi_ftype_v4hi_v4hi, IX86_BUILTIN_PACKUSWB); + def_builtin (MASK_SSE1, "__builtin_ia32_ldmxcsr", void_ftype_unsigned, IX86_BUILTIN_LDMXCSR); + def_builtin (MASK_SSE1, "__builtin_ia32_stmxcsr", unsigned_ftype_void, IX86_BUILTIN_STMXCSR); def_builtin (MASK_SSE1, "__builtin_ia32_cvtpi2ps", v4sf_ftype_v4sf_v2si, IX86_BUILTIN_CVTPI2PS); def_builtin (MASK_SSE1, "__builtin_ia32_cvtps2pi", v2si_ftype_v4sf, IX86_BUILTIN_CVTPS2PI); def_builtin (MASK_SSE1, "__builtin_ia32_cvtsi2ss", v4sf_ftype_v4sf_int, IX86_BUILTIN_CVTSI2SS); @@ -12578,9 +12590,9 @@ ix86_init_mmx_sse_builtins () def_builtin (MASK_SSE1 | MASK_3DNOW_A, "__builtin_ia32_maskmovq", void_ftype_v8qi_v8qi_pchar, IX86_BUILTIN_MASKMOVQ); - def_builtin (MASK_SSE1, "__builtin_ia32_loadaps", v4sf_ftype_pfloat, IX86_BUILTIN_LOADAPS); - def_builtin (MASK_SSE1, "__builtin_ia32_loadups", v4sf_ftype_pfloat, IX86_BUILTIN_LOADUPS); - def_builtin (MASK_SSE1, "__builtin_ia32_loadss", v4sf_ftype_pfloat, IX86_BUILTIN_LOADSS); + def_builtin (MASK_SSE1, "__builtin_ia32_loadaps", v4sf_ftype_pcfloat, IX86_BUILTIN_LOADAPS); + def_builtin (MASK_SSE1, "__builtin_ia32_loadups", v4sf_ftype_pcfloat, IX86_BUILTIN_LOADUPS); + def_builtin (MASK_SSE1, "__builtin_ia32_loadss", v4sf_ftype_pcfloat, IX86_BUILTIN_LOADSS); def_builtin (MASK_SSE1, "__builtin_ia32_storeaps", void_ftype_pfloat_v4sf, IX86_BUILTIN_STOREAPS); def_builtin (MASK_SSE1, "__builtin_ia32_storeups", void_ftype_pfloat_v4sf, IX86_BUILTIN_STOREUPS); def_builtin (MASK_SSE1, "__builtin_ia32_storess", void_ftype_pfloat_v4sf, IX86_BUILTIN_STORESS); @@ -12648,9 +12660,9 @@ ix86_init_mmx_sse_builtins () def_builtin (MASK_SSE2, "__builtin_ia32_movq2dq", v2di_ftype_di, IX86_BUILTIN_MOVQ2DQ); def_builtin (MASK_SSE2, "__builtin_ia32_movdq2q", di_ftype_v2di, IX86_BUILTIN_MOVDQ2Q); - def_builtin (MASK_SSE2, "__builtin_ia32_loadapd", v2df_ftype_pdouble, IX86_BUILTIN_LOADAPD); - def_builtin (MASK_SSE2, "__builtin_ia32_loadupd", v2df_ftype_pdouble, IX86_BUILTIN_LOADUPD); - def_builtin (MASK_SSE2, "__builtin_ia32_loadsd", v2df_ftype_pdouble, IX86_BUILTIN_LOADSD); + def_builtin (MASK_SSE2, "__builtin_ia32_loadapd", v2df_ftype_pcdouble, IX86_BUILTIN_LOADAPD); + def_builtin (MASK_SSE2, "__builtin_ia32_loadupd", v2df_ftype_pcdouble, IX86_BUILTIN_LOADUPD); + def_builtin (MASK_SSE2, "__builtin_ia32_loadsd", v2df_ftype_pcdouble, IX86_BUILTIN_LOADSD); def_builtin (MASK_SSE2, "__builtin_ia32_storeapd", void_ftype_pdouble_v2df, IX86_BUILTIN_STOREAPD); def_builtin (MASK_SSE2, "__builtin_ia32_storeupd", void_ftype_pdouble_v2df, IX86_BUILTIN_STOREUPD); def_builtin (MASK_SSE2, "__builtin_ia32_storesd", void_ftype_pdouble_v2df, IX86_BUILTIN_STORESD); @@ -12701,21 +12713,21 @@ ix86_init_mmx_sse_builtins () def_builtin (MASK_SSE2, "__builtin_ia32_setpd1", v2df_ftype_double, IX86_BUILTIN_SETPD1); def_builtin (MASK_SSE2, "__builtin_ia32_setpd", v2df_ftype_double_double, IX86_BUILTIN_SETPD); def_builtin (MASK_SSE2, "__builtin_ia32_setzeropd", ti_ftype_void, IX86_BUILTIN_CLRPD); - def_builtin (MASK_SSE2, "__builtin_ia32_loadpd1", v2df_ftype_pdouble, IX86_BUILTIN_LOADPD1); - def_builtin (MASK_SSE2, "__builtin_ia32_loadrpd", v2df_ftype_pdouble, IX86_BUILTIN_LOADRPD); + def_builtin (MASK_SSE2, "__builtin_ia32_loadpd1", v2df_ftype_pcdouble, IX86_BUILTIN_LOADPD1); + def_builtin (MASK_SSE2, "__builtin_ia32_loadrpd", v2df_ftype_pcdouble, IX86_BUILTIN_LOADRPD); def_builtin (MASK_SSE2, "__builtin_ia32_storepd1", void_ftype_pdouble_v2df, IX86_BUILTIN_STOREPD1); def_builtin (MASK_SSE2, "__builtin_ia32_storerpd", void_ftype_pdouble_v2df, IX86_BUILTIN_STORERPD); - def_builtin (MASK_SSE2, "__builtin_ia32_clflush", void_ftype_pvoid, IX86_BUILTIN_CLFLUSH); + def_builtin (MASK_SSE2, "__builtin_ia32_clflush", void_ftype_pcvoid, IX86_BUILTIN_CLFLUSH); def_builtin (MASK_SSE2, "__builtin_ia32_lfence", void_ftype_void, IX86_BUILTIN_LFENCE); def_builtin (MASK_SSE2, "__builtin_ia32_mfence", void_ftype_void, IX86_BUILTIN_MFENCE); - def_builtin (MASK_SSE2, "__builtin_ia32_loaddqa", v16qi_ftype_pchar, IX86_BUILTIN_LOADDQA); - def_builtin (MASK_SSE2, "__builtin_ia32_loaddqu", v16qi_ftype_pchar, IX86_BUILTIN_LOADDQU); - def_builtin (MASK_SSE2, "__builtin_ia32_loadd", v4si_ftype_pchar, IX86_BUILTIN_LOADD); + def_builtin (MASK_SSE2, "__builtin_ia32_loaddqa", v16qi_ftype_pcchar, IX86_BUILTIN_LOADDQA); + def_builtin (MASK_SSE2, "__builtin_ia32_loaddqu", v16qi_ftype_pcchar, IX86_BUILTIN_LOADDQU); + def_builtin (MASK_SSE2, "__builtin_ia32_loadd", v4si_ftype_pcint, IX86_BUILTIN_LOADD); def_builtin (MASK_SSE2, "__builtin_ia32_storedqa", void_ftype_pchar_v16qi, IX86_BUILTIN_STOREDQA); def_builtin (MASK_SSE2, "__builtin_ia32_storedqu", void_ftype_pchar_v16qi, IX86_BUILTIN_STOREDQU); - def_builtin (MASK_SSE2, "__builtin_ia32_stored", void_ftype_pchar_v4si, IX86_BUILTIN_STORED); + def_builtin (MASK_SSE2, "__builtin_ia32_stored", void_ftype_pcint_v4si, IX86_BUILTIN_STORED); def_builtin (MASK_SSE2, "__builtin_ia32_movq", v2di_ftype_v2di, IX86_BUILTIN_MOVQ); def_builtin (MASK_SSE1, "__builtin_ia32_setzero128", v2di_ftype_void, IX86_BUILTIN_CLRTI); diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index befbfe49569..00ea4a1856f 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1,5 +1,6 @@ ;; GCC machine description for IA-32 and x86-64. -;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +;; 2001, 2002, 2003 ;; Free Software Foundation, Inc. ;; Mostly by William Schelter. ;; x86_64 support added by Jan Hubicka @@ -16734,7 +16735,7 @@ (define_split [(set (match_operand 0 "register_operand" "") (if_then_else (match_operator 1 "comparison_operator" - [(match_operand 4 "register_operand" "") + [(match_operand 4 "nonimmediate_operand" "") (match_operand 5 "nonimmediate_operand" "")]) (match_operand 2 "nonmemory_operand" "") (match_operand 3 "nonmemory_operand" "")))] @@ -16746,13 +16747,16 @@ (subreg:TI (match_dup 7) 0)))] { PUT_MODE (operands[1], GET_MODE (operands[0])); - if (!sse_comparison_operator (operands[1], VOIDmode)) + if (!sse_comparison_operator (operands[1], VOIDmode) + || !rtx_equal_p (operands[0], operands[4])) { rtx tmp = operands[5]; operands[5] = operands[4]; operands[4] = tmp; PUT_CODE (operands[1], swap_condition (GET_CODE (operands[1]))); } + if (!rtx_equal_p (operands[0], operands[4])) + abort (); if (const0_operand (operands[2], GET_MODE (operands[0]))) { operands[7] = operands[3]; @@ -19805,17 +19809,17 @@ (define_insn "ldmxcsr" [(unspec_volatile [(match_operand:SI 0 "memory_operand" "m")] UNSPECV_LDMXCSR)] - "TARGET_MMX" + "TARGET_SSE" "ldmxcsr\t%0" - [(set_attr "type" "mmx") + [(set_attr "type" "sse") (set_attr "memory" "load")]) (define_insn "stmxcsr" [(set (match_operand:SI 0 "memory_operand" "=m") (unspec_volatile:SI [(const_int 0)] UNSPECV_STMXCSR))] - "TARGET_MMX" + "TARGET_SSE" "stmxcsr\t%0" - [(set_attr "type" "mmx") + [(set_attr "type" "sse") (set_attr "memory" "store")]) (define_expand "sfence" diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h index ae346e6d518..b6b575665ca 100644 --- a/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h @@ -116,17 +116,17 @@ Boston, MA 02111-1307, USA. */ (FS)->regs.reg[0].how = REG_SAVED_OFFSET; \ (FS)->regs.reg[0].loc.offset = (long)&sc_->rax - new_cfa_; \ (FS)->regs.reg[1].how = REG_SAVED_OFFSET; \ - (FS)->regs.reg[1].loc.offset = (long)&sc_->rbx - new_cfa_; \ + (FS)->regs.reg[1].loc.offset = (long)&sc_->rdx - new_cfa_; \ (FS)->regs.reg[2].how = REG_SAVED_OFFSET; \ (FS)->regs.reg[2].loc.offset = (long)&sc_->rcx - new_cfa_; \ (FS)->regs.reg[3].how = REG_SAVED_OFFSET; \ - (FS)->regs.reg[3].loc.offset = (long)&sc_->rdx - new_cfa_; \ + (FS)->regs.reg[3].loc.offset = (long)&sc_->rbx - new_cfa_; \ (FS)->regs.reg[4].how = REG_SAVED_OFFSET; \ - (FS)->regs.reg[4].loc.offset = (long)&sc_->rbp - new_cfa_; \ + (FS)->regs.reg[4].loc.offset = (long)&sc_->rsi - new_cfa_; \ (FS)->regs.reg[5].how = REG_SAVED_OFFSET; \ - (FS)->regs.reg[5].loc.offset = (long)&sc_->rsi - new_cfa_; \ + (FS)->regs.reg[5].loc.offset = (long)&sc_->rdi - new_cfa_; \ (FS)->regs.reg[6].how = REG_SAVED_OFFSET; \ - (FS)->regs.reg[6].loc.offset = (long)&sc_->rdi - new_cfa_; \ + (FS)->regs.reg[6].loc.offset = (long)&sc_->rbp - new_cfa_; \ (FS)->regs.reg[8].how = REG_SAVED_OFFSET; \ (FS)->regs.reg[8].loc.offset = (long)&sc_->r8 - new_cfa_; \ (FS)->regs.reg[9].how = REG_SAVED_OFFSET; \ @@ -143,6 +143,8 @@ Boston, MA 02111-1307, USA. */ (FS)->regs.reg[14].loc.offset = (long)&sc_->r14 - new_cfa_; \ (FS)->regs.reg[15].how = REG_SAVED_OFFSET; \ (FS)->regs.reg[15].loc.offset = (long)&sc_->r15 - new_cfa_; \ + (FS)->regs.reg[16].how = REG_SAVED_OFFSET; \ + (FS)->regs.reg[16].loc.offset = (long)&sc_->rip - new_cfa_; \ (FS)->retaddr_column = 16; \ goto SUCCESS; \ } while (0) diff --git a/gcc/config/i386/scodbx.h b/gcc/config/i386/scodbx.h deleted file mode 100644 index 7da93053256..00000000000 --- a/gcc/config/i386/scodbx.h +++ /dev/null @@ -1,84 +0,0 @@ -/* Definitions for Intel 386 running SCO Unix System V, - using dbx-in-coff encapsulation. - Copyright (C) 1992, 1995, 1996, 1999 Free Software Foundation, Inc. - -This file is part of GNU CC. - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "i386/svr3dbx.h" - -/* Overridden defines for SCO systems from sco.h. */ - -/* By default, target has a 80387, uses IEEE compatible arithmetic, - and returns float values in the 387, ie, - (TARGET_80387 | TARGET_FLOAT_RETURNS_IN_80387) - - SCO's software emulation of a 387 fails to handle the `fucomp' - opcode. fucomp is only used when generating IEEE compliant code. - So don't make TARGET_IEEE_FP default for SCO. */ - -#undef TARGET_SUBTARGET_DEFAULT -#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_FLOAT_RETURNS) - -/* Use crt1.o as a startup file and crtn.o as a closing file. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!r:%{!z:svr3.ifile%s}%{z:svr3z.ifile%s}}\ - %{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}" - -/* Library spec, including SCO international language support. */ - -#undef LIB_SPEC -#define LIB_SPEC \ - "%{p:-L/usr/lib/libp}%{pg:-L/usr/lib/libp} %{scointl:libintl.a%s} -lc" - -/* Specify predefined symbols in preprocessor. */ - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Dunix -DM_UNIX -DM_I386 -DM_COFF -DM_WORDSWAP -Asystem=svr3" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{scointl:-DM_INTERNAT}" - -/* This spec is used for telling cpp whether char is signed or not. */ - -#undef SIGNED_CHAR_SPEC -#if DEFAULT_SIGNED_CHAR -#define SIGNED_CHAR_SPEC \ - "%{funsigned-char:-D__CHAR_UNSIGNED__ -D_CHAR_UNSIGNED}" -#else -#define SIGNED_CHAR_SPEC \ - "%{!fsigned-char:-D__CHAR_UNSIGNED__ -D_CHAR_UNSIGNED}" -#endif - -/* caller has to pop the extra argument passed to functions that return - structures. */ - -#undef RETURN_POPS_ARGS -#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ - ((FUNDECL) && TREE_CODE (FUNDECL) == IDENTIFIER_NODE ? 0 \ - : (TARGET_RTD \ - && (TYPE_ARG_TYPES (FUNTYPE) == 0 \ - || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ - == void_type_node))) ? (SIZE) \ - : 0) -/* On other 386 systems, the last line looks like this: - : (aggregate_value_p (TREE_TYPE (FUNTYPE))) ? GET_MODE_SIZE (Pmode) : 0) */ - -/* Handle #pragma pack. */ -#define HANDLE_SYSV_PRAGMA diff --git a/gcc/config/i386/xm-dgux.h b/gcc/config/i386/xm-dgux.h deleted file mode 100644 index 881c5c7be9d..00000000000 --- a/gcc/config/i386/xm-dgux.h +++ /dev/null @@ -1,4 +0,0 @@ -/* Configuration for GCC for Intel i386 running DG/ux */ - -/* looks just like sysv4 for now */ -#include "xm-svr4.h" diff --git a/gcc/config/i386/xm-sun.h b/gcc/config/i386/xm-sun.h deleted file mode 100644 index 6c0f0a25630..00000000000 --- a/gcc/config/i386/xm-sun.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Configuration for GNU C-compiler for Intel 80386 running SunOS 4.0. - Copyright (C) 1988, 1997 Free Software Foundation, Inc. - -This file is part of GNU CC. - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#define USG diff --git a/gcc/config/i386/xm-sysv3.h b/gcc/config/i386/xm-sysv3.h deleted file mode 100644 index 9a655443ff5..00000000000 --- a/gcc/config/i386/xm-sysv3.h +++ /dev/null @@ -1,3 +0,0 @@ -/* Configuration for GCC for Intel i386 running System V Release 3. */ - -#include "xm-svr3.h" diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h index 4136e901795..5dbe5c4af75 100644 --- a/gcc/config/i386/xmmintrin.h +++ b/gcc/config/i386/xmmintrin.h @@ -1586,13 +1586,13 @@ _mm_ucomineq_sd (__m128d __A, __m128d __B) static __inline __m128i _mm_load_si128 (__m128i const *__P) { - return (__m128i) __builtin_ia32_loaddqa (__P); + return (__m128i) __builtin_ia32_loaddqa ((char const *)__P); } static __inline __m128i _mm_loadu_si128 (__m128i const *__P) { - return (__m128i) __builtin_ia32_loaddqu (__P); + return (__m128i) __builtin_ia32_loaddqu ((char const *)__P); } static __inline __m128i @@ -1604,13 +1604,13 @@ _mm_loadl_epi64 (__m128i const *__P) static __inline void _mm_store_si128 (__m128i *__P, __m128i __B) { - __builtin_ia32_storedqa (__P, (__v16qi)__B); + __builtin_ia32_storedqa ((char *)__P, (__v16qi)__B); } static __inline void _mm_storeu_si128 (__m128i *__P, __m128i __B) { - __builtin_ia32_storedqu (__P, (__v16qi)__B); + __builtin_ia32_storedqu ((char *)__P, (__v16qi)__B); } static __inline void diff --git a/gcc/config/ip2k/ip2k.c b/gcc/config/ip2k/ip2k.c index c0a643ae1d1..fa543205fc9 100644 --- a/gcc/config/ip2k/ip2k.c +++ b/gcc/config/ip2k/ip2k.c @@ -1,6 +1,6 @@ /* Subroutines used for code generation on Ubicom IP2022 Communications Controller. - Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Red Hat, Inc and Ubicom, Inc. This file is part of GNU CC. @@ -72,6 +72,11 @@ static void mdr_try_wreg_elim PARAMS ((rtx)); static int ip2k_check_can_adjust_stack_ref PARAMS ((rtx, int)); static void ip2k_adjust_stack_ref PARAMS ((rtx *, int)); static int ip2k_xexp_not_uses_reg_for_mem PARAMS ((rtx, unsigned int)); +static tree ip2k_handle_progmem_attribute PARAMS ((tree *, tree, tree, int, + bool *)); +static tree ip2k_handle_fndecl_attribute PARAMS ((tree *, tree, tree, int, + bool *)); +const struct attribute_spec ip2k_attribute_table[]; /* Initialize the GCC target structure. */ @@ -90,6 +95,9 @@ static int ip2k_xexp_not_uses_reg_for_mem PARAMS ((rtx, unsigned int)); #undef TARGET_ENCODE_SECTION_INFO #define TARGET_ENCODE_SECTION_INFO encode_section_info +#undef TARGET_ATTRIBUTE_TABLE +#define TARGET_ATTRIBUTE_TABLE ip2k_attribute_table + struct gcc_target targetm = TARGET_INITIALIZER; /* Commands in the functions prologues in the compiled file. */ @@ -3143,51 +3151,82 @@ class_likely_spilled_p(c) || c == PTR_REGS); } -/* Only `progmem' attribute valid for type. */ +/* Valid attributes: + progmem - put data to program memory; + naked - don't generate function prologue/epilogue and `ret' command. -int -valid_machine_type_attribute(type, attributes, identifier, args) - tree type ATTRIBUTE_UNUSED; - tree attributes ATTRIBUTE_UNUSED; - tree identifier; - tree args ATTRIBUTE_UNUSED; -{ - return is_attribute_p ("progmem", identifier); -} + Only `progmem' attribute valid for type. */ -/* If IDENTIFIER with arguments ARGS is a valid machine specific - attribute for DECL return 1. - Valid attributes: - progmem - put data to program memory; - naked - don't generate function prologue/epilogue and `ret' command. */ +const struct attribute_spec ip2k_attribute_table[] = +{ + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler } */ + { "progmem", 0, 0, false, false, false, ip2k_handle_progmem_attribute }, + { "naked", 0, 0, true, false, false, ip2k_handle_fndecl_attribute }, + { NULL, 0, 0, false, false, false, NULL } +}; -int -valid_machine_decl_attribute (decl, attributes, attr, args) - tree decl; - tree attributes ATTRIBUTE_UNUSED; - tree attr; +/* Handle a "progmem" attribute; arguments as in + struct attribute_spec.handler. */ +static tree +ip2k_handle_progmem_attribute (node, name, args, flags, no_add_attrs) + tree *node; + tree name; tree args ATTRIBUTE_UNUSED; + int flags ATTRIBUTE_UNUSED; + bool *no_add_attrs; { - if (is_attribute_p ("naked", attr)) - return TREE_CODE (decl) == FUNCTION_DECL; - - if (is_attribute_p ("progmem", attr) - && (TREE_STATIC (decl) || DECL_EXTERNAL (decl))) + if (DECL_P (*node)) { - /* Data stored in program RAM or FLASH must be word aligned or - it won't be directly addressable. */ - if (DECL_ALIGN (decl) < FUNCTION_BOUNDARY) - DECL_ALIGN (decl) = FUNCTION_BOUNDARY; + if (TREE_CODE (*node) == TYPE_DECL) + { + /* This is really a decl attribute, not a type attribute, + but try to handle it for GCC 3.0 backwards compatibility. */ + + tree type = TREE_TYPE (*node); + tree attr = tree_cons (name, args, TYPE_ATTRIBUTES (type)); + tree newtype = build_type_attribute_variant (type, attr); - if (DECL_INITIAL (decl) == NULL_TREE) + TYPE_MAIN_VARIANT (newtype) = TYPE_MAIN_VARIANT (type); + TREE_TYPE (*node) = newtype; + *no_add_attrs = true; + } + else if (TREE_STATIC (*node) || DECL_EXTERNAL (*node)) { - warning ("Only initialized variables can be placed into " - "program memory area."); - return 0; + if (DECL_INITIAL (*node) == NULL_TREE && !DECL_EXTERNAL (*node)) + { + warning ("only initialized variables can be placed into " + "program memory area"); + *no_add_attrs = true; + } + } + else + { + warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name)); + *no_add_attrs = true; } - return 1; } - return 0; + + return NULL_TREE; +} + +/* Handle an attribute requiring a FUNCTION_DECL; arguments as in + struct attribute_spec.handler. */ +static tree +ip2k_handle_fndecl_attribute (node, name, args, flags, no_add_attrs) + tree *node; + tree name; + tree args ATTRIBUTE_UNUSED; + int flags ATTRIBUTE_UNUSED; + bool *no_add_attrs; +{ + if (TREE_CODE (*node) != FUNCTION_DECL) + { + warning ("`%s' attribute only applies to functions", + IDENTIFIER_POINTER (name)); + *no_add_attrs = true; + } + + return NULL_TREE; } /* Encode section information about tree DECL. */ diff --git a/gcc/config/ip2k/ip2k.h b/gcc/config/ip2k/ip2k.h index 00be9c4408d..af148904dd9 100644 --- a/gcc/config/ip2k/ip2k.h +++ b/gcc/config/ip2k/ip2k.h @@ -1,7 +1,7 @@ /* Definitions of target machine for GNU compiler, For Ubicom IP2022 Communications Controller - Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Red Hat, Inc and Ubicom, Inc. This file is part of GNU CC. @@ -2349,18 +2349,6 @@ do { \ of arguments that the function accepts. Some people think a larger threshold should be used on RISC machines. */ -#define VALID_MACHINE_DECL_ATTRIBUTE(DECL, ATTRIBUTES, IDENTIFIER, ARGS) \ - valid_machine_decl_attribute (DECL, ATTRIBUTES, IDENTIFIER, ARGS) -/* If defined, a C expression whose value is nonzero if IDENTIFIER - with arguments ARGS is a valid machine specific attribute for DECL. - The attributes in ATTRIBUTES have previously been assigned to DECL. */ - -#define VALID_MACHINE_TYPE_ATTRIBUTE(TYPE, ATTRIBUTES, IDENTIFIER, ARGS) \ - valid_machine_type_attribute(TYPE, ATTRIBUTES, IDENTIFIER, ARGS) -/* If defined, a C expression whose value is nonzero if IDENTIFIER - with arguments ARGS is a valid machine specific attribute for TYPE. - The attributes in ATTRIBUTES have previously been assigned to TYPE. */ - #define DOLLARS_IN_IDENTIFIERS 0 /* Define this macro to control use of the character `$' in identifier names. 0 means `$' is not allowed by default; 1 means it is diff --git a/gcc/config/m68hc11/m68hc11-protos.h b/gcc/config/m68hc11/m68hc11-protos.h index c4a3fef0429..7b1ca5654c8 100644 --- a/gcc/config/m68hc11/m68hc11-protos.h +++ b/gcc/config/m68hc11/m68hc11-protos.h @@ -42,18 +42,6 @@ extern void m68hc11_function_arg_advance PARAMS((CUMULATIVE_ARGS*, #endif #ifdef RTX_CODE -extern rtx m68hc11_compare_op0; -extern rtx m68hc11_compare_op1; -extern GTY(()) rtx m68hc11_soft_tmp_reg; -extern GTY(()) rtx ix_reg; -extern GTY(()) rtx iy_reg; -extern GTY(()) rtx d_reg; -extern GTY(()) rtx da_reg; -extern GTY(()) rtx stack_push_word; -extern GTY(()) rtx stack_pop_word; -extern GTY(()) rtx z_reg; -extern GTY(()) rtx z_reg_qi; - extern void m68hc11_initialize_trampoline PARAMS((rtx, rtx, rtx)); extern rtx m68hc11_expand_compare_and_branch PARAMS((enum rtx_code, diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index ac16b527a97..7edfd24a8c6 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -1,5 +1,5 @@ /* Subroutines for code generation on Motorola 68HC11 and 68HC12. - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Stephane Carrez (stcarrez@nerim.fr) This file is part of GNU CC. @@ -64,9 +64,10 @@ static int go_if_legitimate_address_internal PARAMS((rtx, enum machine_mode, int)); static int register_indirect_p PARAMS((rtx, enum machine_mode, int)); static rtx m68hc11_expand_compare PARAMS((enum rtx_code, rtx, rtx)); -static int m68hc11_autoinc_compatible_p PARAMS ((rtx, rtx)); static int must_parenthesize PARAMS ((rtx)); static int m68hc11_shift_cost PARAMS ((enum machine_mode, rtx, int)); +static int autoinc_mode PARAMS ((rtx)); +static int m68hc11_make_autoinc_notes PARAMS ((rtx*, void*)); static int m68hc11_auto_inc_p PARAMS ((rtx)); static tree m68hc11_handle_fntype_attribute PARAMS ((tree *, tree, tree, int, bool *)); const struct attribute_spec m68hc11_attribute_table[]; @@ -79,8 +80,6 @@ static void m68hc11_asm_out_constructor PARAMS ((rtx, int)); static void m68hc11_asm_out_destructor PARAMS ((rtx, int)); static void m68hc11_encode_section_info PARAMS((tree, int)); -rtx m68hc11_soft_tmp_reg; - /* Must be set to 1 to produce debug messages. */ int debug_m6811 = 0; @@ -89,11 +88,12 @@ extern FILE *asm_out_file; rtx ix_reg; rtx iy_reg; rtx d_reg; -rtx da_reg; -rtx stack_push_word; -rtx stack_pop_word; +rtx m68hc11_soft_tmp_reg; +static GTY(()) rtx stack_push_word; +static GTY(()) rtx stack_pop_word; +static GTY(()) rtx z_reg; +static GTY(()) rtx z_reg_qi; static int regs_inited = 0; -rtx z_reg; /* Set to 1 by expand_prologue() when the function is an interrupt handler. */ int current_function_interrupt; @@ -335,7 +335,6 @@ create_regs_rtx () ix_reg = gen_rtx (REG, HImode, HARD_X_REGNUM); iy_reg = gen_rtx (REG, HImode, HARD_Y_REGNUM); d_reg = gen_rtx (REG, HImode, HARD_D_REGNUM); - da_reg = gen_rtx (REG, QImode, HARD_A_REGNUM); m68hc11_soft_tmp_reg = gen_rtx (REG, HImode, SOFT_TMP_REGNUM); stack_push_word = gen_rtx (MEM, HImode, @@ -1654,7 +1653,7 @@ expand_prologue () emit_insn (gen_addhi3 (stack_pointer_rtx, stack_pointer_rtx, GEN_INT (-size))); } - else if (size > 8) + else if ((!optimize_size && size > 8) || (optimize_size && size > 10)) { rtx insn; @@ -1742,7 +1741,7 @@ expand_epilogue () emit_insn (gen_addhi3 (stack_pointer_rtx, stack_pointer_rtx, GEN_INT (size))); } - else if (size > 8) + else if ((!optimize_size && size > 8) || (optimize_size && size > 10)) { rtx insn; @@ -4103,8 +4102,6 @@ struct replace_info int z_loaded_with_sp; }; -rtx z_reg_qi; - static int m68hc11_check_z_replacement PARAMS ((rtx, struct replace_info *)); static void m68hc11_find_z_replacement PARAMS ((rtx, struct replace_info *)); static void m68hc11_z_replacement PARAMS ((rtx)); @@ -4338,7 +4335,13 @@ m68hc11_check_z_replacement (insn, info) info->z_died = 1; info->need_save_z = 0; } - else + else if (TARGET_M6812 && side_effects_p (src)) + { + info->last = 0; + info->must_restore_reg = 0; + return 0; + } + else { info->save_before_last = 1; } @@ -4415,7 +4418,13 @@ m68hc11_check_z_replacement (insn, info) info->z_died = 1; info->need_save_z = 0; } - else + else if (TARGET_M6812 && side_effects_p (src)) + { + info->last = 0; + info->must_restore_reg = 0; + return 0; + } + else { info->save_before_last = 1; } @@ -5058,6 +5067,11 @@ m68hc11_reorg (first) int split_done = 0; rtx insn; + compute_bb_for_insn (); + + /* ??? update_life_info_in_dirty_blocks fails to terminate during + non-optimizing bootstrap. */ + // update_life_info (NULL, UPDATE_LIFE_GLOBAL_RM_NOTES, PROP_DEATH_NOTES); z_replacement_completed = 0; z_reg = gen_rtx (REG, HImode, HARD_Z_REGNUM); @@ -5073,9 +5087,6 @@ m68hc11_reorg (first) z_replacement_completed = 1; m68hc11_reassign_regs (first); - if (optimize) - compute_bb_for_insn (); - /* After some splitting, there are some oportunities for CSE pass. This happens quite often when 32-bit or above patterns are split. */ if (optimize > 0 && split_done) @@ -5174,7 +5185,7 @@ m68hc11_memory_move_cost (mode, class, in) else { if (GET_MODE_SIZE (mode) <= 2) - return COSTS_N_INSNS (2); + return COSTS_N_INSNS (3); else return COSTS_N_INSNS (4); } @@ -5506,7 +5517,10 @@ m68hc11_asm_file_start (out, main_file) const char *main_file; { fprintf (out, ";;;-----------------------------------------\n"); - fprintf (out, ";;; Start MC68HC11 gcc assembly output\n"); + fprintf (out, ";;; Start %s gcc assembly output\n", + TARGET_M6811 + ? "MC68HC11" + : TARGET_M68S12 ? "MC68HCS12" : "MC68HC12"); fprintf (out, ";;; gcc compiler %s\n", version_string); print_options (out); fprintf (out, ";;;-----------------------------------------\n"); @@ -5536,3 +5550,5 @@ m68hc11_asm_out_destructor (symbol, priority) default_dtor_section_asm_out_destructor (symbol, priority); fprintf (asm_out_file, "\t.globl\t__do_global_dtors\n"); } + +#include "gt-m68hc11.h" diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h index bdd3fe198f9..ce5f4b8180a 100644 --- a/gcc/config/m68hc11/m68hc11.h +++ b/gcc/config/m68hc11/m68hc11.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. Motorola 68HC11 and 68HC12. - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Stephane Carrez (stcarrez@nerim.fr) This file is part of GNU CC. @@ -43,13 +43,22 @@ Note: /* Compile and assemble for a 68hc11 unless there is a -m68hc12 option. */ #ifndef ASM_SPEC -#define ASM_SPEC "%{m68hc12:-m68hc12}%{!m68hc12:-m68hc11}" +#define ASM_SPEC \ +"%{m68hc12:-m68hc12}" \ +"%{m68hcs12:-m68hcs12}" \ +"%{!m68hc12:%{!m68hcs12:-m68hc11}} " \ +"%{mshort:-mshort}%{!mshort:-mlong} " \ +"%{fshort-double:-mshort-double}%{!fshort-double:-mlong-double}" #endif /* We need to tell the linker the target elf format. Just pass an emulation option. This can be overriden by -Wl option of gcc. */ #ifndef LINK_SPEC -#define LINK_SPEC "%{m68hc12:-m m68hc12elf}%{!m68hc12:-m m68hc11elf} %{mrelax:-relax}" +#define LINK_SPEC \ +"%{m68hc12:-m m68hc12elf}" \ +"%{m68hcs12:-m m68hc12elf}" \ +"%{!m68hc12:%{!m68hcs12:-m m68hc11elf}} " \ +"%{!mnorelax:%{!m68hc12:%{!m68hcs12:-relax}}}" #endif #ifndef LIB_SPEC @@ -65,7 +74,8 @@ Note: "%{mshort:-D__HAVE_SHORT_INT__ -D__INT__=16}\ %{!mshort:-D__INT__=32}\ %{m68hc12:-Dmc6812 -DMC6812 -Dmc68hc12}\ - %{!m68hc12:-Dmc6811 -DMC6811 -Dmc68hc11}\ + %{m68hcs12:-Dmc6812 -DMC6812 -Dmc68hcs12}\ + %{!m68hc12:%{!m68hcs12:-Dmc6811 -DMC6811 -Dmc68hc11}}\ %{fshort-double:-D__HAVE_SHORT_DOUBLE__}\ %{mlong-calls:-D__USE_RTC__}" #endif @@ -119,14 +129,16 @@ extern short *reg_renumber; /* def in local_alloc.c */ #define MASK_AUTO_INC_DEC 0004 #define MASK_M6811 0010 #define MASK_M6812 0020 -#define MASK_NO_DIRECT_MODE 0040 -#define MASK_MIN_MAX 0100 -#define MASK_LONG_CALLS 0200 +#define MASK_M68S12 0040 +#define MASK_NO_DIRECT_MODE 0100 +#define MASK_MIN_MAX 0200 +#define MASK_LONG_CALLS 0400 #define TARGET_OP_TIME (optimize && optimize_size == 0) #define TARGET_SHORT (target_flags & MASK_SHORT) #define TARGET_M6811 (target_flags & MASK_M6811) #define TARGET_M6812 (target_flags & MASK_M6812) +#define TARGET_M68S12 (target_flags & MASK_M68S12) #define TARGET_AUTO_INC_DEC (target_flags & MASK_AUTO_INC_DEC) #define TARGET_MIN_MAX (target_flags & MASK_MIN_MAX) #define TARGET_NO_DIRECT_MODE (target_flags & MASK_NO_DIRECT_MODE) @@ -178,10 +190,14 @@ extern short *reg_renumber; /* def in local_alloc.c */ N_("Compile for a 68HC11")}, \ { "68hc12", MASK_M6812, \ N_("Compile for a 68HC12")}, \ + { "68hcs12", MASK_M6812 | MASK_M68S12, \ + N_("Compile for a 68HCS12")}, \ { "6811", MASK_M6811, \ N_("Compile for a 68HC11")}, \ { "6812", MASK_M6812, \ N_("Compile for a 68HC12")}, \ + { "68S12", MASK_M6812 | MASK_M68S12, \ + N_("Compile for a 68HCS12")}, \ { "", TARGET_DEFAULT, 0 }} /* This macro is similar to `TARGET_SWITCHES' but defines names of @@ -214,7 +230,7 @@ extern const char *m68hc11_soft_reg_count; #endif /* Print subsidiary information on the compiler version in use. */ -#define TARGET_VERSION fprintf (stderr, " (MC68HC11/MC68HC12)") +#define TARGET_VERSION fprintf (stderr, " (MC68HC11/MC68HC12/MC68HCS12)") /* Sometimes certain combinations of command options do not make sense on a particular target machine. You can define a macro @@ -1751,3 +1767,10 @@ extern int z_replacement_completed; extern int current_function_interrupt; extern int current_function_trap; extern int current_function_far; + +extern GTY(()) rtx m68hc11_compare_op0; +extern GTY(()) rtx m68hc11_compare_op1; +extern GTY(()) rtx m68hc11_soft_tmp_reg; +extern GTY(()) rtx ix_reg; +extern GTY(()) rtx iy_reg; +extern GTY(()) rtx d_reg; diff --git a/gcc/config/m68hc11/m68hc11.md b/gcc/config/m68hc11/m68hc11.md index a71e4f3f0f5..c00c86a4ae1 100644 --- a/gcc/config/m68hc11/m68hc11.md +++ b/gcc/config/m68hc11/m68hc11.md @@ -6393,18 +6393,18 @@ if (ret_size && ret_size <= 2) { - emit_insn (gen_rtx (PARALLEL, VOIDmode, - gen_rtvec (2, gen_rtx_RETURN (VOIDmode), - gen_rtx_USE (VOIDmode, - gen_rtx_REG (HImode, 1))))); + emit_jump_insn (gen_rtx (PARALLEL, VOIDmode, + gen_rtvec (2, gen_rtx_RETURN (VOIDmode), + gen_rtx_USE (VOIDmode, + gen_rtx_REG (HImode, 1))))); DONE; } if (ret_size) { - emit_insn (gen_rtx (PARALLEL, VOIDmode, - gen_rtvec (2, gen_rtx_RETURN (VOIDmode), - gen_rtx_USE (VOIDmode, - gen_rtx_REG (SImode, 0))))); + emit_jump_insn (gen_rtx (PARALLEL, VOIDmode, + gen_rtvec (2, gen_rtx_RETURN (VOIDmode), + gen_rtx_USE (VOIDmode, + gen_rtx_REG (SImode, 0))))); DONE; } }") diff --git a/gcc/config/m68hc11/m68hc12.h b/gcc/config/m68hc11/m68hc12.h index ba56c172993..f98a0d0761f 100644 --- a/gcc/config/m68hc11/m68hc12.h +++ b/gcc/config/m68hc11/m68hc12.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for m68hc12. - Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - Contributed by Stephane Carrez (stcarrez@worldnet.fr). + Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + Contributed by Stephane Carrez (stcarrez@nerim.fr). This file is part of GNU CC. @@ -20,18 +20,26 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Compile and assemble for a 68hc12 unless there is a -m68hc11 option. */ -#define ASM_SPEC "%{m68hc11:-m68hc11}%{!m68hc11:-m68hc12}" +#define ASM_SPEC \ +"%{m68hc11:-m68hc11}" \ +"%{m68hcs12:-m68hcs12}" \ +"%{!m68hc11:%{!m68hcs12:-m68hc12}}" #define LIB_SPEC "" #define CC1_SPEC "" /* We need to tell the linker the target elf format. Just pass an emulation option. This can be overriden by -Wl option of gcc. */ -#define LINK_SPEC "%{m68hc11:-m m68hc11elf}%{!m68hc11:-m m68hc12elf}" +#define LINK_SPEC \ +"%{m68hc11:-m m68hc11elf}" \ +"%{m68hcs12:-m m68hc12elf}" \ +"%{!m68hc11:%{!m68hcs12:-m m68hc11elf}} %{mrelax:-relax}" #define CPP_SPEC \ "%{mshort:-D__HAVE_SHORT_INT__ -D__INT__=16}\ %{!mshort:-D__INT__=32}\ %{m68hc11:-Dmc6811 -DMC6811 -Dmc68hc11}\ + %{!m68hc11:%{!m68hc12:-Dmc6812 -DMC6812 -Dmc68hc12}}\ + %{m68hcs12:-Dmc6812 -DMC6812 -Dmc68hcs12}\ %{!m68hc11:-Dmc6812 -DMC6812 -Dmc68hc12}\ %{fshort-double:-D__HAVE_SHORT_DOUBLE__}" diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 3b784c8883d..1c31995c42c 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. MIPS version. Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 - 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by A. Lichnewsky (lich@inria.inria.fr). Changed by Michael Meissner (meissner@osf.org). 64 bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and @@ -4663,3 +4663,32 @@ while (0) /* Generate calls to memcpy, etc., not bcopy, etc. */ #define TARGET_MEM_FUNCTIONS + +/* Since the bits of the _init and _fini function is spread across + many object files, each potentially with its own GP, we must assume + we need to load our GP. We don't preserve $gp or $ra, since each + init/fini chunk is supposed to initialize $gp, and crti/crtn + already take care of preserving $ra and, when appropriate, $gp. */ +#if _MIPS_SIM == _MIPS_SIM_ABI32 +#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ + asm (SECTION_OP "\n\ + .set noreorder\n\ + bal 1f\n\ + nop\n\ +1: .cpload $31\n\ + .set reorder\n\ + jal " USER_LABEL_PREFIX #FUNC "\n\ + " TEXT_SECTION_ASM_OP); +#endif /* Switch to #elif when we're no longer limited by K&R C. */ +#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) \ + || (defined _ABI64 && _MIPS_SIM == _ABI64) +#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ + asm (SECTION_OP "\n\ + .set noreorder\n\ + bal 1f\n\ + nop\n\ +1: .set reorder\n\ + .cpsetup $31, $2, 1b\n\ + jal " USER_LABEL_PREFIX #FUNC "\n\ + " TEXT_SECTION_ASM_OP); +#endif diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index cc6cda53dba..77dd9a7de82 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -6413,16 +6413,16 @@ move\\t%0,%z4\\n\\ }") (define_insn "movdf_internal1" - [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,f,R,To,*f,*d,*d,*d,*d,*R,*T") - (match_operand:DF 1 "general_operand" "f,R,To,fG,fG,*d,*f,*d*G,*R,*T,*d,*d"))] + [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,f,f,R,To,*f,*d,*d,*d,*d,*R,*T") + (match_operand:DF 1 "general_operand" "f,G,R,To,fG,fG,*d,*f,*d*G,*R,*T,*d,*d"))] "TARGET_HARD_FLOAT && !(TARGET_FLOAT64 && !TARGET_64BIT) && TARGET_DOUBLE_FLOAT && (register_operand (operands[0], DFmode) || nonmemory_operand (operands[1], DFmode))" "* return mips_move_2words (operands, insn); " - [(set_attr "type" "move,load,load,store,store,xfer,xfer,move,load,load,store,store") - (set_attr "mode" "DF") - (set_attr "length" "4,8,16,8,16,8,8,8,8,16,8,16")]) + [(set_attr "type" "move,move,load,load,store,store,xfer,xfer,move,load,load,store,store") + (set_attr "mode" "DF") + (set_attr "length" "4,8,8,16,8,16,8,8,8,8,16,8,16")]) (define_insn "movdf_internal1a" [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,R,R,To,To,*d,*d,*To,*R,*d") diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h index 0bc7f1010a5..fd8a51e074d 100644 --- a/gcc/config/pa/pa-hpux11.h +++ b/gcc/config/pa/pa-hpux11.h @@ -117,3 +117,21 @@ Boston, MA 02111-1307, USA. */ #define SIZE_TYPE "long unsigned int" #define PTRDIFF_TYPE "long int" + +/* HP-UX 11.0 and above provides initialization and finalization function + support from linker command line. We don't need to invoke __main to run + constructors. We also don't need chatr to determine the dependencies of + dynamically linked executables and shared libraries. */ +#undef LDD_SUFFIX +#undef PARSE_LDD_OUTPUT +#undef HAS_INIT_SECTION +#define HAS_INIT_SECTION 1 +#undef LD_INIT_SWITCH +#define LD_INIT_SWITCH "+init" +#undef LD_FINI_SWITCH +#define LD_FINI_SWITCH "+fini" + +/* The HP-UX 11.X SOM linker (ld32) can successfully link shared libraries + with secondary definition (weak) symbols. */ +#undef TARGET_SOM_SDEF +#define TARGET_SOM_SDEF 1 diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 0d5f111a41a..7ad06c574c8 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -121,6 +121,10 @@ static void pa_globalize_label PARAMS ((FILE *, const char *)) ATTRIBUTE_UNUSED; static void pa_asm_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT, HOST_WIDE_INT, tree)); +#if !defined(USE_COLLECT2) +static void pa_asm_out_constructor PARAMS ((rtx, int)); +static void pa_asm_out_destructor PARAMS ((rtx, int)); +#endif static void copy_fp_args PARAMS ((rtx)) ATTRIBUTE_UNUSED; static int length_fp_args PARAMS ((rtx)) ATTRIBUTE_UNUSED; static struct deferred_plabel *get_plabel PARAMS ((const char *)) @@ -203,6 +207,13 @@ static size_t n_deferred_plabels = 0; #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK #define TARGET_ASM_CAN_OUTPUT_MI_THUNK default_can_output_mi_thunk_no_vcall +#if !defined(USE_COLLECT2) +#undef TARGET_ASM_CONSTRUCTOR +#define TARGET_ASM_CONSTRUCTOR pa_asm_out_constructor +#undef TARGET_ASM_DESTRUCTOR +#define TARGET_ASM_DESTRUCTOR pa_asm_out_destructor +#endif + struct gcc_target targetm = TARGET_INITIALIZER; void @@ -6330,7 +6341,7 @@ output_millicode_call (insn, call_dest) xoperands[1] = gen_label_rtx (); output_asm_insn ("ldo %0-%1(%2),%2", xoperands); ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L", - CODE_LABEL_NUMBER (xoperands[3])); + CODE_LABEL_NUMBER (xoperands[1])); } else /* ??? This branch may not reach its target. */ @@ -6668,7 +6679,7 @@ output_call (insn, call_dest, sibcall) xoperands[1] = gen_label_rtx (); output_asm_insn ("ldo %0-%1(%%r2),%%r2", xoperands); ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L", - CODE_LABEL_NUMBER (xoperands[3])); + CODE_LABEL_NUMBER (xoperands[1])); } else /* ??? This branch may not reach its target. */ @@ -6903,6 +6914,46 @@ fmpyaddoperands (operands) return 1; } +#if !defined(USE_COLLECT2) +static void +pa_asm_out_constructor (symbol, priority) + rtx symbol; + int priority; +{ + if (!function_label_operand (symbol, VOIDmode)) + hppa_encode_label (symbol); + +#ifdef CTORS_SECTION_ASM_OP + default_ctor_section_asm_out_constructor (symbol, priority); +#else +# ifdef TARGET_ASM_NAMED_SECTION + default_named_section_asm_out_constructor (symbol, priority); +# else + default_stabs_asm_out_constructor (symbol, priority); +# endif +#endif +} + +static void +pa_asm_out_destructor (symbol, priority) + rtx symbol; + int priority; +{ + if (!function_label_operand (symbol, VOIDmode)) + hppa_encode_label (symbol); + +#ifdef DTORS_SECTION_ASM_OP + default_dtor_section_asm_out_destructor (symbol, priority); +#else +# ifdef TARGET_ASM_NAMED_SECTION + default_named_section_asm_out_destructor (symbol, priority); +# else + default_stabs_asm_out_destructor (symbol, priority); +# endif +#endif +} +#endif + /* Returns 1 if the 6 operands specified in OPERANDS are suitable for use in fmpysub instructions. */ int diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 860b7590d98..5cfe901328a 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -206,6 +206,11 @@ extern int target_flags; not for external calls. */ #define TARGET_LONG_PIC_PCREL_CALL 0 +/* Define to a C expression evaluating to true to use SOM secondary + definition symbols for weak support. Linker support for secondary + definition symbols is buggy prior to HP-UX 11.X. */ +#define TARGET_SOM_SDEF 0 + /* Macro to define tables used to set the flags. This is a list in braces of target switches with each switch being { "NAME", VALUE, "HELP_STRING" }. VALUE is the bits to set, diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 640196b067d..5488d1d647e 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -4135,7 +4135,7 @@ emit_insn (gen_umulsidi3 (cross_product2, op2l, op1r)); /* Emit a multiply for the low sub-word. */ - emit_insn (gen_umulsidi3 (low_product, op2r, op1r)); + emit_insn (gen_umulsidi3 (low_product, copy_rtx (op2r), copy_rtx (op1r))); /* Sum the cross products and shift them into proper position. */ emit_insn (gen_adddi3 (cross_scratch, cross_product1, cross_product2)); diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h index aa7dac75382..cc6850b64b2 100644 --- a/gcc/config/pa/pa64-hpux.h +++ b/gcc/config/pa/pa64-hpux.h @@ -112,6 +112,13 @@ do { \ #define DATA_SECTION_ASM_OP "\t.data" #define BSS_SECTION_ASM_OP "\t.section\t.bss" +#define JCR_SECTION_NAME ".jcr" + +#define HP_INIT_ARRAY_SECTION_ASM_OP "\t.section\t.init" +#define GNU_INIT_ARRAY_SECTION_ASM_OP "\t.section\t.init_array" +#define HP_FINI_ARRAY_SECTION_ASM_OP "\t.section\t.fini" +#define GNU_FINI_ARRAY_SECTION_ASM_OP "\t.section\t.fini_array" + #undef ASM_OUTPUT_ALIGNED_COMMON #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ do { \ @@ -224,55 +231,175 @@ do { \ } while (0) #undef TEXT_SECTION_ASM_OP -#define TEXT_SECTION_ASM_OP "\t.SUBSPA $CODE$\n" +#define TEXT_SECTION_ASM_OP "\t.SUBSPA $CODE$\n" #undef READONLY_DATA_SECTION_ASM_OP -#define READONLY_DATA_SECTION_ASM_OP "\t.SUBSPA $LIT$\n" +#define READONLY_DATA_SECTION_ASM_OP "\t.SUBSPA $LIT$\n" #undef DATA_SECTION_ASM_OP -#define DATA_SECTION_ASM_OP "\t.SUBSPA $DATA$\n" +#define DATA_SECTION_ASM_OP "\t.SUBSPA $DATA$\n" #undef BSS_SECTION_ASM_OP -#define BSS_SECTION_ASM_OP "\t.SUBSPA $BSS$\n" +#define BSS_SECTION_ASM_OP "\t.SUBSPA $BSS$\n" + +/* We provide explicit defines for CTORS_SECTION_ASM_OP and + DTORS_SECTION_ASM_OP since we don't yet have support for + named sections with the HP assembler. */ +#undef CTORS_SECTION_ASM_OP +#define CTORS_SECTION_ASM_OP "\t.SUBSPA \\.ctors,QUAD=1,ALIGN=8,ACCESS=31" +#undef DTORS_SECTION_ASM_OP +#define DTORS_SECTION_ASM_OP "\t.SUBSPA \\.dtors,QUAD=1,ALIGN=8,ACCESS=31" + +#define HP_INIT_ARRAY_SECTION_ASM_OP \ + "\t.SUBSPA \\.init,QUAD=1,ALIGN=8,ACCESS=31" +#define GNU_INIT_ARRAY_SECTION_ASM_OP \ + "\t.SUBSPA \\.init_array,QUAD=1,ALIGN=8,ACCESS=31" +#define HP_FINI_ARRAY_SECTION_ASM_OP \ + "\t.SUBSPA \\.fini,QUAD=1,ALIGN=8,ACCESS=31" +#define GNU_FINI_ARRAY_SECTION_ASM_OP \ + "\t.SUBSPA \\.fini_array,QUAD=1,ALIGN=8,ACCESS=31" #endif /* USING_ELFOS_H */ -/* For the time being, we aren't using init sections. `P' relocations - are currently used for function references. However, P relocations are - treated as data references and data references are bound by dld.sl - immediately at program startup. This causes an abort due to undefined - weak symbols in crtbegin.o (e.g., __register_frame_info). Possibly - Q relocations might avoid this problem but the GNU assembler doesn't - support them. */ +/* The following defines, used to run constructors and destructors with + the SOM linker under HP-UX 11, are not needed. */ +#undef HAS_INIT_SECTION +#undef LD_INIT_SWITCH +#undef LD_FINI_SWITCH + +/* The following STARTFILE_SPEC and ENDFILE_SPEC defines provide the + magic needed to run initializers and finalizers. */ +#undef STARTFILE_SPEC +#define STARTFILE_SPEC \ + "%{!shared: %{!symbolic: crt0.o%s}} %{static:crtbeginT.o%s} \ + %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" +#undef ENDFILE_SPEC +#define ENDFILE_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s}" + +/* Since HP uses the .init and .fini sections for array initializers + and finalizers, we need different defines for INIT_SECTION_ASM_OP + and FINI_SECTION_ASM_OP. With the implementation adopted below, + the sections are not actually used. However, we still must provide + defines to select the proper code path. */ #undef INIT_SECTION_ASM_OP +#define INIT_SECTION_ASM_OP #undef FINI_SECTION_ASM_OP +#define FINI_SECTION_ASM_OP + +/* We are using array initializers and don't want calls in the INIT + and FINI sections. */ +#undef CRT_CALL_STATIC_FUNCTION +#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) + +/* The init_priority attribute is not supported with HP ld. This could be + supported if collect2 was used with LD_INIT_SWITCH. Unfortunately, this + approach doesn't work with GNU ld since HP-UX doesn't support DT_INIT, + and therefore the -init and -fini GNU ld switches. */ +#undef SUPPORTS_INIT_PRIORITY +#define SUPPORTS_INIT_PRIORITY (TARGET_GNU_LD ? 1 : 0) + +/* We use DTOR_LIST_BEGIN to carry a bunch of hacks to allow us to use + the init and fini array sections with both the HP and GNU linkers. + The linkers setup the required dynamic entries in the dynamic segment + and the dynamic linker does the calls. This approach avoids using + collect2. + + The first hack is to implement __do_global_ctors_aux in crtbegin as + it needs to be the first entry in the init array so that it is called + last. HP got the order of the init array backwards. The DT_INIT_ARRAY + is supposed to be executed in the same order as the addresses appear in + the array. DT_FINI_ARRAY is supposed to be executed in the opposite + order. + + The second hack is stubs for __cxa_finalize and _Jv_RegisterClasses. + The HP implementation of undefined weak symbols is broken. The linker + and dynamic loader both search for undefined weak symbols contrary the + generic System V ABI. An undefined weak symbol should resolve to a + value of 0 rather than causing an error. The prototypes for + __cxa_finalize and _Jv_RegisterClasses in crtstuff.c are weak when + weak is supported (GNU as), so in theory a strong define should override + the stub functions provided here. + + The final hack is a set of plabels to implement the effect of + CRT_CALL_STATIC_FUNCTION. HP-UX 11 only supports DI_INIT_ARRAY and + DT_FINI_ARRAY and they put the arrays in .init and .fini, rather than + in .init_array and .fini_array. The standard defines for .init and + .fini have the execute flag set. So, the assembler has to be hacked + to munge the standard flags for these sections to make them agree + with what the HP linker expects. With the GNU linker, we need to + used the .init_array and .fini_array sections. So, we set up for + both just in case. Once we have built the table, the linker does + the rest of the work. + + The order is significant. Placing __do_global_ctors_aux first in + the list, results in it being called last. User specified initializers, + either using the linker +init command or a plabel, run before the + initializers specified here. */ + +/* We need a __cxa_finalize stub if CRTSTUFFS_O is defined. */ +#ifdef CRTSTUFFS_O +#define PA_CXA_FINALIZE_STUB \ +extern void __cxa_finalize (void *) TARGET_ATTRIBUTE_WEAK; \ +void \ +__cxa_finalize (void *p __attribute__((unused))) {} +#else +#define PA_CXA_FINALIZE_STUB +#endif -#define EH_FRAME_IN_DATA_SECTION 1 +/* We need a _Jv_RegisterClasses stub if JCR_SECTION_NAME is defined. */ +#ifdef JCR_SECTION_NAME +#define PA_JV_REGISTERCLASSES_STUB \ +void \ +_Jv_RegisterClasses (void *p __attribute__((unused))) {} +#else +#define PA_JV_REGISTERCLASSES_STUB +#endif -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "" +/* We need to add frame_dummy to the initializer list if EH_FRAME_SECTION_NAME + or JCR_SECTION_NAME is defined. */ +#if defined(EH_FRAME_SECTION_NAME) || defined(JCR_SECTION_NAME) +#define PA_INIT_FRAME_DUMMY_ASM_OP ".dword P%frame_dummy" +#else +#define PA_INIT_FRAME_DUMMY_ASM_OP "" +#endif -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{!shared: %{!symbolic: crt0.o%s}}" - -/* Since we are not yet using .init and .fini sections, we need to - explicitly arrange to run the global constructors and destructors. - We could use ldd for this but it depends on LD_LIBRARY_PATH being - correctly set. So, we use the ld init and fini switches. However, - we need to support different switches for the GNU and HP linkers. - We can't check TARGET_GNU_LD in collect2, so we need a different - test. The +Accept switch is always the first switch when we are - using the HP linker (see define for LINK_SPEC). Checking for it - is a somewhat fragile as it depends on internal details of the - collect2 program but it is better than testing ld_file_name. - - FIXME: The GNU linker is broken. The -init/-fini switches don't - work and ldd can't determine the dynamic dependences of executables - linked with GNU ld. The init and fini routines are not executed - although DT_INIT and DT_FINI appear ok. As a result, defining - LD_INIT_SWITCH and LD_FINI_SWITCH causes more harm than good when - using GNU ld. However, the definitions appear to work fine with - the HP linker. */ -#if 0 -#define LD_INIT_SWITCH (strcmp ("+Accept", ld2_argv[1]) ? "-init" : "+init") -#define LD_FINI_SWITCH (strcmp ("+Accept", ld2_argv[1]) ? "-fini" : "+fini") +#define PA_INIT_FINI_HACK \ +static void __attribute__((used)) \ +__do_global_ctors_aux (void) \ +{ \ + func_ptr *p = __CTOR_LIST__; \ + while (*(p + 1)) \ + p++; \ + for (; *p != (func_ptr) -1; p--) \ + (*p) (); \ +} \ + \ +PA_CXA_FINALIZE_STUB \ +PA_JV_REGISTERCLASSES_STUB \ + \ +asm (HP_INIT_ARRAY_SECTION_ASM_OP); \ +asm (".dword P%__do_global_ctors_aux"); \ +asm (PA_INIT_FRAME_DUMMY_ASM_OP); \ +asm (GNU_INIT_ARRAY_SECTION_ASM_OP); \ +asm (".dword P%__do_global_ctors_aux"); \ +asm (PA_INIT_FRAME_DUMMY_ASM_OP); \ +asm (HP_FINI_ARRAY_SECTION_ASM_OP); \ +asm (".dword P%__do_global_dtors_aux"); \ +asm (GNU_FINI_ARRAY_SECTION_ASM_OP); \ +asm (".dword P%__do_global_dtors_aux") + +/* The following two variants of DTOR_LIST_BEGIN are identical to those + in crtstuff.c except for the addition of the above init-fini hack. */ +#ifdef DTORS_SECTION_ASM_OP +#define DTOR_LIST_BEGIN \ +asm (DTORS_SECTION_ASM_OP); \ +STATIC func_ptr __DTOR_LIST__[1] \ + __attribute__ ((aligned(sizeof(func_ptr)))) \ + = { (func_ptr) (-1) }; \ +PA_INIT_FINI_HACK +#else +#define DTOR_LIST_BEGIN \ +STATIC func_ptr __DTOR_LIST__[1] \ + __attribute__ ((section(".dtors"), aligned(sizeof(func_ptr)))) \ + = { (func_ptr) (-1) }; \ +PA_INIT_FINI_HACK #endif /* If using HP ld do not call pxdb. Use size as a program that does nothing diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h index 98c66fbfe37..7609fdbe176 100644 --- a/gcc/config/pa/som.h +++ b/gcc/config/pa/som.h @@ -362,10 +362,6 @@ do { \ /* The .align directive in the HP assembler allows up to a 32 alignment. */ #define MAX_OFILE_ALIGNMENT 32768 -/* SOM does not support the init_priority C++ attribute. */ -#undef SUPPORTS_INIT_PRIORITY -#define SUPPORTS_INIT_PRIORITY 0 - /* The SOM linker hardcodes paths into binaries. As a result, dotdots must be removed from library prefixes to prevent binaries from depending on the location of the GCC tool directory. The downside is GCC @@ -375,3 +371,52 @@ do { \ /* Aggregates with a single float or double field should be passed and returned in the general registers. */ #define MEMBER_TYPE_FORCES_BLK(FIELD, MODE) (MODE==SFmode || MODE==DFmode) + +/* If GAS supports weak, we can support weak when we have working linker + support for secondary definitions and are generating code for GAS. */ +#ifdef HAVE_GAS_WEAK +#define SUPPORTS_WEAK (TARGET_SOM_SDEF && TARGET_GAS) +#else +#define SUPPORTS_WEAK 0 +#endif + +/* We can support one only if we support weak. */ +#define SUPPORTS_ONE_ONLY SUPPORTS_WEAK + +/* Use weak (secondary definitions) to make one only declarations. */ +#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1) + +/* This is how we tell the assembler that a symbol is weak. The SOM + weak implementation uses the secondary definition (sdef) flag. + + The behavior of sdef symbols is similar to ELF weak symbols in that + multiple definitions can occur without incurring a link error. + However, they differ in the following ways: + 1) Undefined sdef symbols are not allowed. + 2) The linker searches for undefined sdef symbols and will load an + archive library member to resolve an undefined sdef symbol. + 3) The exported symbol from a shared library is a primary symbol + rather than a sdef symbol. Thus, more care is needed in the + ordering of libraries. + + It appears that the linker discards extra copies of "weak" functions + when linking shared libraries, independent of whether or not they + are in their own section. In linking final executables, -Wl,-O can + be used to remove dead procedures. Thus, support for named sections + is not needed and in previous testing caused problems with various + HP tools. */ +#define ASM_WEAKEN_LABEL(FILE,NAME) \ + do { fputs ("\t.weak\t", FILE); \ + assemble_name (FILE, NAME); \ + fputc ('\n', FILE); \ + if (! FUNCTION_NAME_P (NAME)) \ + { \ + fputs ("\t.EXPORT ", FILE); \ + assemble_name (FILE, NAME); \ + fputs (",DATA\n", FILE); \ + } \ + } while (0) + +/* We can't handle weak aliases, and therefore can't support pragma weak. + Suppress the use of pragma weak in gthr-dce.h and gthr-posix.h. */ +#define GTHREAD_USE_WEAK 0 diff --git a/gcc/config/rs6000/altivec.h b/gcc/config/rs6000/altivec.h index f1387c0c898..1e2d8c8d408 100644 --- a/gcc/config/rs6000/altivec.h +++ b/gcc/config/rs6000/altivec.h @@ -1102,43 +1102,43 @@ vec_cmple (vector float a1, vector float a2) inline vector signed char vec_cmplt (vector unsigned char a1, vector unsigned char a2) { - return (vector signed char) __builtin_altivec_vcmpgtub ((vector signed char) a1, (vector signed char) a2); + return (vector signed char) __builtin_altivec_vcmpgtub ((vector signed char) a2, (vector signed char) a1); } inline vector signed char vec_cmplt (vector signed char a1, vector signed char a2) { - return (vector signed char) __builtin_altivec_vcmpgtsb ((vector signed char) a1, (vector signed char) a2); + return (vector signed char) __builtin_altivec_vcmpgtsb ((vector signed char) a2, (vector signed char) a1); } inline vector signed short vec_cmplt (vector unsigned short a1, vector unsigned short a2) { - return (vector signed short) __builtin_altivec_vcmpgtuh ((vector signed short) a1, (vector signed short) a2); + return (vector signed short) __builtin_altivec_vcmpgtuh ((vector signed short) a2, (vector signed short) a1); } inline vector signed short vec_cmplt (vector signed short a1, vector signed short a2) { - return (vector signed short) __builtin_altivec_vcmpgtsh ((vector signed short) a1, (vector signed short) a2); + return (vector signed short) __builtin_altivec_vcmpgtsh ((vector signed short) a2, (vector signed short) a1); } inline vector signed int vec_cmplt (vector unsigned int a1, vector unsigned int a2) { - return (vector signed int) __builtin_altivec_vcmpgtuw ((vector signed int) a1, (vector signed int) a2); + return (vector signed int) __builtin_altivec_vcmpgtuw ((vector signed int) a2, (vector signed int) a1); } inline vector signed int vec_cmplt (vector signed int a1, vector signed int a2) { - return (vector signed int) __builtin_altivec_vcmpgtsw ((vector signed int) a1, (vector signed int) a2); + return (vector signed int) __builtin_altivec_vcmpgtsw ((vector signed int) a2, (vector signed int) a1); } inline vector signed int vec_cmplt (vector float a1, vector float a2) { - return (vector signed int) __builtin_altivec_vcmpgtfp ((vector float) a1, (vector float) a2); + return (vector signed int) __builtin_altivec_vcmpgtfp ((vector float) a2, (vector float) a1); } /* vec_ctf */ @@ -6523,7 +6523,7 @@ __ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \ #define vec_cmple(a1, a2) __builtin_altivec_vcmpgefp ((a1), (a2)) -#define vec_cmplt(a1, a2) \ +#define vec_cmplt(a2, a1) \ __ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \ ((vector signed char) __builtin_altivec_vcmpgtub ((vector signed char) (a1), (vector signed char) (a2))), \ __ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \ diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 3d20ff48e23..25e4b084433 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -490,18 +490,27 @@ "vmaddfp %0,%1,%2,%3" [(set_attr "type" "vecfloat")]) -;; The unspec here is a vec splat of 0. We do multiply as a fused -;; multiply-add with an add of a 0 vector. +;; We do multiply as a fused multiply-add with an add of a -0.0 vector. (define_expand "mulv4sf3" - [(set (match_dup 3) (unspec:V4SF [(const_int 0)] 142)) - (set (match_operand:V4SF 0 "register_operand" "=v") - (plus:V4SF (mult:V4SF (match_operand:V4SF 1 "register_operand" "v") - (match_operand:V4SF 2 "register_operand" "v")) - (match_dup 3)))] + [(use (match_operand:V4SF 0 "register_operand" "")) + (use (match_operand:V4SF 1 "register_operand" "")) + (use (match_operand:V4SF 2 "register_operand" ""))] "TARGET_ALTIVEC && TARGET_FUSED_MADD" " -{ operands[3] = gen_reg_rtx (V4SFmode); }") +{ + rtx neg0; + + /* Generate [-0.0, -0.0, -0.0, -0.0]. */ + neg0 = gen_reg_rtx (V4SFmode); + emit_insn (gen_altivec_vspltisw_v4sf (neg0, GEN_INT (-1))); + emit_insn (gen_altivec_vslw_v4sf (neg0, neg0, neg0)); + + /* Use the multiply-add. */ + emit_insn (gen_altivec_vmaddfp (operands[0], operands[1], operands[2], + neg0)); + DONE; +}") ;; Fused multiply subtract (define_insn "altivec_vnmsubfp" @@ -1043,6 +1052,14 @@ "vslw %0,%1,%2" [(set_attr "type" "vecsimple")]) +(define_insn "altivec_vslw_v4sf" + [(set (match_operand:V4SF 0 "register_operand" "=v") + (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v") + (match_operand:V4SF 2 "register_operand" "v")] 109))] + "TARGET_ALTIVEC" + "vslw %0,%1,%2" + [(set_attr "type" "vecsimple")]) + (define_insn "altivec_vsl" [(set (match_operand:V4SI 0 "register_operand" "=v") (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v") @@ -1316,7 +1333,7 @@ "vspltisw %0, %1" [(set_attr "type" "vecsimple")]) -(define_insn "" +(define_insn "altivec_vspltisw_v4sf" [(set (match_operand:V4SF 0 "register_operand" "=v") (unspec:V4SF [(match_operand:QI 1 "immediate_operand" "i")] 142))] "TARGET_ALTIVEC" @@ -1830,8 +1847,8 @@ (define_insn "absv16qi2" [(set (match_operand:V16QI 0 "register_operand" "=v") (abs:V16QI (match_operand:V16QI 1 "register_operand" "v"))) - (clobber (match_scratch:V16QI 2 "=v")) - (clobber (match_scratch:V16QI 3 "=v"))] + (clobber (match_scratch:V16QI 2 "=&v")) + (clobber (match_scratch:V16QI 3 "=&v"))] "TARGET_ALTIVEC" "vspltisb %2,0\;vsububm %3,%2,%1\;vmaxsb %0,%1,%3" [(set_attr "type" "altivec") @@ -1840,8 +1857,8 @@ (define_insn "absv8hi2" [(set (match_operand:V8HI 0 "register_operand" "=v") (abs:V8HI (match_operand:V8HI 1 "register_operand" "v"))) - (clobber (match_scratch:V8HI 2 "=v")) - (clobber (match_scratch:V8HI 3 "=v"))] + (clobber (match_scratch:V8HI 2 "=&v")) + (clobber (match_scratch:V8HI 3 "=&v"))] "TARGET_ALTIVEC" "vspltisb %2,0\;vsubuhm %3,%2,%1\;vmaxsh %0,%1,%3" [(set_attr "type" "altivec") @@ -1850,8 +1867,8 @@ (define_insn "absv4si2" [(set (match_operand:V4SI 0 "register_operand" "=v") (abs:V4SI (match_operand:V4SI 1 "register_operand" "v"))) - (clobber (match_scratch:V4SI 2 "=v")) - (clobber (match_scratch:V4SI 3 "=v"))] + (clobber (match_scratch:V4SI 2 "=&v")) + (clobber (match_scratch:V4SI 3 "=&v"))] "TARGET_ALTIVEC" "vspltisb %2,0\;vsubuwm %3,%2,%1\;vmaxsw %0,%1,%3" [(set_attr "type" "altivec") @@ -1860,8 +1877,8 @@ (define_insn "absv4sf2" [(set (match_operand:V4SF 0 "register_operand" "=v") (abs:V4SF (match_operand:V4SF 1 "register_operand" "v"))) - (clobber (match_scratch:V4SF 2 "=v")) - (clobber (match_scratch:V4SF 3 "=v"))] + (clobber (match_scratch:V4SF 2 "=&v")) + (clobber (match_scratch:V4SF 3 "=&v"))] "TARGET_ALTIVEC" "vspltisw %2, -1\;vslw %3,%2,%2\;vandc %0,%1,%3" [(set_attr "type" "altivec") @@ -1870,8 +1887,8 @@ (define_insn "altivec_abss_v16qi" [(set (match_operand:V16QI 0 "register_operand" "=v") (unspec:V16QI [(match_operand:V16QI 1 "register_operand" "v")] 210)) - (clobber (match_scratch:V16QI 2 "=v")) - (clobber (match_scratch:V16QI 3 "=v"))] + (clobber (match_scratch:V16QI 2 "=&v")) + (clobber (match_scratch:V16QI 3 "=&v"))] "TARGET_ALTIVEC" "vspltisb %2,0\;vsubsbs %3,%2,%1\;vmaxsb %0,%1,%3" [(set_attr "type" "altivec") @@ -1880,8 +1897,8 @@ (define_insn "altivec_abss_v8hi" [(set (match_operand:V8HI 0 "register_operand" "=v") (unspec:V8HI [(match_operand:V8HI 1 "register_operand" "v")] 211)) - (clobber (match_scratch:V8HI 2 "=v")) - (clobber (match_scratch:V8HI 3 "=v"))] + (clobber (match_scratch:V8HI 2 "=&v")) + (clobber (match_scratch:V8HI 3 "=&v"))] "TARGET_ALTIVEC" "vspltisb %2,0\;vsubshs %3,%2,%1\;vmaxsh %0,%1,%3" [(set_attr "type" "altivec") @@ -1890,8 +1907,8 @@ (define_insn "altivec_abss_v4si" [(set (match_operand:V4SI 0 "register_operand" "=v") (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")] 212)) - (clobber (match_scratch:V4SI 2 "=v")) - (clobber (match_scratch:V4SI 3 "=v"))] + (clobber (match_scratch:V4SI 2 "=&v")) + (clobber (match_scratch:V4SI 3 "=&v"))] "TARGET_ALTIVEC" "vspltisb %2,0\;vsubsws %3,%2,%1\;vmaxsw %0,%1,%3" [(set_attr "type" "altivec") diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index 73041a28775..b3468f2b66b 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -58,7 +58,9 @@ Boston, MA 02111-1307, USA. */ /* We want -fPIC by default, unless we're using -static to compile for the kernel or some such. */ -#define CC1_SPEC "%{!static:-fPIC}" +#define CC1_SPEC "\ +%{static: %{Zdynamic: %e conflicting code gen style switches are used}}\ +%{!static:-fPIC}" /* Make both r2 and r3 available for allocation. */ #define FIXED_R2 0 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 5c0ef2f6f30..a256e96774e 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -284,7 +284,9 @@ char rs6000_reg_names[][8] = "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", - "vrsave" + "vrsave", "vscr", + /* SPE registers. */ + "spe_acc", "spefscr" }; #ifdef TARGET_REGNAMES @@ -301,12 +303,14 @@ static const char alt_reg_names[][8] = "mq", "lr", "ctr", "ap", "%cr0", "%cr1", "%cr2", "%cr3", "%cr4", "%cr5", "%cr6", "%cr7", "xer", - /* AltiVec registers. */ + /* AltiVec registers. */ "%v0", "%v1", "%v2", "%v3", "%v4", "%v5", "%v6", "%v7", - "%v8", "%v9", "%v10", "%v11", "%v12", "%v13", "%v14", "%v15", - "%v16", "%v17", "%v18", "%v19", "%v20", "%v21", "%v22", "%v23", - "%v24", "%v25", "%v26", "%v27", "%v28", "%v29", "%v30", "%v31", - "vrsave" + "%v8", "%v9", "%v10", "%v11", "%v12", "%v13", "%v14", "%v15", + "%v16", "%v17", "%v18", "%v19", "%v20", "%v21", "%v22", "%v23", + "%v24", "%v25", "%v26", "%v27", "%v28", "%v29", "%v30", "%v31", + "vrsave", "vscr", + /* SPE registers. */ + "spe_acc", "spefscr" }; #endif @@ -12617,11 +12621,15 @@ rs6000_elf_encode_section_info (decl, first) && DEFAULT_ABI == ABI_V4 && TREE_CODE (decl) == VAR_DECL) { + rtx sym_ref = XEXP (DECL_RTL (decl), 0); int size = int_size_in_bytes (TREE_TYPE (decl)); tree section_name = DECL_SECTION_NAME (decl); const char *name = (char *)0; int len = 0; + if ((*targetm.binds_local_p) (decl)) + SYMBOL_REF_FLAG (sym_ref) = 1; + if (section_name) { if (TREE_CODE (section_name) == STRING_CST) @@ -12648,7 +12656,6 @@ rs6000_elf_encode_section_info (decl, first) || (len == sizeof (".PPC.EMB.sbss0") - 1 && strcmp (name, ".PPC.EMB.sbss0") == 0)))) { - rtx sym_ref = XEXP (DECL_RTL (decl), 0); size_t len = strlen (XSTR (sym_ref, 0)); char *str = alloca (len + 2); diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index e5e9e27cce9..fb3ee284726 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -611,6 +611,9 @@ extern int rs6000_default_long_calls; #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64 #endif +/* Work around rs6000_long_double_type_size dependency in ada/targtyps.c. */ +#define WIDEST_HARDWARE_FP_SIZE 64 + /* Width in bits of a pointer. See also the macro `Pmode' defined below. */ #define POINTER_SIZE (TARGET_32BIT ? 32 : 64) @@ -2723,8 +2726,8 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */ #define DEBUG_REGISTER_NAMES \ { \ - "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ - "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", \ + "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", \ "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", \ "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", \ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ @@ -2733,13 +2736,13 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */ "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ "mq", "lr", "ctr", "ap", \ "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", \ - "xer", \ + "xer", \ "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", \ "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", \ "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", \ "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31", \ - "vrsave", "vscr" \ - , "spe_acc", "spefscr" \ + "vrsave", "vscr", \ + "spe_acc", "spefscr" \ } /* Table of additional register names to use in user input. */ diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h index deecef6b969..44c4db29800 100644 --- a/gcc/config/s390/s390-protos.h +++ b/gcc/config/s390/s390-protos.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390. - Copyright (C) 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) This file is part of GNU CC. @@ -49,7 +49,7 @@ extern enum machine_mode s390_tm_ccmode PARAMS ((rtx, rtx, int)); extern enum machine_mode s390_select_ccmode PARAMS ((enum rtx_code, rtx, rtx)); extern int symbolic_reference_mentioned_p PARAMS ((rtx)); extern int legitimate_la_operand_p PARAMS ((rtx)); -extern int preferred_la_operand_p PARAMS ((rtx, int)); +extern int preferred_la_operand_p PARAMS ((rtx)); extern int legitimate_pic_operand_p PARAMS ((rtx)); extern int legitimate_constant_p PARAMS ((rtx)); extern int legitimate_reload_constant_p PARAMS ((rtx)); diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 3f6ec452b1c..1a0a48b6c52 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -1,5 +1,5 @@ /* Subroutines used for code generation on IBM S/390 and zSeries - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). @@ -1773,14 +1773,11 @@ legitimate_la_operand_p (op) } /* Return 1 if OP is a valid operand for the LA instruction, - and we prefer to use LA over addition to compute it. - If STRICT is true, only accept operands that will never - change to something we cannot recognize as preferred. */ + and we prefer to use LA over addition to compute it. */ int -preferred_la_operand_p (op, strict) +preferred_la_operand_p (op) register rtx op; - int strict; { struct s390_address addr; if (!s390_decompose_address (op, &addr)) @@ -1792,10 +1789,9 @@ preferred_la_operand_p (op, strict) if (addr.pointer) return TRUE; - if (!strict) - if ((addr.base && REG_P (addr.base) && REG_POINTER (addr.base)) - || (addr.indx && REG_P (addr.indx) && REG_POINTER (addr.indx))) - return TRUE; + if ((addr.base && REG_P (addr.base) && REG_POINTER (addr.base)) + || (addr.indx && REG_P (addr.indx) && REG_POINTER (addr.indx))) + return TRUE; return FALSE; } diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index 23721588c0f..f77c72f6741 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390 - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). This file is part of GNU CC. @@ -195,11 +195,13 @@ if (INTEGRAL_MODE_P (MODE) && \ #define ADDR_REGNO_P(N) ((N) >= 1 && (N) < 16) #define FP_REGNO_P(N) ((N) >= 16 && (N) < (TARGET_IEEE_FLOAT? 32 : 20)) #define CC_REGNO_P(N) ((N) == 33) +#define FRAME_REGNO_P(N) ((N) == 32 || (N) == 34) #define GENERAL_REG_P(X) (REG_P (X) && GENERAL_REGNO_P (REGNO (X))) #define ADDR_REG_P(X) (REG_P (X) && ADDR_REGNO_P (REGNO (X))) #define FP_REG_P(X) (REG_P (X) && FP_REGNO_P (REGNO (X))) #define CC_REG_P(X) (REG_P (X) && CC_REGNO_P (REGNO (X))) +#define FRAME_REG_P(X) (REG_P (X) && FRAME_REGNO_P (REGNO (X))) #define BASE_REGISTER 13 #define RETURN_REGNUM 14 @@ -314,6 +316,8 @@ do \ (HARD_REGNO_NREGS(REGNO, MODE) == 1 || !((REGNO) & 1)) : \ CC_REGNO_P(REGNO)? \ GET_MODE_CLASS (MODE) == MODE_CC : \ + FRAME_REGNO_P(REGNO)? \ + (enum machine_mode) (MODE) == Pmode : \ 0) #define MODES_TIEABLE_P(MODE1, MODE2) \ diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 197aa67ebcb..2e0770e52a0 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -1,5 +1,5 @@ ;;- Machine description for GNU compiler -- S/390 / zSeries version. -;; Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +;; Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and ;; Ulrich Weigand (uweigand@de.ibm.com). ;; This file is part of GNU CC. @@ -500,6 +500,31 @@ "ltr\\t%0,%0" [(set_attr "op_type" "RR")]) +(define_insn "*tsthiCCT" + [(set (reg 33) + (compare (match_operand:HI 0 "nonimmediate_operand" "?Q,d") + (match_operand:HI 1 "const0_operand" ""))) + (set (match_operand:HI 2 "register_operand" "=d,0") + (match_dup 0))] + "s390_match_ccmode(insn, CCTmode)" + "@ + icm\\t%2,3,%0 + tml\\t%0,65535" + [(set_attr "op_type" "RS,RI") + (set_attr "atype" "mem,reg")]) + +(define_insn "*tsthiCCT_cconly" + [(set (reg 33) + (compare (match_operand:HI 0 "nonimmediate_operand" "?Q,d") + (match_operand:HI 1 "const0_operand" ""))) + (clobber (match_scratch:HI 2 "=d,X"))] + "s390_match_ccmode(insn, CCTmode)" + "@ + icm\\t%2,3,%0 + tml\\t%0,65535" + [(set_attr "op_type" "RS,RI") + (set_attr "atype" "mem,reg")]) + (define_insn "*tsthi" [(set (reg 33) (compare (match_operand:HI 0 "s_operand" "Q") @@ -521,6 +546,30 @@ [(set_attr "op_type" "RS") (set_attr "atype" "mem")]) +(define_insn "*tstqiCCT" + [(set (reg 33) + (compare (match_operand:QI 0 "nonimmediate_operand" "?Q,d") + (match_operand:QI 1 "const0_operand" ""))) + (set (match_operand:QI 2 "register_operand" "=d,0") + (match_dup 0))] + "s390_match_ccmode(insn, CCTmode)" + "@ + icm\\t%2,1,%0 + tml\\t%0,255" + [(set_attr "op_type" "RS,RI") + (set_attr "atype" "mem,reg")]) + +(define_insn "*tstqiCCT_cconly" + [(set (reg 33) + (compare (match_operand:QI 0 "nonimmediate_operand" "?Q,d") + (match_operand:QI 1 "const0_operand" "")))] + "s390_match_ccmode(insn, CCTmode)" + "@ + cli\\t%0,0 + tml\\t%0,255" + [(set_attr "op_type" "SI,RI") + (set_attr "atype" "mem,reg")]) + (define_insn "*tstqi" [(set (reg 33) (compare (match_operand:QI 0 "s_operand" "Q") @@ -2837,25 +2886,6 @@ ; adddi3 instruction pattern(s). ; -(define_insn "*la_64_cc" - [(set (match_operand:DI 0 "register_operand" "=d") - (match_operand:QI 1 "address_operand" "p")) - (clobber (reg:CC 33))] - "TARGET_64BIT - && preferred_la_operand_p (operands[1], 1)" - "#" - [(set_attr "op_type" "RX") - (set_attr "atype" "mem") - (set_attr "type" "la")]) - -(define_split - [(set (match_operand:DI 0 "register_operand" "") - (match_operand:QI 1 "address_operand" "")) - (clobber (reg:CC 33))] - "TARGET_64BIT && reload_completed - && preferred_la_operand_p (operands[1], 0)" - [(set (match_dup 0) (match_dup 1))]) - (define_insn "*adddi3_sign" [(set (match_operand:DI 0 "register_operand" "=d,d") (plus:DI (sign_extend:DI (match_operand:SI 2 "general_operand" "d,m")) @@ -3025,6 +3055,32 @@ (set_attr "atype" "mem") (set_attr "type" "la")]) +(define_peephole2 + [(parallel + [(set (match_operand:DI 0 "register_operand" "") + (match_operand:QI 1 "address_operand" "")) + (clobber (reg:CC 33))])] + "TARGET_64BIT + && strict_memory_address_p (VOIDmode, operands[1]) + && preferred_la_operand_p (operands[1])" + [(set (match_dup 0) (match_dup 1))] + "") + +(define_peephole2 + [(set (match_operand:DI 0 "register_operand" "") + (match_operand:DI 1 "register_operand" "")) + (parallel + [(set (match_dup 0) + (plus:DI (match_dup 0) + (match_operand:DI 2 "nonmemory_operand" ""))) + (clobber (reg:CC 33))])] + "TARGET_64BIT + && !reg_overlap_mentioned_p (operands[0], operands[2]) + && strict_memory_address_p (VOIDmode, gen_rtx_PLUS (DImode, operands[1], operands[2])) + && preferred_la_operand_p (gen_rtx_PLUS (DImode, operands[1], operands[2]))" + [(set (match_dup 0) (plus:DI (match_dup 1) (match_dup 2)))] + "") + (define_expand "reload_indi" [(parallel [(match_operand:DI 0 "register_operand" "=a") (match_operand:DI 1 "s390_plus_operand" "") @@ -3041,25 +3097,6 @@ ; addsi3 instruction pattern(s). ; -(define_insn "*la_31_cc" - [(set (match_operand:SI 0 "register_operand" "=d") - (match_operand:QI 1 "address_operand" "p")) - (clobber (reg:CC 33))] - "!TARGET_64BIT - && preferred_la_operand_p (operands[1], 1)" - "#" - [(set_attr "op_type" "RX") - (set_attr "atype" "mem") - (set_attr "type" "la")]) - -(define_split - [(set (match_operand:SI 0 "register_operand" "") - (match_operand:QI 1 "address_operand" "")) - (clobber (reg:CC 33))] - "!TARGET_64BIT && reload_completed - && preferred_la_operand_p (operands[1], 0)" - [(set (match_dup 0) (match_dup 1))]) - (define_insn "*addsi3_imm_cc" [(set (reg 33) (compare (plus:SI (match_operand:SI 1 "nonimmediate_operand" "0") @@ -3208,6 +3245,32 @@ (set_attr "atype" "mem") (set_attr "type" "la")]) +(define_peephole2 + [(parallel + [(set (match_operand:SI 0 "register_operand" "") + (match_operand:QI 1 "address_operand" "")) + (clobber (reg:CC 33))])] + "!TARGET_64BIT + && strict_memory_address_p (VOIDmode, operands[1]) + && preferred_la_operand_p (operands[1])" + [(set (match_dup 0) (match_dup 1))] + "") + +(define_peephole2 + [(set (match_operand:SI 0 "register_operand" "") + (match_operand:SI 1 "register_operand" "")) + (parallel + [(set (match_dup 0) + (plus:SI (match_dup 0) + (match_operand:SI 2 "nonmemory_operand" ""))) + (clobber (reg:CC 33))])] + "!TARGET_64BIT + && !reg_overlap_mentioned_p (operands[0], operands[2]) + && strict_memory_address_p (VOIDmode, gen_rtx_PLUS (SImode, operands[1], operands[2])) + && preferred_la_operand_p (gen_rtx_PLUS (SImode, operands[1], operands[2]))" + [(set (match_dup 0) (plus:DI (match_dup 1) (match_dup 2)))] + "") + (define_insn "*la_31_and" [(set (match_operand:SI 0 "register_operand" "=d") (and:SI (match_operand:QI 1 "address_operand" "p") diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 75c9d263bfa..199dd30f70f 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -7355,14 +7355,14 @@ sh_initialize_trampoline (tramp, fnaddr, cxt) emit_insn (gen_mshflo_w_x (gen_rtx_SUBREG (V4HImode, quad0, 0), gen_rtx_SUBREG (V2HImode, fnaddr, 0), movishori)); - emit_insn (gen_rotldi3_mextr (quad0, quad0, + emit_insn (gen_rotrdi3_mextr (quad0, quad0, GEN_INT (TARGET_LITTLE_ENDIAN ? 24 : 56))); emit_insn (gen_ashldi3_media (quad0, quad0, GEN_INT (2))); emit_move_insn (gen_rtx_MEM (DImode, tramp), quad0); emit_insn (gen_mshflo_w_x (gen_rtx_SUBREG (V4HImode, cxtload, 0), gen_rtx_SUBREG (V2HImode, cxt, 0), movishori)); - emit_insn (gen_rotldi3_mextr (cxtload, cxtload, + emit_insn (gen_rotrdi3_mextr (cxtload, cxtload, GEN_INT (TARGET_LITTLE_ENDIAN ? 24 : 56))); emit_insn (gen_ashldi3_media (cxtload, cxtload, GEN_INT (2))); if (TARGET_LITTLE_ENDIAN) diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 57ebbb311af..38183adc9fc 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -2574,7 +2574,7 @@ while (0) /* Specify the machine mode that this machine uses for the index in the tablejump instruction. */ -#define CASE_VECTOR_MODE (TARGET_BIGTABLE ? SImode : HImode) +#define CASE_VECTOR_MODE ((! optimize || TARGET_BIGTABLE) ? SImode : HImode) #define CASE_VECTOR_SHORTEN_MODE(MIN_OFFSET, MAX_OFFSET, BODY) \ ((MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 127 \ @@ -3047,7 +3047,7 @@ while (0) /* Output an absolute table element. */ #define ASM_OUTPUT_ADDR_VEC_ELT(STREAM,VALUE) \ - if (TARGET_BIGTABLE) \ + if (! optimize || TARGET_BIGTABLE) \ asm_fprintf ((STREAM), "\t.long\t%LL%d\n", (VALUE)); \ else \ asm_fprintf ((STREAM), "\t.word\t%LL%d\n", (VALUE)); diff --git a/gcc/configure b/gcc/configure index 7c20fad4b86..63c1f718049 100755 --- a/gcc/configure +++ b/gcc/configure @@ -1291,10 +1291,7 @@ procedure conftest is begin null; end conftest; EOF gcc_cv_prog_adac=no # Have to do ac_tool_prefix and user overrides by hand. -user_adac=$ADAC -user_cc=$CC -for cand in ${ac_tool_prefix}$user_adac $user_adac \ - ${ac_tool_prefix}$user_cc $user_cc \ +for cand in ${ADAC+"$ADAC"} ${CC+"$CC"} \ ${ac_tool_prefix}gcc gcc \ ${ac_tool_prefix}cc cc \ ${ac_tool_prefix}gnatgcc gnatgcc \ @@ -1327,21 +1324,21 @@ fi echo $ac_n "checking whether ${CC-cc} accepts -Wno-long-long""... $ac_c" 1>&6 -echo "configure:1331: checking whether ${CC-cc} accepts -Wno-long-long" >&5 +echo "configure:1328: checking whether ${CC-cc} accepts -Wno-long-long" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_no_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else save_CFLAGS="$CFLAGS" CFLAGS="-Wno-long-long" cat > conftest.$ac_ext <<EOF -#line 1338 "configure" +#line 1335 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:1345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_prog_cc_no_long_long=yes else @@ -1358,7 +1355,7 @@ echo "$ac_t""$ac_cv_prog_cc_no_long_long" 1>&6 if test x$have_gnat != xno ; then echo $ac_n "checking whether ${ADAC} accepts -Wno-long-long""... $ac_c" 1>&6 -echo "configure:1362: checking whether ${ADAC} accepts -Wno-long-long" >&5 +echo "configure:1359: checking whether ${ADAC} accepts -Wno-long-long" >&5 if eval "test \"`echo '$''{'ac_cv_prog_adac_no_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1386,7 +1383,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1390: checking how to run the C preprocessor" >&5 +echo "configure:1387: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1401,13 +1398,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1405 "configure" +#line 1402 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1408: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1418,13 +1415,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1422 "configure" +#line 1419 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1428: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1435,13 +1432,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 1439 "configure" +#line 1436 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1442: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1466,21 +1463,21 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:1470: checking for inline" >&5 +echo "configure:1467: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 1477 "configure" +#line 1474 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:1484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -1506,19 +1503,19 @@ EOF esac echo $ac_n "checking for volatile""... $ac_c" 1>&6 -echo "configure:1510: checking for volatile" >&5 +echo "configure:1507: checking for volatile" >&5 if eval "test \"`echo '$''{'gcc_cv_c_volatile'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1515 "configure" +#line 1512 "configure" #include "confdefs.h" int main() { volatile int foo; ; return 0; } EOF -if { (eval echo configure:1522: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_c_volatile=yes else @@ -1540,7 +1537,7 @@ fi echo $ac_n "checking for long double""... $ac_c" 1>&6 -echo "configure:1544: checking for long double" >&5 +echo "configure:1541: checking for long double" >&5 if eval "test \"`echo '$''{'gcc_cv_c_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1548,7 +1545,7 @@ else gcc_cv_c_long_double=yes else cat > conftest.$ac_ext <<EOF -#line 1552 "configure" +#line 1549 "configure" #include "confdefs.h" int main() { @@ -1558,7 +1555,7 @@ long double foo = 0.0; switch (0) case 0: case (sizeof(long double) >= sizeof(double)):; ; return 0; } EOF -if { (eval echo configure:1562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1559: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_c_long_double=yes else @@ -1580,19 +1577,19 @@ EOF fi echo $ac_n "checking for long long int""... $ac_c" 1>&6 -echo "configure:1584: checking for long long int" >&5 +echo "configure:1581: checking for long long int" >&5 if eval "test \"`echo '$''{'ac_cv_c_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1589 "configure" +#line 1586 "configure" #include "confdefs.h" int main() { long long int i; ; return 0; } EOF -if { (eval echo configure:1596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_long_long=yes else @@ -1612,19 +1609,19 @@ EOF fi echo $ac_n "checking for __int64""... $ac_c" 1>&6 -echo "configure:1616: checking for __int64" >&5 +echo "configure:1613: checking for __int64" >&5 if eval "test \"`echo '$''{'ac_cv_c___int64'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1621 "configure" +#line 1618 "configure" #include "confdefs.h" int main() { __int64 i; ; return 0; } EOF -if { (eval echo configure:1628: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c___int64=yes else @@ -1645,19 +1642,19 @@ EOF fi echo $ac_n "checking for built-in _Bool""... $ac_c" 1>&6 -echo "configure:1649: checking for built-in _Bool" >&5 +echo "configure:1646: checking for built-in _Bool" >&5 if eval "test \"`echo '$''{'gcc_cv_c__bool'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1654 "configure" +#line 1651 "configure" #include "confdefs.h" int main() { _Bool foo; ; return 0; } EOF -if { (eval echo configure:1661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_c__bool=yes else @@ -1681,13 +1678,13 @@ fi # sizeof(char) is 1 by definition. echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:1685: checking size of short" >&5 +echo "configure:1682: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext <<EOF -#line 1691 "configure" +#line 1688 "configure" #include "confdefs.h" #include "confdefs.h" #include <sys/types.h> @@ -1697,7 +1694,7 @@ int main() { switch (0) case 0: case (sizeof (short) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:1701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1698: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof_short=$ac_size else @@ -1720,13 +1717,13 @@ EOF echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:1724: checking size of int" >&5 +echo "configure:1721: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext <<EOF -#line 1730 "configure" +#line 1727 "configure" #include "confdefs.h" #include "confdefs.h" #include <sys/types.h> @@ -1736,7 +1733,7 @@ int main() { switch (0) case 0: case (sizeof (int) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:1740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof_int=$ac_size else @@ -1759,13 +1756,13 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:1763: checking size of long" >&5 +echo "configure:1760: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext <<EOF -#line 1769 "configure" +#line 1766 "configure" #include "confdefs.h" #include "confdefs.h" #include <sys/types.h> @@ -1775,7 +1772,7 @@ int main() { switch (0) case 0: case (sizeof (long) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:1779: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof_long=$ac_size else @@ -1799,13 +1796,13 @@ EOF if test $ac_cv_c_long_long = yes; then echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:1803: checking size of long long" >&5 +echo "configure:1800: checking size of long long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext <<EOF -#line 1809 "configure" +#line 1806 "configure" #include "confdefs.h" #include "confdefs.h" #include <sys/types.h> @@ -1815,7 +1812,7 @@ int main() { switch (0) case 0: case (sizeof (long long) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:1819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof_long_long=$ac_size else @@ -1840,13 +1837,13 @@ EOF fi if test $ac_cv_c___int64 = yes; then echo $ac_n "checking size of __int64""... $ac_c" 1>&6 -echo "configure:1844: checking size of __int64" >&5 +echo "configure:1841: checking size of __int64" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof___int64'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext <<EOF -#line 1850 "configure" +#line 1847 "configure" #include "confdefs.h" #include "confdefs.h" #include <sys/types.h> @@ -1856,7 +1853,7 @@ int main() { switch (0) case 0: case (sizeof (__int64) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:1860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1857: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof___int64=$ac_size else @@ -1881,12 +1878,12 @@ EOF fi echo $ac_n "checking execution character set""... $ac_c" 1>&6 -echo "configure:1885: checking execution character set" >&5 +echo "configure:1882: checking execution character set" >&5 if eval "test \"`echo '$''{'ac_cv_c_charset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1890 "configure" +#line 1887 "configure" #include "confdefs.h" #if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \ && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 @@ -1902,7 +1899,7 @@ rm -f conftest* if test x${ac_cv_c_charset+set} != xset; then cat > conftest.$ac_ext <<EOF -#line 1906 "configure" +#line 1903 "configure" #include "confdefs.h" #if '\n' == 0x15 && ' ' == 0x40 && '0' == 0xF0 \ && 'A' == 0xC1 && 'a' == 0x81 && '!' == 0x5A @@ -1985,9 +1982,6 @@ no) ;; ;; esac -else - # Enable some checks by default for development versions of GCC -ac_checking=1; ac_tree_checking=1; ac_gc_checking=1; ac_rtlflag_checking=1; fi nocommon_flag="" @@ -2036,17 +2030,17 @@ if test x$ac_checking_valgrind != x ; then # GCC relies on making annotations so we must have both. ac_safe=`echo "valgrind.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for valgrind.h""... $ac_c" 1>&6 -echo "configure:2040: checking for valgrind.h" >&5 +echo "configure:2034: checking for valgrind.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2045 "configure" +#line 2039 "configure" #include "confdefs.h" #include <valgrind.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2050: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2044: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2071,7 +2065,7 @@ fi # Extract the first word of "valgrind", so it can be a program name with args. set dummy valgrind; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2075: checking for $ac_word" >&5 +echo "configure:2069: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_valgrind_path'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2274,7 +2268,7 @@ esac echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:2278: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:2272: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2302,7 +2296,7 @@ fi echo $ac_n "checking whether a default assembler was specified""... $ac_c" 1>&6 -echo "configure:2306: checking whether a default assembler was specified" >&5 +echo "configure:2300: checking whether a default assembler was specified" >&5 if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then if test x"$gas_flag" = x"no"; then echo "$ac_t""yes ($DEFAULT_ASSEMBLER)" 1>&6 @@ -2314,7 +2308,7 @@ else fi echo $ac_n "checking whether a default linker was specified""... $ac_c" 1>&6 -echo "configure:2318: checking whether a default linker was specified" >&5 +echo "configure:2312: checking whether a default linker was specified" >&5 if test x"${DEFAULT_LINKER+set}" = x"set"; then if test x"$gnu_ld_flag" = x"no"; then echo "$ac_t""yes ($DEFAULT_LINKER)" 1>&6 @@ -2326,12 +2320,12 @@ else fi echo $ac_n "checking for GNU C library""... $ac_c" 1>&6 -echo "configure:2330: checking for GNU C library" >&5 +echo "configure:2324: checking for GNU C library" >&5 if eval "test \"`echo '$''{'gcc_cv_glibc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2335 "configure" +#line 2329 "configure" #include "confdefs.h" #include <features.h> int main() { @@ -2341,7 +2335,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:2345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_glibc=yes else @@ -2362,12 +2356,12 @@ EOF fi # Find some useful tools -for ac_prog in gawk mawk nawk awk +for ac_prog in mawk gawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2371: checking for $ac_word" >&5 +echo "configure:2365: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2397,7 +2391,7 @@ test -n "$AWK" && break done echo $ac_n "checking whether ln works""... $ac_c" 1>&6 -echo "configure:2401: checking whether ln works" >&5 +echo "configure:2395: checking whether ln works" >&5 if eval "test \"`echo '$''{'gcc_cv_prog_LN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2429,7 +2423,7 @@ else fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:2433: checking whether ln -s works" >&5 +echo "configure:2427: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'gcc_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2463,7 +2457,7 @@ fi # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2467: checking for $ac_word" >&5 +echo "configure:2461: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2501,7 +2495,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:2505: checking for a BSD compatible install" >&5 +echo "configure:2499: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2552,12 +2546,12 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2556: checking for ANSI C header files" >&5 +echo "configure:2550: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2561 "configure" +#line 2555 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -2565,7 +2559,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2569: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2582,7 +2576,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 2586 "configure" +#line 2580 "configure" #include "confdefs.h" #include <string.h> EOF @@ -2600,7 +2594,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 2604 "configure" +#line 2598 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2621,7 +2615,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 2625 "configure" +#line 2619 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2632,7 +2626,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:2636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2656,12 +2650,12 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:2660: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:2654: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2665 "configure" +#line 2659 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -2670,7 +2664,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:2674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2668: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -2691,19 +2685,19 @@ EOF fi echo $ac_n "checking for working stdbool.h""... $ac_c" 1>&6 -echo "configure:2695: checking for working stdbool.h" >&5 +echo "configure:2689: checking for working stdbool.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdbool_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2700 "configure" +#line 2694 "configure" #include "confdefs.h" #include <stdbool.h> int main() { bool foo = false; ; return 0; } EOF -if { (eval echo configure:2707: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_stdbool_h=yes else @@ -2724,12 +2718,12 @@ EOF fi echo $ac_n "checking whether string.h and strings.h may both be included""... $ac_c" 1>&6 -echo "configure:2728: checking whether string.h and strings.h may both be included" >&5 +echo "configure:2722: checking whether string.h and strings.h may both be included" >&5 if eval "test \"`echo '$''{'gcc_cv_header_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2733 "configure" +#line 2727 "configure" #include "confdefs.h" #include <string.h> #include <strings.h> @@ -2737,7 +2731,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:2741: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2735: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_header_string=yes else @@ -2758,12 +2752,12 @@ EOF fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:2762: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:2756: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2767 "configure" +#line 2761 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -2779,7 +2773,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:2783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -2806,17 +2800,17 @@ for ac_hdr in limits.h stddef.h string.h strings.h stdlib.h time.h \ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2810: checking for $ac_hdr" >&5 +echo "configure:2804: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2815 "configure" +#line 2809 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2820: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2846,17 +2840,17 @@ done # Check for thread headers. ac_safe=`echo "thread.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for thread.h""... $ac_c" 1>&6 -echo "configure:2850: checking for thread.h" >&5 +echo "configure:2844: checking for thread.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2855 "configure" +#line 2849 "configure" #include "confdefs.h" #include <thread.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2880,17 +2874,17 @@ fi ac_safe=`echo "pthread.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for pthread.h""... $ac_c" 1>&6 -echo "configure:2884: checking for pthread.h" >&5 +echo "configure:2878: checking for pthread.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2889 "configure" +#line 2883 "configure" #include "confdefs.h" #include <pthread.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2894: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2888: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2915,12 +2909,12 @@ fi # These tests can't be done till we know if we have limits.h. echo $ac_n "checking for CHAR_BIT""... $ac_c" 1>&6 -echo "configure:2919: checking for CHAR_BIT" >&5 +echo "configure:2913: checking for CHAR_BIT" >&5 if eval "test \"`echo '$''{'gcc_cv_decl_char_bit'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2924 "configure" +#line 2918 "configure" #include "confdefs.h" #ifdef HAVE_LIMITS_H #include <limits.h> @@ -2945,7 +2939,7 @@ fi echo "$ac_t""$gcc_cv_decl_char_bit" 1>&6 if test $gcc_cv_decl_char_bit = no; then echo $ac_n "checking number of bits in a byte""... $ac_c" 1>&6 -echo "configure:2949: checking number of bits in a byte" >&5 +echo "configure:2943: checking number of bits in a byte" >&5 if eval "test \"`echo '$''{'gcc_cv_c_nbby'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2953,7 +2947,7 @@ else gcc_cv_c_nbby= while test $i -lt 65; do cat > conftest.$ac_ext <<EOF -#line 2957 "configure" +#line 2951 "configure" #include "confdefs.h" int main() { @@ -2963,7 +2957,7 @@ switch(0) { ; } ; return 0; } EOF -if { (eval echo configure:2967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2961: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_c_nbby=$i; break else @@ -2988,7 +2982,7 @@ EOF fi fi echo $ac_n "checking byte ordering""... $ac_c" 1>&6 -echo "configure:2992: checking byte ordering" >&5 +echo "configure:2986: checking byte ordering" >&5 if eval "test \"`echo '$''{'ac_cv_c_compile_endian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3002,7 +2996,7 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <<EOF -#line 3006 "configure" +#line 3000 "configure" #include "confdefs.h" #ifdef HAVE_LIMITS_H @@ -3022,7 +3016,7 @@ cat > conftest.$ac_ext <<EOF 'X', '\n' }; EOF -if { (eval echo configure:3026: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3020: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then od -c conftest.o | sed 's/^[0-7]*[ ]*/ / s/\*/./g @@ -3061,7 +3055,7 @@ EOF fi echo $ac_n "checking floating point format""... $ac_c" 1>&6 -echo "configure:3065: checking floating point format" >&5 +echo "configure:3059: checking floating point format" >&5 if eval "test \"`echo '$''{'ac_cv_c_float_format'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3074,7 +3068,7 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <<EOF -#line 3078 "configure" +#line 3072 "configure" #include "confdefs.h" /* This will not work unless sizeof(double) == 8. */ extern char sizeof_double_must_be_8 [sizeof(double) == 8 ? 1 : -1]; @@ -3096,7 +3090,7 @@ struct possibility table [] = C(-5.22995989424860458374e+10) /* IBMHEXFP - s/390 format, EBCDIC */ }; EOF -if { (eval echo configure:3100: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then od -c conftest.o | sed 's/^[0-7]*[ ]*/ / s/\*/./g @@ -3185,7 +3179,7 @@ fi # Extract the first word of "mktemp", so it can be a program name with args. set dummy mktemp; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3189: checking for $ac_word" >&5 +echo "configure:3183: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_have_mktemp_command'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3224,7 +3218,7 @@ else # Extract the first word of "makeinfo", so it can be a program name with args. set dummy makeinfo; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3228: checking for $ac_word" >&5 +echo "configure:3222: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3253,16 +3247,16 @@ fi if test -n "$MAKEINFO"; then # Found it, now check the version. echo $ac_n "checking for modern makeinfo""... $ac_c" 1>&6 -echo "configure:3257: checking for modern makeinfo" >&5 +echo "configure:3251: checking for modern makeinfo" >&5 if eval "test \"`echo '$''{'gcc_cv_prog_makeinfo_modern'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - echo "configure:3263: version of makeinfo is $ac_prog_version" >&5 + echo "configure:3257: version of makeinfo is $ac_prog_version" >&5 case $ac_prog_version in '') gcc_cv_prog_makeinfo_modern=no;; - 4.[1-9]*) + 4.[2-9]*) gcc_cv_prog_makeinfo_modern=yes;; *) gcc_cv_prog_makeinfo_modern=no;; esac @@ -3287,7 +3281,7 @@ fi # Is pod2man recent enough to regenerate manpages? echo $ac_n "checking for recent Pod::Man""... $ac_c" 1>&6 -echo "configure:3291: checking for recent Pod::Man" >&5 +echo "configure:3285: checking for recent Pod::Man" >&5 if (perl -e 'use 1.10 Pod::Man') >/dev/null 2>&1; then echo "$ac_t""yes" 1>&6 GENERATED_MANPAGES=generated-manpages @@ -3303,7 +3297,7 @@ else # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3307: checking for $ac_word" >&5 +echo "configure:3301: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3340,7 +3334,7 @@ else # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3344: checking for $ac_word" >&5 +echo "configure:3338: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3372,7 +3366,7 @@ fi # These libraries may be used by collect2. # We may need a special search path to get them linked. echo $ac_n "checking for collect2 libraries""... $ac_c" 1>&6 -echo "configure:3376: checking for collect2 libraries" >&5 +echo "configure:3370: checking for collect2 libraries" >&5 if eval "test \"`echo '$''{'gcc_cv_collect2_libs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3383,7 +3377,7 @@ for libs in '' -lld -lmld \ do LIBS="$libs" cat > conftest.$ac_ext <<EOF -#line 3387 "configure" +#line 3381 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3394,7 +3388,7 @@ int main() { ldopen() ; return 0; } EOF -if { (eval echo configure:3398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gcc_cv_collect2_libs="$libs"; break else @@ -3420,14 +3414,14 @@ save_LIBS="$LIBS" LIBS= echo $ac_n "checking for library containing exc_resume""... $ac_c" 1>&6 -echo "configure:3424: checking for library containing exc_resume" >&5 +echo "configure:3418: checking for library containing exc_resume" >&5 if eval "test \"`echo '$''{'ac_cv_search_exc_resume'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_exc_resume="no" cat > conftest.$ac_ext <<EOF -#line 3431 "configure" +#line 3425 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3438,7 +3432,7 @@ int main() { exc_resume() ; return 0; } EOF -if { (eval echo configure:3442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_exc_resume="none required" else @@ -3449,7 +3443,7 @@ rm -f conftest* test "$ac_cv_search_exc_resume" = "no" && for i in exc; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 3453 "configure" +#line 3447 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3460,7 +3454,7 @@ int main() { exc_resume() ; return 0; } EOF -if { (eval echo configure:3464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_exc_resume="-l$i" break @@ -3489,12 +3483,12 @@ LIBS="$save_LIBS" echo $ac_n "checking for preprocessor stringizing operator""... $ac_c" 1>&6 -echo "configure:3493: checking for preprocessor stringizing operator" >&5 +echo "configure:3487: checking for preprocessor stringizing operator" >&5 if eval "test \"`echo '$''{'ac_cv_c_stringize'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3498 "configure" +#line 3492 "configure" #include "confdefs.h" #define x(y) #y @@ -3527,12 +3521,12 @@ echo "$ac_t""${ac_cv_c_stringize}" 1>&6 # Use <inttypes.h> only if it exists, # doesn't clash with <sys/types.h>, and declares intmax_t. echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6 -echo "configure:3531: checking for inttypes.h" >&5 +echo "configure:3525: checking for inttypes.h" >&5 if eval "test \"`echo '$''{'gcc_cv_header_inttypes_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3536 "configure" +#line 3530 "configure" #include "confdefs.h" #include <sys/types.h> #include <inttypes.h> @@ -3540,7 +3534,7 @@ int main() { intmax_t i = -1; ; return 0; } EOF -if { (eval echo configure:3544: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3538: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_header_inttypes_h=yes else @@ -3567,12 +3561,12 @@ for ac_func in times clock dup2 kill getrlimit setrlimit atoll atoq \ scandir alphasort do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3571: checking for $ac_func" >&5 +echo "configure:3565: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3576 "configure" +#line 3570 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3595,7 +3589,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3621,12 +3615,12 @@ done echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:3625: checking for ssize_t" >&5 +echo "configure:3619: checking for ssize_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3630 "configure" +#line 3624 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3657,12 +3651,12 @@ fi # Try to determine the array type of the second argument of getgroups # for the target system (int or gid_t). echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3661: checking for uid_t in sys/types.h" >&5 +echo "configure:3655: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3666 "configure" +#line 3660 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -3691,7 +3685,7 @@ EOF fi echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6 -echo "configure:3695: checking type of array argument to getgroups" >&5 +echo "configure:3689: checking type of array argument to getgroups" >&5 if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3699,7 +3693,7 @@ else ac_cv_type_getgroups=cross else cat > conftest.$ac_ext <<EOF -#line 3703 "configure" +#line 3697 "configure" #include "confdefs.h" /* Thanks to Mike Rendell for this test. */ @@ -3724,7 +3718,7 @@ main() } EOF -if { (eval echo configure:3728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_type_getgroups=gid_t else @@ -3738,7 +3732,7 @@ fi if test $ac_cv_type_getgroups = cross; then cat > conftest.$ac_ext <<EOF -#line 3742 "configure" +#line 3736 "configure" #include "confdefs.h" #include <unistd.h> EOF @@ -3779,7 +3773,7 @@ fi echo $ac_n "checking whether the printf functions support %p""... $ac_c" 1>&6 -echo "configure:3783: checking whether the printf functions support %p" >&5 +echo "configure:3777: checking whether the printf functions support %p" >&5 if eval "test \"`echo '$''{'gcc_cv_func_printf_ptr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3787,7 +3781,7 @@ else gcc_cv_func_printf_ptr=no else cat > conftest.$ac_ext <<EOF -#line 3791 "configure" +#line 3785 "configure" #include "confdefs.h" #include <stdio.h> @@ -3800,7 +3794,7 @@ int main() return (p != q); } EOF -if { (eval echo configure:3804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gcc_cv_func_printf_ptr=yes else @@ -3838,12 +3832,12 @@ case "${host}" in ;; esac echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3842: checking for pid_t" >&5 +echo "configure:3836: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3847 "configure" +#line 3841 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3872,17 +3866,17 @@ fi ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:3876: checking for vfork.h" >&5 +echo "configure:3870: checking for vfork.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3881 "configure" +#line 3875 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3886: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3880: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3907,18 +3901,18 @@ else fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:3911: checking for working vfork" >&5 +echo "configure:3905: checking for working vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then echo $ac_n "checking for vfork""... $ac_c" 1>&6 -echo "configure:3917: checking for vfork" >&5 +echo "configure:3911: checking for vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3922 "configure" +#line 3916 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vfork(); below. */ @@ -3941,7 +3935,7 @@ vfork(); ; return 0; } EOF -if { (eval echo configure:3945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vfork=yes" else @@ -3963,7 +3957,7 @@ fi ac_cv_func_vfork_works=$ac_cv_func_vfork else cat > conftest.$ac_ext <<EOF -#line 3967 "configure" +#line 3961 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -4058,7 +4052,7 @@ main() { } } EOF -if { (eval echo configure:4062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_vfork_works=yes else @@ -4083,12 +4077,12 @@ fi for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4087: checking for $ac_func" >&5 +echo "configure:4081: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4092 "configure" +#line 4086 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4111,7 +4105,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4382,7 +4376,7 @@ main () EOF echo $ac_n "checking for working mmap from /dev/zero""... $ac_c" 1>&6 -echo "configure:4386: checking for working mmap from /dev/zero" >&5 +echo "configure:4380: checking for working mmap from /dev/zero" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_dev_zero'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4397,11 +4391,11 @@ else esac else cat > conftest.$ac_ext <<EOF -#line 4401 "configure" +#line 4395 "configure" #include "confdefs.h" #include "ct-mmap.inc" EOF -if { (eval echo configure:4405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_dev_zero=yes else @@ -4428,7 +4422,7 @@ EOF fi echo $ac_n "checking for working mmap with MAP_ANON(YMOUS)""... $ac_c" 1>&6 -echo "configure:4432: checking for working mmap with MAP_ANON(YMOUS)" >&5 +echo "configure:4426: checking for working mmap with MAP_ANON(YMOUS)" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_anon'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4441,12 +4435,12 @@ else esac else cat > conftest.$ac_ext <<EOF -#line 4445 "configure" +#line 4439 "configure" #include "confdefs.h" #define USE_MAP_ANON #include "ct-mmap.inc" EOF -if { (eval echo configure:4450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_anon=yes else @@ -4474,7 +4468,7 @@ fi rm -f ct-mmap.inc echo $ac_n "checking for working mmap of a file""... $ac_c" 1>&6 -echo "configure:4478: checking for working mmap of a file" >&5 +echo "configure:4472: checking for working mmap of a file" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_file'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4492,7 +4486,7 @@ if test "$cross_compiling" = yes; then esac else cat > conftest.$ac_ext <<EOF -#line 4496 "configure" +#line 4490 "configure" #include "confdefs.h" /* Test by Zack Weinberg. Modified from MMAP_ANYWHERE test by @@ -4529,7 +4523,7 @@ int main() exit(0); } EOF -if { (eval echo configure:4533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_file=yes else @@ -4568,7 +4562,7 @@ fi echo $ac_n "checking for iconv""... $ac_c" 1>&6 -echo "configure:4572: checking for iconv" >&5 +echo "configure:4566: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4576,7 +4570,7 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext <<EOF -#line 4580 "configure" +#line 4574 "configure" #include "confdefs.h" #include <stdlib.h> #include <iconv.h> @@ -4586,7 +4580,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:4590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else @@ -4598,7 +4592,7 @@ rm -f conftest* am_save_LIBS="$LIBS" LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" cat > conftest.$ac_ext <<EOF -#line 4602 "configure" +#line 4596 "configure" #include "confdefs.h" #include <stdlib.h> #include <iconv.h> @@ -4608,7 +4602,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:4612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes @@ -4629,13 +4623,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6 EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 -echo "configure:4633: checking for iconv declaration" >&5 +echo "configure:4627: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4639 "configure" +#line 4633 "configure" #include "confdefs.h" #include <stdlib.h> @@ -4654,7 +4648,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:4658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else @@ -4692,12 +4686,12 @@ for ac_func in getenv atol sbrk abort atof getcwd getwd \ do ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` echo $ac_n "checking whether $ac_func is declared""... $ac_c" 1>&6 -echo "configure:4696: checking whether $ac_func is declared" >&5 +echo "configure:4690: checking whether $ac_func is declared" >&5 if eval "test \"`echo '$''{'gcc_cv_have_decl_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4701 "configure" +#line 4695 "configure" #include "confdefs.h" #undef $ac_tr_decl #define $ac_tr_decl 1 @@ -4711,7 +4705,7 @@ char *(*pfn) = (char *(*)) $ac_func ; #endif ; return 0; } EOF -if { (eval echo configure:4715: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "gcc_cv_have_decl_$ac_func=yes" else @@ -4813,12 +4807,12 @@ for ac_func in getrlimit setrlimit getrusage do ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` echo $ac_n "checking whether $ac_func is declared""... $ac_c" 1>&6 -echo "configure:4817: checking whether $ac_func is declared" >&5 +echo "configure:4811: checking whether $ac_func is declared" >&5 if eval "test \"`echo '$''{'gcc_cv_have_decl_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4822 "configure" +#line 4816 "configure" #include "confdefs.h" #undef $ac_tr_decl #define $ac_tr_decl 1 @@ -4836,7 +4830,7 @@ char *(*pfn) = (char *(*)) $ac_func ; #endif ; return 0; } EOF -if { (eval echo configure:4840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4834: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "gcc_cv_have_decl_$ac_func=yes" else @@ -4878,12 +4872,12 @@ for ac_func in times do ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` echo $ac_n "checking whether $ac_func is declared""... $ac_c" 1>&6 -echo "configure:4882: checking whether $ac_func is declared" >&5 +echo "configure:4876: checking whether $ac_func is declared" >&5 if eval "test \"`echo '$''{'gcc_cv_have_decl_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4887 "configure" +#line 4881 "configure" #include "confdefs.h" #undef $ac_tr_decl #define $ac_tr_decl 1 @@ -4901,7 +4895,7 @@ char *(*pfn) = (char *(*)) $ac_func ; #endif ; return 0; } EOF -if { (eval echo configure:4905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4899: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "gcc_cv_have_decl_$ac_func=yes" else @@ -4935,13 +4929,13 @@ fi # More time-related stuff. echo $ac_n "checking for struct tms""... $ac_c" 1>&6 -echo "configure:4939: checking for struct tms" >&5 +echo "configure:4933: checking for struct tms" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tms'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4945 "configure" +#line 4939 "configure" #include "confdefs.h" #include "ansidecl.h" @@ -4954,7 +4948,7 @@ int main() { struct tms tms; ; return 0; } EOF -if { (eval echo configure:4958: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4952: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tms=yes else @@ -4977,13 +4971,13 @@ fi # use gcc_cv_* here because this doesn't match the behavior of AC_CHECK_TYPE. # revisit after autoconf 2.50. echo $ac_n "checking for clock_t""... $ac_c" 1>&6 -echo "configure:4981: checking for clock_t" >&5 +echo "configure:4975: checking for clock_t" >&5 if eval "test \"`echo '$''{'gcc_cv_type_clock_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4987 "configure" +#line 4981 "configure" #include "confdefs.h" #include "ansidecl.h" @@ -4993,7 +4987,7 @@ int main() { clock_t x; ; return 0; } EOF -if { (eval echo configure:4997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4991: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_type_clock_t=yes else @@ -5019,7 +5013,7 @@ if test "${enable_initfini_array+set}" = set; then gcc_cv_initfinit_array=$enableval else echo $ac_n "checking for .preinit_array/.init_array/.fini_array support""... $ac_c" 1>&6 -echo "configure:5023: checking for .preinit_array/.init_array/.fini_array support" >&5 +echo "configure:5017: checking for .preinit_array/.init_array/.fini_array support" >&5 if eval "test \"`echo '$''{'gcc_cv_initfinit_array'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5029,7 +5023,7 @@ int main (void) { return x; } int foo (void) { x = 0; } int (*fp) (void) __attribute__ ((section (".init_array"))) = foo; EOF - if { ac_try='${CC-cc} -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD'; { (eval echo configure:5033: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } + if { ac_try='${CC-cc} -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD'; { (eval echo configure:5027: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } then if ./conftest; then gcc_cv_initfinit_array=yes @@ -5058,12 +5052,12 @@ CFLAGS="$saved_CFLAGS" # mkdir takes a single argument on some systems. echo $ac_n "checking if mkdir takes one argument""... $ac_c" 1>&6 -echo "configure:5062: checking if mkdir takes one argument" >&5 +echo "configure:5056: checking if mkdir takes one argument" >&5 if eval "test \"`echo '$''{'gcc_cv_mkdir_takes_one_arg'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5067 "configure" +#line 5061 "configure" #include "confdefs.h" #include <sys/types.h> @@ -5080,7 +5074,7 @@ int main() { mkdir ("foo", 0); ; return 0; } EOF -if { (eval echo configure:5084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gcc_cv_mkdir_takes_one_arg=no else @@ -5348,14 +5342,14 @@ fi echo $ac_n "checking for library containing strerror""... $ac_c" 1>&6 -echo "configure:5352: checking for library containing strerror" >&5 +echo "configure:5346: checking for library containing strerror" >&5 if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_strerror="no" cat > conftest.$ac_ext <<EOF -#line 5359 "configure" +#line 5353 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5366,7 +5360,7 @@ int main() { strerror() ; return 0; } EOF -if { (eval echo configure:5370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="none required" else @@ -5377,7 +5371,7 @@ rm -f conftest* test "$ac_cv_search_strerror" = "no" && for i in cposix; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 5381 "configure" +#line 5375 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5388,7 +5382,7 @@ int main() { strerror() ; return 0; } EOF -if { (eval echo configure:5392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="-l$i" break @@ -5411,12 +5405,12 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:5415: checking for working const" >&5 +echo "configure:5409: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5420 "configure" +#line 5414 "configure" #include "confdefs.h" int main() { @@ -5465,7 +5459,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:5469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -5486,12 +5480,12 @@ EOF fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:5490: checking for off_t" >&5 +echo "configure:5484: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5495 "configure" +#line 5489 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -5519,12 +5513,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:5523: checking for size_t" >&5 +echo "configure:5517: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5528 "configure" +#line 5522 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -5554,19 +5548,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:5558: checking for working alloca.h" >&5 +echo "configure:5552: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5563 "configure" +#line 5557 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:5570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -5587,12 +5581,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:5591: checking for alloca" >&5 +echo "configure:5585: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5596 "configure" +#line 5590 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -5620,7 +5614,7 @@ int main() { char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:5624: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -5652,12 +5646,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:5656: checking whether alloca needs Cray hooks" >&5 +echo "configure:5650: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5661 "configure" +#line 5655 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -5682,12 +5676,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5686: checking for $ac_func" >&5 +echo "configure:5680: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5691 "configure" +#line 5685 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5710,7 +5704,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5737,7 +5731,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:5741: checking stack direction for C alloca" >&5 +echo "configure:5735: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5745,7 +5739,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <<EOF -#line 5749 "configure" +#line 5743 "configure" #include "confdefs.h" find_stack_direction () { @@ -5764,7 +5758,7 @@ main () exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:5768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -5787,12 +5781,12 @@ fi echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 -echo "configure:5791: checking whether we are using the GNU C Library 2.1 or newer" >&5 +echo "configure:5785: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5796 "configure" +#line 5790 "configure" #include "confdefs.h" #include <features.h> @@ -5828,17 +5822,17 @@ stdlib.h string.h unistd.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5832: checking for $ac_hdr" >&5 +echo "configure:5826: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5837 "configure" +#line 5831 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5842: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5836: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5869,12 +5863,12 @@ getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ strdup strtoul tsearch __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5873: checking for $ac_func" >&5 +echo "configure:5867: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5878 "configure" +#line 5872 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5897,7 +5891,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5938,7 +5932,7 @@ fi echo $ac_n "checking for iconv""... $ac_c" 1>&6 -echo "configure:5942: checking for iconv" >&5 +echo "configure:5936: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5946,7 +5940,7 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext <<EOF -#line 5950 "configure" +#line 5944 "configure" #include "confdefs.h" #include <stdlib.h> #include <iconv.h> @@ -5956,7 +5950,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:5960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else @@ -5968,7 +5962,7 @@ rm -f conftest* am_save_LIBS="$LIBS" LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" cat > conftest.$ac_ext <<EOF -#line 5972 "configure" +#line 5966 "configure" #include "confdefs.h" #include <stdlib.h> #include <iconv.h> @@ -5978,7 +5972,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:5982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes @@ -5999,13 +5993,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6 EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 -echo "configure:6003: checking for iconv declaration" >&5 +echo "configure:5997: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6009 "configure" +#line 6003 "configure" #include "confdefs.h" #include <stdlib.h> @@ -6024,7 +6018,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:6028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6022: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else @@ -6053,19 +6047,19 @@ EOF echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 -echo "configure:6057: checking for nl_langinfo and CODESET" >&5 +echo "configure:6051: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6062 "configure" +#line 6056 "configure" #include "confdefs.h" #include <langinfo.h> int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF -if { (eval echo configure:6069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else @@ -6088,19 +6082,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:6092: checking for LC_MESSAGES" >&5 +echo "configure:6086: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6097 "configure" +#line 6091 "configure" #include "confdefs.h" #include <locale.h> int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:6104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -6121,7 +6115,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:6125: checking whether NLS is requested" >&5 +echo "configure:6119: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -6144,7 +6138,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:6148: checking whether included gettext is requested" >&5 +echo "configure:6142: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -6164,17 +6158,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:6168: checking for libintl.h" >&5 +echo "configure:6162: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6173 "configure" +#line 6167 "configure" #include "confdefs.h" #include <libintl.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6195,12 +6189,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then EOF echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 -echo "configure:6199: checking for GNU gettext in libc" >&5 +echo "configure:6193: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6204 "configure" +#line 6198 "configure" #include "confdefs.h" #include <libintl.h> extern int _nl_msg_cat_cntr; @@ -6209,7 +6203,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:6213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else @@ -6225,14 +6219,14 @@ echo "$ac_t""$gt_cv_func_gnugettext1_libc" 1>&6 if test "$gt_cv_func_gnugettext1_libc" != "yes"; then echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 -echo "configure:6229: checking for GNU gettext in libintl" >&5 +echo "configure:6223: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -lintl $LIBICONV" cat > conftest.$ac_ext <<EOF -#line 6236 "configure" +#line 6230 "configure" #include "confdefs.h" #include <libintl.h> extern int _nl_msg_cat_cntr; @@ -6241,7 +6235,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:6245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else @@ -6274,12 +6268,12 @@ EOF for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6278: checking for $ac_func" >&5 +echo "configure:6272: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6283 "configure" +#line 6277 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6302,7 +6296,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6331,7 +6325,7 @@ done # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6335: checking for $ac_word" >&5 +echo "configure:6329: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6365,7 +6359,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6369: checking for $ac_word" >&5 +echo "configure:6363: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6402,7 +6396,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6406: checking for $ac_word" >&5 +echo "configure:6400: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6452,7 +6446,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6456: checking for $ac_word" >&5 +echo "configure:6450: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6486,7 +6480,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6490: checking for $ac_word" >&5 +echo "configure:6484: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6522,7 +6516,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6526: checking for $ac_word" >&5 +echo "configure:6520: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6594,7 +6588,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6598: checking for $ac_word" >&5 +echo "configure:6592: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6627,7 +6621,7 @@ done ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 -echo "configure:6631: checking version of bison" >&5 +echo "configure:6625: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -6672,7 +6666,7 @@ EOF if test "x$CATOBJEXT" != x; then echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:6676: checking for catalogs to be installed" >&5 +echo "configure:6670: checking for catalogs to be installed" >&5 # Look for .po and .gmo files in the source directory. CATALOGS= XLINGUAS= @@ -6730,7 +6724,7 @@ fi case $host_os in win32 | pe | cygwin* | mingw32* | uwin*) echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6 -echo "configure:6734: checking whether windows registry support is requested" >&5 +echo "configure:6728: checking whether windows registry support is requested" >&5 if test "x$enable_win32_registry" != xno; then cat >> confdefs.h <<\EOF #define ENABLE_WIN32_REGISTRY 1 @@ -6739,14 +6733,14 @@ EOF echo "$ac_t""yes" 1>&6 echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6 -echo "configure:6743: checking for library containing RegOpenKeyExA" >&5 +echo "configure:6737: checking for library containing RegOpenKeyExA" >&5 if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_RegOpenKeyExA="no" cat > conftest.$ac_ext <<EOF -#line 6750 "configure" +#line 6744 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6757,7 +6751,7 @@ int main() { RegOpenKeyExA() ; return 0; } EOF -if { (eval echo configure:6761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="none required" else @@ -6768,7 +6762,7 @@ rm -f conftest* test "$ac_cv_search_RegOpenKeyExA" = "no" && for i in advapi32; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 6772 "configure" +#line 6766 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6779,7 +6773,7 @@ int main() { RegOpenKeyExA() ; return 0; } EOF -if { (eval echo configure:6783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="-l$i" break @@ -6821,7 +6815,7 @@ esac if test "x$enable_win32_registry" != xno; then echo $ac_n "checking registry key on windows hosts""... $ac_c" 1>&6 -echo "configure:6825: checking registry key on windows hosts" >&5 +echo "configure:6819: checking registry key on windows hosts" >&5 cat >> confdefs.h <<EOF #define WIN32_REGISTRY_KEY "$gcc_cv_win32_registry_key" EOF @@ -7035,7 +7029,7 @@ fi # Figure out what assembler we will be using. echo $ac_n "checking what assembler to use""... $ac_c" 1>&6 -echo "configure:7039: checking what assembler to use" >&5 +echo "configure:7033: checking what assembler to use" >&5 gcc_cv_as= gcc_cv_gas_major_version= gcc_cv_gas_minor_version= @@ -7129,7 +7123,7 @@ fi # Figure out what linker we will be using. echo $ac_n "checking what linker to use""... $ac_c" 1>&6 -echo "configure:7133: checking what linker to use" >&5 +echo "configure:7127: checking what linker to use" >&5 gcc_cv_ld= gcc_cv_gld_major_version= gcc_cv_gld_minor_version= @@ -7222,7 +7216,7 @@ fi # Figure out what nm we will be using. echo $ac_n "checking what nm to use""... $ac_c" 1>&6 -echo "configure:7226: checking what nm to use" >&5 +echo "configure:7220: checking what nm to use" >&5 if test -x nm$host_exeext; then gcc_cv_nm=./nm$host_exeext elif test "x$program_prefix" != xNONE; then @@ -7234,7 +7228,7 @@ echo "$ac_t""$gcc_cv_nm" 1>&6 # Figure out what objdump we will be using. echo $ac_n "checking what objdump to use""... $ac_c" 1>&6 -echo "configure:7238: checking what objdump to use" >&5 +echo "configure:7232: checking what objdump to use" >&5 if test -x objdump$host_exeext; then gcc_cv_objdump=./objdump$host_exeext elif test "x$program_prefix" != xNONE; then @@ -7246,7 +7240,7 @@ echo "$ac_t""$gcc_cv_objdump" 1>&6 # Figure out what assembler alignment features are present. echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6 -echo "configure:7250: checking assembler alignment features" >&5 +echo "configure:7244: checking assembler alignment features" >&5 gcc_cv_as_alignment_features=none if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then # Gas version 2.6 and later support for .balign and .p2align. @@ -7294,7 +7288,7 @@ fi echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6 echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6 -echo "configure:7298: checking assembler subsection support" >&5 +echo "configure:7292: checking assembler subsection support" >&5 gcc_cv_as_subsections=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7334,7 +7328,7 @@ fi echo "$ac_t""$gcc_cv_as_subsections" 1>&6 echo $ac_n "checking assembler weak support""... $ac_c" 1>&6 -echo "configure:7338: checking assembler weak support" >&5 +echo "configure:7332: checking assembler weak support" >&5 gcc_cv_as_weak=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then @@ -7357,7 +7351,7 @@ fi echo "$ac_t""$gcc_cv_as_weak" 1>&6 echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6 -echo "configure:7361: checking assembler hidden support" >&5 +echo "configure:7355: checking assembler hidden support" >&5 gcc_cv_as_hidden=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 \ @@ -7418,10 +7412,14 @@ fi echo "$ac_t""$gcc_cv_as_hidden" 1>&6 libgcc_visibility=$gcc_cv_as_hidden case "$target" in - mips-sgi-irix6*o32) + mips-sgi-irix6*) if test x"$gnu_ld_flag" = x"no"; then # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. + # cannot be linked with the IRIX 6 O32 linker. With the N32 and + # N64 linkers, the problem is that the linker refuses to accept + # -call_shared (passed by default to the linker) and -r (used to + # link the object file generated without .hidden directives with + # one that hides symbols), so we also lose. libgcc_visibility=no fi ;; @@ -7429,7 +7427,7 @@ esac echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6 -echo "configure:7433: checking assembler leb128 support" >&5 +echo "configure:7431: checking assembler leb128 support" >&5 gcc_cv_as_leb128=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7474,7 +7472,7 @@ fi echo "$ac_t""$gcc_cv_as_leb128" 1>&6 echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6 -echo "configure:7478: checking assembler eh_frame optimization" >&5 +echo "configure:7476: checking assembler eh_frame optimization" >&5 gcc_cv_as_eh_frame=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7555,7 +7553,7 @@ fi echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6 echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6 -echo "configure:7559: checking assembler section merging support" >&5 +echo "configure:7557: checking assembler section merging support" >&5 gcc_cv_as_shf_merge=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7578,7 +7576,7 @@ fi echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6 echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6 -echo "configure:7582: checking assembler thread-local storage support" >&5 +echo "configure:7580: checking assembler thread-local storage support" >&5 gcc_cv_as_tls=no conftest_s= tls_first_major= @@ -7686,7 +7684,7 @@ case "$target" in # All TARGET_ABI_OSF targets. alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*) echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6 -echo "configure:7690: checking assembler supports explicit relocations" >&5 +echo "configure:7688: checking assembler supports explicit relocations" >&5 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7736,7 +7734,7 @@ EOF ;; sparc*-*-*) echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6 -echo "configure:7740: checking assembler .register pseudo-op support" >&5 +echo "configure:7738: checking assembler .register pseudo-op support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7764,7 +7762,7 @@ EOF fi echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6 -echo "configure:7768: checking assembler supports -relax" >&5 +echo "configure:7766: checking assembler supports -relax" >&5 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7792,7 +7790,7 @@ EOF fi echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6 -echo "configure:7796: checking assembler and linker support unaligned pc related relocs" >&5 +echo "configure:7794: checking assembler and linker support unaligned pc related relocs" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7819,7 +7817,7 @@ EOF fi echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6 -echo "configure:7823: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 +echo "configure:7821: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7859,7 +7857,7 @@ EOF fi echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 -echo "configure:7863: checking for assembler offsetable %lo() support" >&5 +echo "configure:7861: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7898,7 +7896,7 @@ EOF i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 -echo "configure:7902: checking assembler instructions" >&5 +echo "configure:7900: checking assembler instructions" >&5 gcc_cv_as_instructions= if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then @@ -7925,7 +7923,7 @@ EOF echo "$ac_t""$gcc_cv_as_instructions" 1>&6 echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 -echo "configure:7929: checking assembler GOTOFF in data directives" >&5 +echo "configure:7927: checking assembler GOTOFF in data directives" >&5 gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x then @@ -7955,7 +7953,7 @@ EOF esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 -echo "configure:7959: checking assembler dwarf2 debug_line support" >&5 +echo "configure:7957: checking assembler dwarf2 debug_line support" >&5 gcc_cv_as_dwarf2_debug_line=no # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any @@ -8012,7 +8010,7 @@ fi echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 -echo "configure:8016: checking assembler --gdwarf2 support" >&5 +echo "configure:8014: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then @@ -8041,7 +8039,7 @@ fi echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 -echo "configure:8045: checking assembler --gstabs support" >&5 +echo "configure:8043: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then @@ -8069,7 +8067,7 @@ fi echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6 -echo "configure:8073: checking linker read-only and read-write section mixing" >&5 +echo "configure:8071: checking linker read-only and read-write section mixing" >&5 gcc_cv_ld_ro_rw_mix=unknown if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then @@ -8107,7 +8105,7 @@ fi echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 -echo "configure:8111: checking linker PT_GNU_EH_FRAME support" >&5 +echo "configure:8109: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then @@ -8131,7 +8129,7 @@ echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1>&6 case "$target" in mips*-*-*) echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6 -echo "configure:8135: checking whether libgloss uses STARTUP directives consistently" >&5 +echo "configure:8133: checking whether libgloss uses STARTUP directives consistently" >&5 gcc_cv_mips_libgloss_startup=no gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss if test "x$exec_prefix" = xNONE; then @@ -8335,7 +8333,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:8339: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:8337: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" diff --git a/gcc/configure.in b/gcc/configure.in index c0afb232296..f6d97f58c59 100644 --- a/gcc/configure.in +++ b/gcc/configure.in @@ -1,7 +1,8 @@ # configure.in for GCC # Process this file with autoconf to generate a configuration script. -# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. #This file is part of GCC. @@ -300,8 +301,7 @@ no) ;; ;; esac ], -# Enable some checks by default for development versions of GCC -[ac_checking=1; ac_tree_checking=1; ac_gc_checking=1; ac_rtlflag_checking=1;]) +[]) nocommon_flag="" if test x$ac_checking != x ; then AC_DEFINE(ENABLE_CHECKING, 1, @@ -573,7 +573,7 @@ else # that we can use it. gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version, [GNU texinfo.* \([0-9][0-9.]*\)], - [4.[1-9]*]) + [4.[2-9]*]) fi if test $gcc_cv_prog_makeinfo_modern = no; then @@ -1633,10 +1633,14 @@ fi AC_MSG_RESULT($gcc_cv_as_hidden) libgcc_visibility=$gcc_cv_as_hidden case "$target" in - mips-sgi-irix6*o32) + mips-sgi-irix6*) if test x"$gnu_ld_flag" = x"no"; then # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. + # cannot be linked with the IRIX 6 O32 linker. With the N32 and + # N64 linkers, the problem is that the linker refuses to accept + # -call_shared (passed by default to the linker) and -r (used to + # link the object file generated without .hidden directives with + # one that hides symbols), so we also lose. libgcc_visibility=no fi ;; diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 096b906a633..4407a9fa508 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,162 @@ +2003-01-22 Mark Mitchell <mark@codesourcery.com> + + PR c++/9328 + * error.c (dump_decl): For an OVERLOAD, just print the name of the + function; it doesn't make sense to try to print its type. + * semantics.c (finish_typeof): Issue errors about invalid uses. + +2003-01-22 Josef Zlomek <zlomekj@suse.cz> + + PR/9386, PR/8801 + 2002-12-27 Mark Mitchell <mark@codesourcery.com> + * typeck.c (build_class_member_access_expr): Fix anonymous union + handling. + +2003-01-17 Jason Merrill <jason@redhat.com> + + PR c++/9167, c++/9358 + * decl.c (require_complete_types_for_parms): Also update DECL_ARG_TYPE. + +2003-01-17 Jason Merrill <jason@redhat.com> + + PR c++/9342 + * call.c (build_conditional_expr): Always do lvalue-rvalue + conversion. + +2003-01-16 Jason Merrill <jason@redhat.com> + + PR c++/8564 + * init.c (build_vec_init): Re-add maxindex parm. + (perform_member_init, build_aggr_init): Pass it. + (build_new_1): Pass it. Use an incomplete array type for full_type. + * typeck.c (build_modify_expr): Pass it. + * cp-tree.h: Adjust. + +2003-01-13 Jason Merrill <jason@redhat.com> + + PR c++/8748 + * class.c (build_base_path): Take the address before calling save_expr. + + * call.c (build_user_type_conversion_1): Do set ICS_BAD_FLAG if + all the ambiguous conversions are bad. + + * class.c (maybe_warn_about_overly_private_class): Don't stop + searching when we find a nonprivate method. + +2003-01-09 Jakub Jelinek <jakub@redhat.com> + + * decl.c (start_decl): Only check DECL_THREAD_LOCAL for VAR_DECLs. + +2003-01-09 Jakub Jelinek <jakub@redhat.com> + + * decl.c (start_decl): Don't set DECL_COMMON for __thread variables. + +2003-01-07 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/9030 + * decl.c (make_typename_type): Check access only when tf_error. + (make_unbound_class_template): Likewise. + * pt.c (saved_access_scope): New variable. + (push_access_scope_real): New function. + (push_access_scope): Likewise. + (pop_access_scope): Likewise. + (tsubst_default_argument): Use them. + (instantiate_template): Likewise. + (regenerate_decl_from_template): Likewise. + (instantiate_decl): Likewise. + (get_mostly_instantiated_function_type): Likewise. + +2003-01-06 Mark Mitchell <mark@codesourcery.com> + + PR c++/9165 + * decl2.c (build_cleanup): Mark the object as used. + +2003-01-03 Nathan Sidwell <nathan@codesourcery.com> + + PR c++/45, c++/3784 + * tree.c (cp_tree_equal, TEMPLATE_PARM_INDEX): The types must be + the same too. + +2002-12-30 Nathan Sidwell <nathan@codesourcery.com> + + PR c++/9054 + * class.c (layout_class_type): Set DECL_CONTEXT of type for base. + * dump.c (cp_dump_tree, RECORD_TYPE): Deal with type for base types. + +2002-12-26 Nathan Sidwell <nathan@codesourcery.com> + + PR c++/4803 + * decl2.c (mark_used): Defer inline functions. + (finish_file): Merge deferred_fns loops. Check all used + inline functions have a definition. + * method.c (make_thunk): Thunks are not inline. + + PR c++/5116, c++/764 + * call.c (build_new_op): Make sure template class operands are + instantiated. + +2002-12-24 Nathan Sidwell <nathan@codesourcery.com> + + PR C++/7964 + * cp-tree.h (resolve_scoped_fn_name): Prototype. + * call.c (resolve_scoped_fn_name): New function. Deal with + more template expansion. Broken out of ... + * parse.y (parse_finish_call_expr): ... here. Call it. + * decl2.c (build_expr_from_tree, CALL_EXPR): Use + resolve_scoped_fn_name and build_call_from_tree. + + PR c++/9053 + * decl.c (duplicate_decls): Templates may be disambiguated by + return type. + + PR c++/8702 + * decl2.c (check_classfn): Use lookup_fnfield_1. List all + conversion operators on failure. + +2002-12-22 Nathan Sidwell <nathan@codesourcery.com> + + PR c++/8572 + * cp-tree.h (grokoptypename): Add SCOPE parameter. + * decl2.c (grokoptypename): Add SCOPE parameter. tsubst the type + if in a template scope. + * parse.y (unoperator): Return the scope. + (operator_name): Adjust grokoptypename call. + +2002-12-22 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + * cp-tree.h (make_unbound_class_template): Use tsubst_flags_t. + * decl.c (make_unbound_class_template): Adjust. Check for tf_error. + * pt.c (tsubst) [OFFSET_TYPE]: Check for tf_error. + +2002-12-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/8099 + * friend.c (make_friend_class): Allow partial specialization + when declaration is not a template friend. + +2002-12-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/3663 + * pt.c (lookup_template_class): Copy TREE_PRIVATE and + TREE_PROTECTED to created decl nodes. + +2002-12-18 Mark Mitchell <mark@codesourcery.com> + + * class.c (build_base_field): Do not set DECL_PACKED on the + FIELD_DECL. + +2002-12-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + * parse.y (bad_parm): Add missing argument to error function call. + +2002-12-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/8442 + * decl2.c (handle_class_head): Verify if the looked up name is a + type or template. + * pt.c (convert_template_argument): Fix type or template template + parameter decision logic. + 2002-12-13 Gabriel Dos Reis <gdr@integrable-solutions.net> PR C++/8031 diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 072fbe64515..f5f1b73e053 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -2620,8 +2620,11 @@ build_user_type_conversion_1 (totype, expr, flags) cand = candidates; /* any one will do */ cand->second_conv = build1 (AMBIG_CONV, totype, expr); ICS_USER_FLAG (cand->second_conv) = 1; - /* Don't set ICS_BAD_FLAG; an ambiguous conversion is no worse than - another user-defined conversion. */ + if (!any_strictly_viable (candidates)) + ICS_BAD_FLAG (cand->second_conv) = 1; + /* If there are viable candidates, don't set ICS_BAD_FLAG; an + ambiguous conversion is no worse than another user-defined + conversion. */ return cand; } @@ -2659,6 +2662,69 @@ build_user_type_conversion (totype, expr, flags) return NULL_TREE; } +/* Find the possibly overloaded set of functions corresponding to a + call of the form SCOPE::NAME (...). NAME might be a + TEMPLATE_ID_EXPR, OVERLOAD, _DECL, IDENTIFIER_NODE or LOOKUP_EXPR. */ + +tree +resolve_scoped_fn_name (tree scope, tree name) +{ + tree fn; + tree template_args = NULL_TREE; + bool is_template_id = TREE_CODE (name) == TEMPLATE_ID_EXPR; + + if (is_template_id) + { + template_args = TREE_OPERAND (name, 1); + name = TREE_OPERAND (name, 0); + } + if (TREE_CODE (name) == OVERLOAD) + name = DECL_NAME (get_first_fn (name)); + else if (TREE_CODE (name) == LOOKUP_EXPR) + name = TREE_OPERAND (name, 0); + + if (TREE_CODE (scope) == NAMESPACE_DECL) + fn = lookup_namespace_name (scope, name); + else + { + if (!TYPE_BEING_DEFINED (scope) + && !COMPLETE_TYPE_P (complete_type (scope))) + { + error ("incomplete type '%T' cannot be used to name a scope", + scope); + return error_mark_node; + } + + if (BASELINK_P (name)) + fn = name; + else + fn = lookup_member (scope, name, /*protect=*/1, /*prefer_type=*/0); + if (fn && current_class_type) + fn = (adjust_result_of_qualified_name_lookup + (fn, scope, current_class_type)); + } + + if (!fn) + { + error ("'%D' has no member named '%E'", scope, name); + return error_mark_node; + } + if (is_template_id) + { + tree fns = fn; + + if (BASELINK_P (fn)) + fns = BASELINK_FUNCTIONS (fns); + fns = build_nt (TEMPLATE_ID_EXPR, fns, template_args); + if (BASELINK_P (fn)) + BASELINK_FUNCTIONS (fn) = fns; + else + fn = fns; + } + + return fn; +} + /* Do any initial processing on the arguments to a function call. */ static tree @@ -3209,14 +3275,14 @@ build_conditional_expr (arg1, arg2, arg3) We use ocp_convert rather than build_user_type_conversion because the latter returns NULL_TREE on failure, while the former gives an error. */ - if (IS_AGGR_TYPE (TREE_TYPE (arg2)) && real_lvalue_p (arg2)) + if (IS_AGGR_TYPE (TREE_TYPE (arg2))) arg2 = ocp_convert (TREE_TYPE (arg2), arg2, CONV_IMPLICIT|CONV_FORCE_TEMP, LOOKUP_NORMAL); else arg2 = decay_conversion (arg2); arg2_type = TREE_TYPE (arg2); - if (IS_AGGR_TYPE (TREE_TYPE (arg3)) && real_lvalue_p (arg3)) + if (IS_AGGR_TYPE (TREE_TYPE (arg3))) arg3 = ocp_convert (TREE_TYPE (arg3), arg3, CONV_IMPLICIT|CONV_FORCE_TEMP, LOOKUP_NORMAL); else @@ -3355,6 +3421,10 @@ build_new_op (code, flags, arg1, arg2, arg3) if (TREE_CODE (arg1) == OFFSET_REF) arg1 = resolve_offset_ref (arg1); arg1 = convert_from_reference (arg1); + if (CLASS_TYPE_P (TREE_TYPE (arg1)) + && CLASSTYPE_TEMPLATE_INSTANTIATION (TREE_TYPE (arg1))) + /* Make sure the template type is instantiated now. */ + instantiate_class_template (TYPE_MAIN_VARIANT (TREE_TYPE (arg1))); switch (code) { @@ -3377,12 +3447,18 @@ build_new_op (code, flags, arg1, arg2, arg3) if (TREE_CODE (arg2) == OFFSET_REF) arg2 = resolve_offset_ref (arg2); arg2 = convert_from_reference (arg2); + if (CLASS_TYPE_P (TREE_TYPE (arg2)) + && CLASSTYPE_TEMPLATE_INSTANTIATION (TREE_TYPE (arg2))) + instantiate_class_template (TYPE_MAIN_VARIANT (TREE_TYPE (arg2))); } if (arg3) { if (TREE_CODE (arg3) == OFFSET_REF) arg3 = resolve_offset_ref (arg3); arg3 = convert_from_reference (arg3); + if (CLASS_TYPE_P (TREE_TYPE (arg3)) + && CLASSTYPE_TEMPLATE_INSTANTIATION (TREE_TYPE (arg3))) + instantiate_class_template (TYPE_MAIN_VARIANT (TREE_TYPE (arg3))); } if (code == COND_EXPR) diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 06d09681e6f..fc22119c266 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -288,13 +288,15 @@ build_base_path (code, expr, binfo, nonnull) return error_mark_node; } + if (!want_pointer) + /* This must happen before the call to save_expr. */ + expr = build_unary_op (ADDR_EXPR, expr, 0); + fixed_type_p = resolves_to_fixed_type_p (expr, &nonnull); if (fixed_type_p <= 0 && TREE_SIDE_EFFECTS (expr)) expr = save_expr (expr); - if (!want_pointer) - expr = build_unary_op (ADDR_EXPR, expr, 0); - else if (!nonnull) + if (want_pointer && !nonnull) null_test = build (EQ_EXPR, boolean_type_node, expr, integer_zero_node); offset = BINFO_OFFSET (binfo); @@ -1832,7 +1834,7 @@ maybe_warn_about_overly_private_class (t) return; has_nonprivate_method = 1; - break; + /* Keep searching for a static member function. */ } else if (!DECL_CONSTRUCTOR_P (fn) && !DECL_DESTRUCTOR_P (fn)) has_member_fn = 1; @@ -3841,8 +3843,6 @@ build_base_field (record_layout_info rli, tree binfo, DECL_SIZE_UNIT (decl) = CLASSTYPE_SIZE_UNIT (basetype); DECL_ALIGN (decl) = CLASSTYPE_ALIGN (basetype); DECL_USER_ALIGN (decl) = CLASSTYPE_USER_ALIGN (basetype); - /* Tell the backend not to round up to TYPE_ALIGN. */ - DECL_PACKED (decl) = 1; /* Try to place the field. It may take more than one try if we have a hard time placing the field without putting two @@ -5116,6 +5116,7 @@ layout_class_type (tree t, tree *virtuals_p) /* Record the base version of the type. */ CLASSTYPE_AS_BASE (t) = base_t; + TYPE_CONTEXT (base_t) = t; } else CLASSTYPE_AS_BASE (t) = t; diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 3b50ffec48a..b764c53a059 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -3528,6 +3528,7 @@ extern tree build_method_call PARAMS ((tree, tree, tree, tree, int)); extern int null_ptr_cst_p PARAMS ((tree)); extern int sufficient_parms_p PARAMS ((tree)); extern tree type_decays_to PARAMS ((tree)); +extern tree resolve_scoped_fn_name PARAMS ((tree, tree)); extern tree build_user_type_conversion PARAMS ((tree, tree, int)); extern tree build_new_function_call PARAMS ((tree, tree)); extern tree build_new_method_call (tree, tree, tree, tree, int); @@ -3680,7 +3681,7 @@ extern void set_namespace_binding PARAMS ((tree, tree, tree)); extern tree lookup_namespace_name PARAMS ((tree, tree)); extern tree build_typename_type PARAMS ((tree, tree, tree, tree)); extern tree make_typename_type PARAMS ((tree, tree, tsubst_flags_t)); -extern tree make_unbound_class_template PARAMS ((tree, tree, int)); +extern tree make_unbound_class_template PARAMS ((tree, tree, tsubst_flags_t)); extern tree lookup_name_nonclass PARAMS ((tree)); extern tree lookup_function_nonclass PARAMS ((tree, tree)); extern tree lookup_name PARAMS ((tree, int)); @@ -3787,7 +3788,7 @@ extern void check_member_template PARAMS ((tree)); extern tree grokfield PARAMS ((tree, tree, tree, tree, tree)); extern tree grokbitfield PARAMS ((tree, tree, tree)); extern tree groktypefield PARAMS ((tree, tree)); -extern tree grokoptypename PARAMS ((tree, tree)); +extern tree grokoptypename PARAMS ((tree, tree, tree)); extern void cplus_decl_attributes PARAMS ((tree *, tree, int)); extern tree constructor_name_full PARAMS ((tree)); extern tree constructor_name PARAMS ((tree)); @@ -3897,7 +3898,7 @@ extern tree build_member_call PARAMS ((tree, tree, tree)); extern tree build_offset_ref PARAMS ((tree, tree)); extern tree resolve_offset_ref PARAMS ((tree)); extern tree build_new PARAMS ((tree, tree, tree, int)); -extern tree build_vec_init PARAMS ((tree, tree, int)); +extern tree build_vec_init PARAMS ((tree, tree, tree, int)); extern tree build_x_delete PARAMS ((tree, int, tree)); extern tree build_delete PARAMS ((tree, tree, special_function_kind, int, int)); extern void push_base_cleanups PARAMS ((void)); diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index e68c06447e1..995cfa8d271 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -3210,7 +3210,11 @@ duplicate_decls (newdecl, olddecl) && compparms (TYPE_ARG_TYPES (TREE_TYPE (DECL_TEMPLATE_RESULT (olddecl))), TYPE_ARG_TYPES (TREE_TYPE (DECL_TEMPLATE_RESULT (newdecl)))) && comp_template_parms (DECL_TEMPLATE_PARMS (newdecl), - DECL_TEMPLATE_PARMS (olddecl))) + DECL_TEMPLATE_PARMS (olddecl)) + /* Template functions can be disambiguated by + return type. */ + && same_type_p (TREE_TYPE (TREE_TYPE (newdecl)), + TREE_TYPE (TREE_TYPE (olddecl)))) { error ("new declaration `%#D'", newdecl); cp_error_at ("ambiguates old declaration `%#D'", olddecl); @@ -5677,10 +5681,13 @@ make_typename_type (context, name, complain) return error_mark_node; } - if (complain & tf_parsing) - type_access_control (context, tmpl); - else - enforce_access (context, tmpl); + if (complain & tf_error) + { + if (complain & tf_parsing) + type_access_control (context, tmpl); + else + enforce_access (context, tmpl); + } return lookup_template_class (tmpl, TREE_OPERAND (fullname, 1), @@ -5709,10 +5716,13 @@ make_typename_type (context, name, complain) return error_mark_node; } - if (complain & tf_parsing) - type_access_control (context, t); - else - enforce_access (context, t); + if (complain & tf_error) + { + if (complain & tf_parsing) + type_access_control (context, t); + else + enforce_access (context, t); + } if (DECL_ARTIFICIAL (t) || !(complain & tf_keep_type_decl)) t = TREE_TYPE (t); @@ -5753,7 +5763,7 @@ make_typename_type (context, name, complain) tree make_unbound_class_template (context, name, complain) tree context, name; - int complain; + tsubst_flags_t complain; { tree t; tree d; @@ -5775,15 +5785,18 @@ make_unbound_class_template (context, name, complain) if (!tmpl || !DECL_CLASS_TEMPLATE_P (tmpl)) { - if (complain) + if (complain & tf_error) error ("no class template named `%#T' in `%#T'", name, context); return error_mark_node; } - if (complain & tf_parsing) - type_access_control (context, tmpl); - else - enforce_access (context, tmpl); + if (complain & tf_error) + { + if (complain & tf_parsing) + type_access_control (context, tmpl); + else + enforce_access (context, tmpl); + } return tmpl; } @@ -7417,7 +7430,9 @@ start_decl (declarator, declspecs, initialized, attributes, prefix_attributes) wrong semantics. If we say -fno-conserve-space, we want this to produce errors about redefs; to do this we force variables into the data segment. */ - DECL_COMMON (tem) = flag_conserve_space || ! TREE_PUBLIC (tem); + DECL_COMMON (tem) = ((TREE_CODE (tem) != VAR_DECL + || !DECL_THREAD_LOCAL (tem)) + && (flag_conserve_space || ! TREE_PUBLIC (tem))); #endif if (! processing_template_decl) @@ -12211,7 +12226,10 @@ require_complete_types_for_parms (parms) /* grokparms will have already issued an error */ TREE_TYPE (parms) = error_mark_node; else if (complete_type_or_else (TREE_TYPE (parms), parms)) - layout_decl (parms, 0); + { + layout_decl (parms, 0); + DECL_ARG_TYPE (parms) = type_passed_as (TREE_TYPE (parms)); + } else TREE_TYPE (parms) = error_mark_node; } diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 248fa2d6725..1ae25f03ca1 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -674,11 +674,7 @@ tree check_classfn (ctype, function) tree ctype, function; { - tree fn_name = DECL_NAME (function); - tree fndecl, fndecls; - tree method_vec = CLASSTYPE_METHOD_VEC (complete_type (ctype)); - tree *methods = 0; - tree *end = 0; + int ix; if (DECL_USE_TEMPLATE (function) && !(TREE_CODE (function) == TEMPLATE_DECL @@ -695,81 +691,90 @@ check_classfn (ctype, function) reason we should, either. We let our callers know we didn't find the method, but we don't complain. */ return NULL_TREE; - - if (method_vec != 0) + + ix = lookup_fnfields_1 (complete_type (ctype), + DECL_CONSTRUCTOR_P (function) ? ctor_identifier : + DECL_DESTRUCTOR_P (function) ? dtor_identifier : + DECL_NAME (function)); + + if (ix >= 0) { - methods = &TREE_VEC_ELT (method_vec, 0); - end = TREE_VEC_END (method_vec); - - /* First suss out ctors and dtors. */ - if (*methods && fn_name == DECL_NAME (OVL_CURRENT (*methods)) - && DECL_CONSTRUCTOR_P (function)) - goto got_it; - if (*++methods && fn_name == DECL_NAME (OVL_CURRENT (*methods)) - && DECL_DESTRUCTOR_P (function)) - goto got_it; - - while (++methods != end && *methods) + tree methods = CLASSTYPE_METHOD_VEC (ctype); + tree fndecls, fndecl; + bool is_conv_op; + const char *format = NULL; + + for (fndecls = TREE_VEC_ELT (methods, ix); + fndecls; fndecls = OVL_NEXT (fndecls)) + { + tree p1, p2; + + fndecl = OVL_CURRENT (fndecls); + p1 = TYPE_ARG_TYPES (TREE_TYPE (function)); + p2 = TYPE_ARG_TYPES (TREE_TYPE (fndecl)); + + /* We cannot simply call decls_match because this doesn't + work for static member functions that are pretending to + be methods, and because the name may have been changed by + asm("new_name"). */ + + /* Get rid of the this parameter on functions that become + static. */ + if (DECL_STATIC_FUNCTION_P (fndecl) + && TREE_CODE (TREE_TYPE (function)) == METHOD_TYPE) + p1 = TREE_CHAIN (p1); + + if (same_type_p (TREE_TYPE (TREE_TYPE (function)), + TREE_TYPE (TREE_TYPE (fndecl))) + && compparms (p1, p2) + && (DECL_TEMPLATE_SPECIALIZATION (function) + == DECL_TEMPLATE_SPECIALIZATION (fndecl)) + && (!DECL_TEMPLATE_SPECIALIZATION (function) + || (DECL_TI_TEMPLATE (function) + == DECL_TI_TEMPLATE (fndecl)))) + return fndecl; + } + error ("prototype for `%#D' does not match any in class `%T'", + function, ctype); + is_conv_op = DECL_CONV_FN_P (fndecl); + + if (is_conv_op) + ix = CLASSTYPE_FIRST_CONVERSION_SLOT; + fndecls = TREE_VEC_ELT (methods, ix); + while (fndecls) { - fndecl = *methods; - if (fn_name == DECL_NAME (OVL_CURRENT (*methods))) + fndecl = OVL_CURRENT (fndecls); + fndecls = OVL_NEXT (fndecls); + + if (!fndecls && is_conv_op) { - got_it: - for (fndecls = *methods; fndecls != NULL_TREE; - fndecls = OVL_NEXT (fndecls)) + if (TREE_VEC_LENGTH (methods) > ix) { - fndecl = OVL_CURRENT (fndecls); - - /* We cannot simply call decls_match because this - doesn't work for static member functions that are - pretending to be methods, and because the name - may have been changed by asm("new_name"). */ - if (DECL_NAME (function) == DECL_NAME (fndecl)) + ix++; + fndecls = TREE_VEC_ELT (methods, ix); + if (!DECL_CONV_FN_P (OVL_CURRENT (fndecls))) { - tree p1 = TYPE_ARG_TYPES (TREE_TYPE (function)); - tree p2 = TYPE_ARG_TYPES (TREE_TYPE (fndecl)); - - /* Get rid of the this parameter on functions that become - static. */ - if (DECL_STATIC_FUNCTION_P (fndecl) - && TREE_CODE (TREE_TYPE (function)) == METHOD_TYPE) - p1 = TREE_CHAIN (p1); - - if (same_type_p (TREE_TYPE (TREE_TYPE (function)), - TREE_TYPE (TREE_TYPE (fndecl))) - && compparms (p1, p2) - && (DECL_TEMPLATE_SPECIALIZATION (function) - == DECL_TEMPLATE_SPECIALIZATION (fndecl)) - && (!DECL_TEMPLATE_SPECIALIZATION (function) - || (DECL_TI_TEMPLATE (function) - == DECL_TI_TEMPLATE (fndecl)))) - return fndecl; + fndecls = NULL_TREE; + is_conv_op = false; } } - break; /* loser */ + else + is_conv_op = false; } + if (format) + format = " %#D"; + else if (fndecls) + format = "candidates are: %#D"; + else + format = "candidate is: %#D"; + cp_error_at (format, fndecl); } } - - if (methods != end && *methods) - { - tree fndecl = *methods; - error ("prototype for `%#D' does not match any in class `%T'", - function, ctype); - cp_error_at ("candidate%s: %+#D", OVL_NEXT (fndecl) ? "s are" : " is", - OVL_CURRENT (fndecl)); - while (fndecl = OVL_NEXT (fndecl), fndecl) - cp_error_at (" %#D", OVL_CURRENT(fndecl)); - } + else if (!COMPLETE_TYPE_P (ctype)) + cxx_incomplete_type_error (function, ctype); else - { - methods = 0; - if (!COMPLETE_TYPE_P (ctype)) - cxx_incomplete_type_error (function, ctype); - else - error ("no `%#D' member function declared in class `%T'", - function, ctype); - } + error ("no `%#D' member function declared in class `%T'", + function, ctype); /* If we did not find the method in the class, add it to avoid spurious errors (unless the CTYPE is not yet defined, in which @@ -1118,11 +1123,29 @@ grokbitfield (declarator, declspecs, width) return value; } +/* Convert a conversion operator name to an identifier. SCOPE is the + scope of the conversion operator, if explicit. */ + tree -grokoptypename (declspecs, declarator) +grokoptypename (declspecs, declarator, scope) tree declspecs, declarator; + tree scope; { tree t = grokdeclarator (declarator, declspecs, TYPENAME, 0, NULL); + + /* Resolve any TYPENAME_TYPEs that refer to SCOPE, before mangling + the name, so that we mangle the right thing. */ + if (scope && current_template_parms + && uses_template_parms (t) + && uses_template_parms (scope)) + { + tree args = current_template_args (); + + push_scope (scope); + t = tsubst (t, args, tf_error | tf_warning, NULL_TREE); + pop_scope (scope); + } + return mangle_conv_op_name_for_type (t); } @@ -2004,6 +2027,10 @@ import_export_tinfo (decl, type, is_in_library) DECL_INTERFACE_KNOWN (decl) = 1; } +/* Return an expression that performs the destruction of DECL, which + must be a VAR_DECL whose type has a non-trivial destructor, or is + an array whose (innermost) elements have a non-trivial destructor. */ + tree build_cleanup (decl) tree decl; @@ -2011,6 +2038,14 @@ build_cleanup (decl) tree temp; tree type = TREE_TYPE (decl); + /* This function should only be called for declarations that really + require cleanups. */ + my_friendly_assert (!TYPE_HAS_TRIVIAL_DESTRUCTOR (type), 20030106); + + /* Treat all objects with destructors as used; the destructor may do + something substantive. */ + mark_used (decl); + if (TREE_CODE (type) == ARRAY_TYPE) temp = decl; else @@ -2842,12 +2877,13 @@ finish_file () reconsider = 1; } - /* Go through the various inline functions, and see if any need - synthesizing. */ for (i = 0; i < deferred_fns_used; ++i) { tree decl = VARRAY_TREE (deferred_fns, i); + import_export_decl (decl); + + /* Does it need synthesizing? */ if (DECL_ARTIFICIAL (decl) && ! DECL_INITIAL (decl) && TREE_USED (decl) && (! DECL_REALLY_EXTERN (decl) || DECL_INLINE (decl))) @@ -2862,30 +2898,21 @@ finish_file () pop_from_top_level (); reconsider = 1; } - } - /* We lie to the back-end, pretending that some functions are - not defined when they really are. This keeps these functions - from being put out unnecessarily. But, we must stop lying - when the functions are referenced, or if they are not comdat - since they need to be put out now. - This is done in a separate for cycle, because if some deferred - function is contained in another deferred function later in - deferred_fns varray, rest_of_compilation would skip this - function and we really cannot expand the same function twice. */ - for (i = 0; i < deferred_fns_used; ++i) - { - tree decl = VARRAY_TREE (deferred_fns, i); - + /* We lie to the back-end, pretending that some functions + are not defined when they really are. This keeps these + functions from being put out unnecessarily. But, we must + stop lying when the functions are referenced, or if they + are not comdat since they need to be put out now. This + is done in a separate for cycle, because if some deferred + function is contained in another deferred function later + in deferred_fns varray, rest_of_compilation would skip + this function and we really cannot expand the same + function twice. */ if (DECL_NOT_REALLY_EXTERN (decl) && DECL_INITIAL (decl) && DECL_NEEDED_P (decl)) DECL_EXTERNAL (decl) = 0; - } - - for (i = 0; i < deferred_fns_used; ++i) - { - tree decl = VARRAY_TREE (deferred_fns, i); /* If we're going to need to write this function out, and there's already a body for it, create RTL for it now. @@ -2941,6 +2968,16 @@ finish_file () } while (reconsider); + /* All used inline functions must have a definition at this point. */ + for (i = 0; i < deferred_fns_used; ++i) + { + tree decl = VARRAY_TREE (deferred_fns, i); + + if (TREE_USED (decl) && DECL_DECLARED_INLINE_P (decl) + && !(TREE_ASM_WRITTEN (decl) || DECL_SAVED_TREE (decl))) + cp_warning_at ("inline function `%D' used but never defined", decl); + } + /* We give C linkage to static constructors and destructors. */ push_lang_context (lang_name_c); @@ -3292,16 +3329,18 @@ build_expr_from_tree (t) { tree ref = TREE_OPERAND (t, 0); tree name = TREE_OPERAND (ref, 1); + tree fn, scope, args; if (TREE_CODE (name) == TEMPLATE_ID_EXPR) name = build_nt (TEMPLATE_ID_EXPR, TREE_OPERAND (name, 0), build_expr_from_tree (TREE_OPERAND (name, 1))); - - return build_member_call - (build_expr_from_tree (TREE_OPERAND (ref, 0)), - name, - build_expr_from_tree (TREE_OPERAND (t, 1))); + + scope = build_expr_from_tree (TREE_OPERAND (ref, 0)); + args = build_expr_from_tree (TREE_OPERAND (t, 1)); + fn = resolve_scoped_fn_name (scope, name); + + return build_call_from_tree (fn, args, 1); } else { @@ -4714,6 +4753,12 @@ mark_used (decl) TREE_USED (decl) = 1; if (processing_template_decl) return; + + if (TREE_CODE (decl) == FUNCTION_DECL && DECL_DECLARED_INLINE_P (decl) + && !TREE_ASM_WRITTEN (decl)) + /* Remember it, so we can check it was defined. */ + defer_fn (decl); + if (!skip_evaluation) assemble_external (decl); @@ -4759,6 +4804,7 @@ handle_class_head (tag_kind, scope, id, attributes, defn_p, new_type_p) int *new_type_p; { tree decl = NULL_TREE; + tree type; tree current = current_scope (); bool xrefd_p = false; @@ -4807,12 +4853,28 @@ handle_class_head (tag_kind, scope, id, attributes, defn_p, new_type_p) xrefd_p = true; } - if (!TYPE_BINFO (TREE_TYPE (decl))) + type = TREE_TYPE (decl); + + if (!TYPE_BINFO (type)) { error ("`%T' is not a class or union type", decl); return error_mark_node; } - + + /* When `A' is a template class, using `class A' without template + argument is invalid unless + - we are inside the scope of the template class `A' or one of its + specialization. + - we are declaring the template class `A' itself. */ + if (TREE_CODE (type) == RECORD_TYPE + && CLASSTYPE_IS_TEMPLATE (type) + && processing_template_decl <= template_class_depth (current) + && ! is_base_of_enclosing_class (type, current_class_type)) + { + error ("template argument is required for `%T'", type); + return error_mark_node; + } + if (defn_p) { /* For a definition, we want to enter the containing scope diff --git a/gcc/cp/dump.c b/gcc/cp/dump.c index c4472b07359..39e72dcd983 100644 --- a/gcc/cp/dump.c +++ b/gcc/cp/dump.c @@ -263,6 +263,14 @@ cp_dump_tree (dump_info, t) return 1; } + /* Is it a type used as a base? */ + if (TYPE_CONTEXT (t) && TREE_CODE (TYPE_CONTEXT (t)) == TREE_CODE (t) + && CLASSTYPE_AS_BASE (TYPE_CONTEXT (t)) == t) + { + dump_child ("bfld", TYPE_CONTEXT (t)); + return 1; + } + dump_child ("vfld", TYPE_VFIELD (t)); if (CLASSTYPE_TEMPLATE_SPECIALIZATION(t)) dump_string(di, "spec"); diff --git a/gcc/cp/error.c b/gcc/cp/error.c index da880f5fad4..8b5716d291a 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -928,6 +928,25 @@ dump_decl (t, flags) break; case OVERLOAD: + if (OVL_CHAIN (t)) + { + t = OVL_CURRENT (t); + if (DECL_CLASS_SCOPE_P (t)) + { + dump_type (DECL_CONTEXT (t), flags); + output_add_string (scratch_buffer, "::"); + } + else if (DECL_CONTEXT (t)) + { + dump_decl (DECL_CONTEXT (t), flags); + output_add_string (scratch_buffer, "::"); + } + dump_decl (DECL_NAME (t), flags); + break; + } + + /* If there's only one function, just treat it like an ordinary + FUNCTION_DECL. */ t = OVL_CURRENT (t); /* Fall through. */ diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c index 7b718ace0df..32e20d64f49 100644 --- a/gcc/cp/friend.c +++ b/gcc/cp/friend.c @@ -203,24 +203,25 @@ make_friend_class (type, friend_type) return; } - if (CLASS_TYPE_P (friend_type) - && CLASSTYPE_TEMPLATE_SPECIALIZATION (friend_type) - && uses_template_parms (friend_type)) - { - /* [temp.friend] - - Friend declarations shall not declare partial - specializations. */ - error ("partial specialization `%T' declared `friend'", - friend_type); - return; - } - if (processing_template_decl > template_class_depth (type)) /* If the TYPE is a template then it makes sense for it to be friends with itself; this means that each instantiation is friends with all other instantiations. */ - is_template_friend = 1; + { + if (CLASS_TYPE_P (friend_type) + && CLASSTYPE_TEMPLATE_SPECIALIZATION (friend_type) + && uses_template_parms (friend_type)) + { + /* [temp.friend] + Friend declarations shall not declare partial + specializations. */ + error ("partial specialization `%T' declared `friend'", + friend_type); + return; + } + + is_template_friend = 1; + } else if (same_type_p (type, friend_type)) { pedwarn ("class `%T' is implicitly friends with itself", diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 39d4c57047e..af682035fa4 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -352,7 +352,8 @@ perform_member_init (tree member, tree init) && TREE_CODE (TREE_TYPE (TREE_VALUE (init))) == ARRAY_TYPE) { /* Initialization of one array from another. */ - finish_expr_stmt (build_vec_init (decl, TREE_VALUE (init), 1)); + finish_expr_stmt (build_vec_init (decl, NULL_TREE, TREE_VALUE (init), + /* from_array=*/1)); } else finish_expr_stmt (build_aggr_init (decl, init, 0)); @@ -1101,7 +1102,7 @@ build_aggr_init (exp, init, flags) TREE_TYPE (exp) = TYPE_MAIN_VARIANT (type); if (itype && cp_type_quals (itype) != TYPE_UNQUALIFIED) TREE_TYPE (init) = TYPE_MAIN_VARIANT (itype); - stmt_expr = build_vec_init (exp, init, + stmt_expr = build_vec_init (exp, NULL_TREE, init, init && same_type_p (TREE_TYPE (init), TREE_TYPE (exp))); TREE_READONLY (exp) = was_const; @@ -2138,6 +2139,7 @@ build_new_1 (exp) tree placement, init; tree type, true_type, size, rval, t; tree full_type; + tree outer_nelts = NULL_TREE; tree nelts = NULL_TREE; tree alloc_call, alloc_expr, alloc_node; tree alloc_fn; @@ -2167,12 +2169,11 @@ build_new_1 (exp) if (TREE_CODE (type) == ARRAY_REF) { has_array = 1; - nelts = TREE_OPERAND (type, 1); + nelts = outer_nelts = TREE_OPERAND (type, 1); type = TREE_OPERAND (type, 0); - full_type = cp_build_binary_op (MINUS_EXPR, nelts, integer_one_node); - full_type = build_index_type (full_type); - full_type = build_cplus_array_type (type, full_type); + /* Use an incomplete array type to avoid VLA headaches. */ + full_type = build_cplus_array_type (type, NULL_TREE); } else full_type = type; @@ -2362,7 +2363,11 @@ build_new_1 (exp) pedwarn ("ISO C++ forbids initialization in array new"); if (has_array) - init_expr = build_vec_init (init_expr, init, 0); + init_expr + = build_vec_init (init_expr, + cp_build_binary_op (MINUS_EXPR, outer_nelts, + integer_one_node), + init, /*from_array=*/0); else if (TYPE_NEEDS_CONSTRUCTING (type)) init_expr = build_special_member_call (init_expr, complete_ctor_identifier, @@ -2686,6 +2691,9 @@ get_temp_regvar (type, init) initialization of a vector of aggregate types. BASE is a reference to the vector, of ARRAY_TYPE. + MAXINDEX is the maximum index of the array (one less than the + number of elements). It is only used if + TYPE_DOMAIN (TREE_TYPE (BASE)) == NULL_TREE. INIT is the (possibly NULL) initializer. FROM_ARRAY is 0 if we should init everything with INIT @@ -2696,8 +2704,8 @@ get_temp_regvar (type, init) but use assignment instead of initialization. */ tree -build_vec_init (base, init, from_array) - tree base, init; +build_vec_init (base, maxindex, init, from_array) + tree base, init, maxindex; int from_array; { tree rval; @@ -2717,9 +2725,11 @@ build_vec_init (base, init, from_array) tree try_block = NULL_TREE; tree try_body = NULL_TREE; int num_initialized_elts = 0; - tree maxindex = array_type_nelts (TREE_TYPE (base)); - if (maxindex == error_mark_node) + if (TYPE_DOMAIN (atype)) + maxindex = array_type_nelts (atype); + + if (maxindex == NULL_TREE || maxindex == error_mark_node) return error_mark_node; if (init @@ -2909,7 +2919,7 @@ build_vec_init (base, init, from_array) sorry ("cannot initialize multi-dimensional array with initializer"); elt_init = build_vec_init (build1 (INDIRECT_REF, type, base), - 0, 0); + 0, 0, 0); } else elt_init = build_aggr_init (build1 (INDIRECT_REF, type, base), diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 8a905b21b75..c942d327219 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -342,6 +342,8 @@ make_thunk (function, delta, vcall_index) DECL_NO_STATIC_CHAIN (thunk) = 1; /* The THUNK is not a pending inline, even if the FUNCTION is. */ DECL_PENDING_INLINE_P (thunk) = 0; + DECL_INLINE (thunk) = 0; + DECL_DECLARED_INLINE_P (thunk) = 0; /* Nor has it been deferred. */ DECL_DEFERRED_FN (thunk) = 0; /* Add it to the list of thunks associated with FUNCTION. */ diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y index 0be461eada5..635944a83ed 100644 --- a/gcc/cp/parse.y +++ b/gcc/cp/parse.y @@ -386,7 +386,7 @@ check_class_key (key, aggr) %type <ttype> init initlist maybeasm maybe_init defarg defarg1 %type <ttype> asm_operands nonnull_asm_operands asm_operand asm_clobbers %type <ttype> maybe_attribute attributes attribute attribute_list attrib -%type <ttype> any_word +%type <ttype> any_word unoperator %type <itype> save_lineno %type <ttype> simple_stmt simple_if @@ -3830,7 +3830,7 @@ bad_parm: { if (TREE_CODE (TREE_OPERAND ($$, 0)) == TEMPLATE_TYPE_PARM || TREE_CODE (TREE_OPERAND ($$, 0)) == BOUND_TEMPLATE_TEMPLATE_PARM) - error ("`%E' is not a type, use `typename %E' to make it one", $$); + error ("`%E' is not a type, use `typename %E' to make it one", $$, $$); else error ("no type `%D' in `%T'", TREE_OPERAND ($$, 1), TREE_OPERAND ($$, 0)); } @@ -3917,6 +3917,7 @@ unoperator: got_object = TREE_VALUE (saved_scopes); looking_for_typename = TREE_LANG_FLAG_0 (saved_scopes); saved_scopes = TREE_CHAIN (saved_scopes); + $$ = got_scope; } ; @@ -3988,7 +3989,7 @@ operator_name: | operator DELETE '[' ']' unoperator { $$ = frob_opname (ansi_opname (VEC_DELETE_EXPR)); } | operator type_specifier_seq conversion_declarator unoperator - { $$ = frob_opname (grokoptypename ($2.t, $3)); } + { $$ = frob_opname (grokoptypename ($2.t, $3, $4)); } | operator error unoperator { $$ = frob_opname (ansi_opname (ERROR_MARK)); } ; @@ -4117,72 +4118,19 @@ static tree parse_finish_call_expr (tree fn, tree args, int koenig) { bool disallow_virtual; - tree template_args; - tree template_id; - tree f; if (TREE_CODE (fn) == OFFSET_REF) return build_offset_ref_call_from_tree (fn, args); if (TREE_CODE (fn) == SCOPE_REF) { - tree scope; - tree name; - - scope = TREE_OPERAND (fn, 0); - name = TREE_OPERAND (fn, 1); + tree scope = TREE_OPERAND (fn, 0); + tree name = TREE_OPERAND (fn, 1); if (scope == error_mark_node || name == error_mark_node) return error_mark_node; if (!processing_template_decl) - { - if (TREE_CODE (scope) == NAMESPACE_DECL) - fn = lookup_namespace_name (scope, name); - else - { - if (!COMPLETE_TYPE_P (scope) && !TYPE_BEING_DEFINED (scope)) - { - error ("incomplete type '%T' cannot be used to name a scope", - scope); - return error_mark_node; - } - else if (TREE_CODE (name) == TEMPLATE_ID_EXPR) - { - template_id = name; - template_args = TREE_OPERAND (name, 1); - name = TREE_OPERAND (name, 0); - } - else - { - template_id = NULL_TREE; - template_args = NULL_TREE; - } - - if (BASELINK_P (name)) - fn = name; - else - { - if (TREE_CODE (name) == OVERLOAD) - name = DECL_NAME (get_first_fn (name)); - fn = lookup_member (scope, name, /*protect=*/1, - /*prefer_type=*/0); - if (!fn) - { - error ("'%D' has no member named '%E'", scope, name); - return error_mark_node; - } - - if (BASELINK_P (fn) && template_id) - BASELINK_FUNCTIONS (fn) - = build_nt (TEMPLATE_ID_EXPR, - BASELINK_FUNCTIONS (fn), - template_args); - } - if (current_class_type) - fn = (adjust_result_of_qualified_name_lookup - (fn, scope, current_class_type)); - } - } + fn = resolve_scoped_fn_name (scope, name); disallow_virtual = true; } else @@ -4190,6 +4138,8 @@ parse_finish_call_expr (tree fn, tree args, int koenig) if (koenig && TREE_CODE (fn) == IDENTIFIER_NODE) { + tree f; + /* Do the Koenig lookup. */ fn = do_identifier (fn, 2, args); /* If name lookup didn't find any matching declarations, we've diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index fa3caac01dc..687c2a823ef 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -66,6 +66,8 @@ static size_t inline_parm_levels_used; static GTY(()) tree current_tinst_level; +static GTY(()) tree saved_access_scope; + /* A map from local variable declarations in the body of the template presently being instantiated to the corresponding instantiated local variables. */ @@ -87,6 +89,9 @@ static htab_t local_specializations; #define GTB_IGNORE_TYPE 2 /* We don't need to try to unify the current type with the desired type. */ +static void push_access_scope_real PARAMS ((tree, tree, tree)); +static void push_access_scope PARAMS ((tree, tree)); +static void pop_access_scope PARAMS ((tree)); static int resolve_overloaded_unification PARAMS ((tree, tree, tree, tree, unification_kind_t, int)); static int try_one_overload PARAMS ((tree, tree, tree, tree, tree, @@ -166,6 +171,83 @@ static tree copy_default_args_to_explicit_spec_1 PARAMS ((tree, tree)); static void copy_default_args_to_explicit_spec PARAMS ((tree)); static int invalid_nontype_parm_type_p PARAMS ((tree, tsubst_flags_t)); +/* Make the current scope suitable for access checking when we are + processing T. T can be FUNCTION_DECL for instantiated function + template, TEMPLATE_DECL for uninstantiated one, or VAR_DECL for + static member variable (need by instantiate_decl). ARGS is the + template argument for TEMPLATE_DECL. If CONTEXT is not NULL_TREE, + this is used instead of the context of T. */ + +void +push_access_scope_real (t, args, context) + tree t, args, context; +{ + if (TREE_CODE (t) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (t)) + { + /* When we are processing specialization `foo<Outer>' for code like + + template <class U> typename U::Inner foo (); + class Outer { + struct Inner {}; + friend Outer::Inner foo<Outer> (); + }; + + `T' is a TEMPLATE_DECL, but `Outer' is only a friend of one of + its specialization. We can get the FUNCTION_DECL with the right + information because this specialization has already been + registered by the friend declaration above. */ + + if (DECL_FUNCTION_TEMPLATE_P (t) && args) + { + tree full_args = tsubst_template_arg_vector + (DECL_TI_ARGS (DECL_TEMPLATE_RESULT (t)), args, tf_none); + tree spec = NULL_TREE; + if (full_args != error_mark_node) + spec = retrieve_specialization (t, full_args); + if (spec) + t = spec; + } + + saved_access_scope = tree_cons + (NULL_TREE, current_function_decl, saved_access_scope); + current_function_decl = t; + } + + if (DECL_CLASS_SCOPE_P (t)) + { + if (context) + pushclass (context, 2); + else + pushclass (DECL_CONTEXT (t), 2); + } +} + +/* Like push_access_scope_real, but always uses DECL_CONTEXT. */ + +void +push_access_scope (t, args) + tree t, args; +{ + push_access_scope_real (t, args, NULL_TREE); +} + +/* Restore the scope set up by push_access_scope. T is the node we + are processing. */ + +void +pop_access_scope (t) + tree t; +{ + if (DECL_CLASS_SCOPE_P (t)) + popclass (); + + if (TREE_CODE (t) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (t)) + { + current_function_decl = TREE_VALUE (saved_access_scope); + saved_access_scope = TREE_CHAIN (saved_access_scope); + } +} + /* Do any processing required when DECL (a member template declaration using TEMPLATE_PARAMETERS as its innermost parameter list) is finished. Returns the TEMPLATE_DECL corresponding to DECL, unless @@ -3341,17 +3423,12 @@ convert_template_argument (parm, arg, args, complain, i, in_decl) && TREE_CODE (DECL_TEMPLATE_RESULT (arg)) == TYPE_DECL) || TREE_CODE (arg) == TEMPLATE_TEMPLATE_PARM || TREE_CODE (arg) == UNBOUND_CLASS_TEMPLATE); - else if (CLASSTYPE_TEMPLATE_INFO (arg) && !CLASSTYPE_USE_TEMPLATE (arg) - && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (arg))) - { - if (is_base_of_enclosing_class (arg, current_class_type)) - /* This is a template name used within the scope of the - template. It could be the template, or it could be the - instantiation. Choose whichever makes sense. */ - is_tmpl_type = requires_tmpl_type; - else - is_tmpl_type = 1; - } + else if (CLASSTYPE_IS_TEMPLATE (arg) + && is_base_of_enclosing_class (arg, current_class_type)) + /* This is a template name used within the scope of the + template. It could be the template, or it could be the + instantiation. Choose whichever makes sense. */ + is_tmpl_type = requires_tmpl_type; else /* It is a non-template class, or a specialization of a template class, or a non-template member of a template class. */ @@ -4233,6 +4310,11 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain) else type_decl = TYPE_NAME (t); + TREE_PRIVATE (type_decl) + = TREE_PRIVATE (TYPE_STUB_DECL (template_type)); + TREE_PROTECTED (type_decl) + = TREE_PROTECTED (TYPE_STUB_DECL (template_type)); + /* Set up the template information. We have to figure out which template is the immediate parent if this is a full instantiation. */ @@ -5691,14 +5773,14 @@ tsubst_default_argument (fn, type, arg) ??? current_class_type affects a lot more than name lookup. This is very fragile. Fortunately, it will go away when we do 2-phase name binding properly. */ - if (DECL_CLASS_SCOPE_P (fn)) - pushclass (DECL_CONTEXT (fn), 2); + + /* FN is already the desired FUNCTION_DECL. */ + push_access_scope (fn, NULL_TREE); arg = tsubst_expr (arg, DECL_TI_ARGS (fn), tf_error | tf_warning, NULL_TREE); - if (DECL_CLASS_SCOPE_P (fn)) - popclass (); + pop_access_scope (fn); /* Make sure the default argument is reasonable. */ arg = check_default_argument (type, arg); @@ -6793,7 +6875,7 @@ tsubst (t, args, complain, in_decl) } if (TREE_CODE (type) == REFERENCE_TYPE) { - if (complain) + if (complain & tf_error) error ("creating pointer to member reference type `%T'", type); return error_mark_node; @@ -7795,17 +7877,17 @@ instantiate_template (tmpl, targ_ptr) } /* Make sure that we can see identifiers, and compute access - correctly. */ - if (DECL_CLASS_SCOPE_P (gen_tmpl)) - pushclass (tsubst (DECL_CONTEXT (gen_tmpl), targ_ptr, tf_error, - gen_tmpl), 1); + correctly. The desired FUNCTION_DECL for FNDECL may or may not be + created earlier. Let push_access_scope_real figure that out. */ + push_access_scope_real + (gen_tmpl, targ_ptr, tsubst (DECL_CONTEXT (gen_tmpl), targ_ptr, + tf_error, gen_tmpl)); /* substitute template parameters */ fndecl = tsubst (DECL_TEMPLATE_RESULT (gen_tmpl), targ_ptr, tf_error, gen_tmpl); - if (DECL_CLASS_SCOPE_P (gen_tmpl)) - popclass (); + pop_access_scope (gen_tmpl); /* The DECL_TI_TEMPLATE should always be the immediate parent template, not the most general template. */ @@ -7877,7 +7959,7 @@ fn_type_unification (fn, explicit_targs, targs, args, return_type, int result; my_friendly_assert (TREE_CODE (fn) == TEMPLATE_DECL, 0); - + fntype = TREE_TYPE (fn); if (explicit_targs) { @@ -9897,6 +9979,7 @@ regenerate_decl_from_template (decl, tmpl) instantiation of a specialization, which it isn't: it's a full instantiation. */ gen_tmpl = most_general_template (tmpl); + push_access_scope (gen_tmpl, args); unregistered = unregister_specialization (decl, gen_tmpl); /* If the DECL was not unregistered then something peculiar is @@ -9904,11 +9987,6 @@ regenerate_decl_from_template (decl, tmpl) register_specialization for it. */ my_friendly_assert (unregistered, 0); - if (DECL_CLASS_SCOPE_P (decl)) - /* Make sure that we can see identifiers, and compute access - correctly, for the class members used in the declaration of - this static variable or function. */ - pushclass (DECL_CONTEXT (decl), 2); /* Do the substitution to get the new declaration. */ new_decl = tsubst (code_pattern, args, tf_error, NULL_TREE); @@ -9930,9 +10008,7 @@ regenerate_decl_from_template (decl, tmpl) DECL_INITIAL (decl) = NULL_TREE; } - /* Pop the class context we pushed above. */ - if (DECL_CLASS_SCOPE_P (decl)) - popclass (); + pop_access_scope (gen_tmpl); /* The immediate parent of the new template is still whatever it was before, even though tsubst sets DECL_TI_TEMPLATE up as the most @@ -10125,9 +10201,9 @@ instantiate_decl (d, defer_ok) tree type = TREE_TYPE (gen); /* Make sure that we can see identifiers, and compute access - correctly. */ - if (DECL_CLASS_SCOPE_P (d)) - pushclass (DECL_CONTEXT (d), 1); + correctly. D is already the target FUNCTION_DECL with the + right context. */ + push_access_scope (d, NULL_TREE); if (TREE_CODE (gen) == FUNCTION_DECL) { @@ -10142,8 +10218,7 @@ instantiate_decl (d, defer_ok) } tsubst (type, gen_args, tf_error | tf_warning, d); - if (DECL_CLASS_SCOPE_P (d)) - popclass (); + pop_access_scope (d); } if (TREE_CODE (d) == VAR_DECL && DECL_INITIALIZED_IN_CLASS_P (d) @@ -10483,8 +10558,7 @@ get_mostly_instantiated_function_type (decl) partial substitution here. It depends only on outer template parameters, regardless of whether the innermost level is specialized or not. */ - if (DECL_CLASS_SCOPE_P (decl)) - pushclass (DECL_CONTEXT (decl), 1); + push_access_scope (decl, NULL_TREE); /* Now, do the (partial) substitution to figure out the appropriate function type. */ @@ -10497,8 +10571,7 @@ get_mostly_instantiated_function_type (decl) TREE_VEC_LENGTH (partial_args)--; tparms = tsubst_template_parms (tparms, partial_args, tf_error); - if (DECL_CLASS_SCOPE_P (decl)) - popclass (); + pop_access_scope (decl); } return fn_type; diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 81b4ccfdafc..bec48feac60 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -2098,20 +2098,28 @@ tree finish_typeof (expr) tree expr; { + tree type; + if (processing_template_decl) { - tree t; + type = make_aggr_type (TYPEOF_TYPE); + TYPE_FIELDS (type) = expr; - t = make_aggr_type (TYPEOF_TYPE); - TYPE_FIELDS (t) = expr; - - return t; + return type; } if (TREE_CODE (expr) == OFFSET_REF) expr = resolve_offset_ref (expr); - return TREE_TYPE (expr); + type = TREE_TYPE (expr); + + if (!type || type == unknown_type_node) + { + error ("type of `%E' is unknown", expr); + return error_mark_node; + } + + return type; } /* Compute the value of the `sizeof' operator. */ diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 6c313eba4d8..e3b4c4932e8 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1737,8 +1737,10 @@ cp_tree_equal (t1, t2) return 0; case TEMPLATE_PARM_INDEX: - return TEMPLATE_PARM_IDX (t1) == TEMPLATE_PARM_IDX (t2) - && TEMPLATE_PARM_LEVEL (t1) == TEMPLATE_PARM_LEVEL (t2); + return (TEMPLATE_PARM_IDX (t1) == TEMPLATE_PARM_IDX (t2) + && TEMPLATE_PARM_LEVEL (t1) == TEMPLATE_PARM_LEVEL (t2) + && same_type_p (TREE_TYPE (TEMPLATE_PARM_DECL (t1)), + TREE_TYPE (TEMPLATE_PARM_DECL (t2)))); case SIZEOF_EXPR: case ALIGNOF_EXPR: diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 85eef41c2e0..019d7506412 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -1985,7 +1985,15 @@ build_class_member_access_expr (tree object, tree member, OBJECT so that it refers to the class containing the anonymous union. Generate a reference to the anonymous union itself, and recur to find MEMBER. */ - if (ANON_AGGR_TYPE_P (DECL_CONTEXT (member))) + if (ANON_AGGR_TYPE_P (DECL_CONTEXT (member)) + /* When this code is called from build_field_call, the + object already has the type of the anonymous union. + That is because the COMPONENT_REF was already + constructed, and was then disassembled before calling + build_field_call. After the function-call code is + cleaned up, this waste can be eliminated. */ + && (!same_type_ignoring_top_level_qualifiers_p + (TREE_TYPE (object), DECL_CONTEXT (member)))) { tree anonymous_union; @@ -5357,7 +5365,7 @@ build_modify_expr (lhs, modifycode, rhs) from_array = TREE_CODE (TREE_TYPE (newrhs)) == ARRAY_TYPE ? 1 + (modifycode != INIT_EXPR): 0; - return build_vec_init (lhs, newrhs, from_array); + return build_vec_init (lhs, NULL_TREE, newrhs, from_array); } if (modifycode == INIT_EXPR) diff --git a/gcc/cselib.c b/gcc/cselib.c index feffa6de6cf..e34f26772ac 100644 --- a/gcc/cselib.c +++ b/gcc/cselib.c @@ -83,6 +83,7 @@ static GTY((param_is (cselib_val))) htab_t hash_table; /* This is a global so we don't have to pass this through every function. It is used in new_elt_loc_list to set SETTING_INSN. */ static rtx cselib_current_insn; +static bool cselib_current_insn_in_libcall; /* Every new unknown value gets a unique number. */ static unsigned int next_unknown_value; @@ -163,6 +164,7 @@ new_elt_loc_list (next, loc) el->next = next; el->loc = loc; el->setting_insn = cselib_current_insn; + el->in_libcall = cselib_current_insn_in_libcall; return el; } @@ -1308,6 +1310,10 @@ cselib_process_insn (insn) int i; rtx x; + if (find_reg_note (insn, REG_LIBCALL, NULL)) + cselib_current_insn_in_libcall = true; + if (find_reg_note (insn, REG_RETVAL, NULL)) + cselib_current_insn_in_libcall = false; cselib_current_insn = insn; /* Forget everything at a CODE_LABEL, a volatile asm, or a setjmp. */ @@ -1407,6 +1413,7 @@ cselib_init () hash_table = htab_create_ggc (31, get_value_hash, entry_and_rtx_equal_p, NULL); clear_table (1); + cselib_current_insn_in_libcall = false; } /* Called when the current user is done with cselib. */ diff --git a/gcc/cselib.h b/gcc/cselib.h index 8cb2e6b41e3..f29ee8de04e 100644 --- a/gcc/cselib.h +++ b/gcc/cselib.h @@ -49,6 +49,8 @@ struct elt_loc_list GTY(()) rtx loc; /* The insn that made the equivalence. */ rtx setting_insn; + /* True when setting insn is inside libcall. */ + bool in_libcall; }; /* A list of cselib_val structures. */ diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi index bc237c7729d..a6cf3a1f224 100644 --- a/gcc/doc/cpp.texi +++ b/gcc/doc/cpp.texi @@ -6,7 +6,7 @@ @c @cropmarks @c @finalout -@macro copyrightnotice +@copying @c man begin COPYRIGHT Copyright @copyright{} 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 @@ -23,9 +23,7 @@ section entitled ``GNU Free Documentation License''. man page gfdl(7). @c man end @end ignore -@end macro -@macro covertexts @c man begin COPYRIGHT This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below). @@ -40,7 +38,7 @@ This manual contains no Invariant Sections. The Front-Cover Texts are software. Copies published by the Free Software Foundation raise funds for GNU development. @c man end -@end macro +@end copying @macro gcctabopt{body} @code{\body\} @@ -70,8 +68,7 @@ This manual contains no Invariant Sections. The Front-Cover Texts are @c There is a fill at the bottom of the page, so we need a filll to @c override it. @vskip 0pt plus 1filll -@copyrightnotice{} -@covertexts{} +@insertcopying @end titlepage @contents @page @@ -180,8 +177,7 @@ Obsolete Features @end detailmenu @end menu -@copyrightnotice{} -@covertexts{} +@insertcopying @end ifnottex @node Overview @@ -3779,7 +3775,7 @@ The standard requires at least 15 levels. The C standard mandates this be at least 63. CPP is limited only by available memory. -@item Levels of parenthesised expressions within a full expression. +@item Levels of parenthesized expressions within a full expression. The C standard requires this to be at least 63. In preprocessor conditional expressions, it is limited only by available memory. @@ -3892,9 +3888,9 @@ answers. Subsequent assertions do not override previous ones for the same predicate. All the answers for any given predicate are simultaneously true. -@cindex assertions, cancelling +@cindex assertions, canceling @findex #unassert -Assertions can be cancelled with the @samp{#unassert} directive. It +Assertions can be canceled with the @samp{#unassert} directive. It has the same syntax as @samp{#assert}. In that form it cancels only the answer which was specified on the @samp{#unassert} line; other answers for that predicate remain true. You can cancel an entire predicate by diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 9a0f04cb0af..33607a0c4cf 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -4888,7 +4888,7 @@ type is @code{long double}. This is an implementation of the ISO C99 function @code{nan}. Since ISO C99 defines this function in terms of @code{strtod}, which we -do not implement, a desription of the parsing is in order. The string +do not implement, a description of the parsing is in order. The string is parsed as by @code{strtol}; that is, the base is recognized by leading @samp{0} or @samp{0x} prefixes. The number parsed is placed in the significand such that the least significant bit of the number @@ -6682,7 +6682,7 @@ Add after paragraph 4 @quotation The storage for an object of thread storage duration shall be -staticly initialized before the first statement of the thread startup +statically initialized before the first statement of the thread startup function. An object of thread storage duration shall not require dynamic initialization. @end quotation diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi index 1e9fcf48e18..d6bd8da0410 100644 --- a/gcc/doc/gcc.texi +++ b/gcc/doc/gcc.texi @@ -60,23 +60,10 @@ \global\setfont\defbf\ttbshape{10}{\magstep1} @end tex -@macro copyrightnotice +@copying Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -1999, 2000, 2001, 2002 Free Software Foundation, Inc. -@end macro -@ifnottex -@dircategory Programming -@direntry -* gcc: (gcc). The GNU Compiler Collection. -@end direntry -This file documents the use of the GNU compilers. -@sp 1 -Published by the Free Software Foundation@* -59 Temple Place - Suite 330@* -Boston, MA 02111-1307 USA -@sp 1 -@copyrightnotice{} -@sp 1 +1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the @@ -94,6 +81,20 @@ included in the section entitled ``GNU Free Documentation License''. You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. +@end copying +@ifnottex +@dircategory Programming +@direntry +* gcc: (gcc). The GNU Compiler Collection. +@end direntry +This file documents the use of the GNU compilers. +@sp 1 +Published by the Free Software Foundation@* +59 Temple Place - Suite 330@* +Boston, MA 02111-1307 USA +@sp 1 +@insertcopying +@sp 1 @end ifnottex @setchapternewpage odd @@ -102,14 +103,12 @@ included in the section entitled ``GNU Free Documentation License''. @sp 2 @center Richard M. Stallman @sp 3 -@center Last updated 20 April 2002 +@center Last updated 30 December 2002 @sp 1 @center for GCC @value{version-GCC} @page @vskip 0pt plus 1filll -@copyrightnotice{} -@sp 2 For GCC Version @value{version-GCC}@* @sp 1 Published by the Free Software Foundation @* @@ -122,23 +121,7 @@ Printed copies are available for $50 each.@* ISBN 1-882114-37-X @end ifset @sp 1 -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'', the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. +@insertcopying @end titlepage @summarycontents @contents @@ -165,7 +148,7 @@ Introduction, gccint, GNU Compiler Collection (GCC) Internals}. * C++ Extensions:: GNU extensions to the C++ language. * Objective-C:: GNU Objective-C runtime features. * Compatibility:: Binary Compatibility -* Gcov:: gcov: a GCC test coverage program. +* Gcov:: @command{gcov}---a test coverage program. * Trouble:: If you have trouble using GCC. * Bugs:: How, why and where to report bugs. * Service:: How to find suppliers of support for GCC. diff --git a/gcc/doc/gccint.texi b/gcc/doc/gccint.texi index 35bd02cc21a..918566ab04e 100644 --- a/gcc/doc/gccint.texi +++ b/gcc/doc/gccint.texi @@ -46,23 +46,10 @@ \global\setfont\defbf\ttbshape{10}{\magstep1} @end tex -@macro copyrightnotice +@copying Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. -@end macro -@ifnottex -@dircategory Programming -@direntry -* gccint: (gccint). Internals of the GNU Compiler Collection. -@end direntry -This file documents the internals of the GNU compilers. -@sp 1 -Published by the Free Software Foundation@* -59 Temple Place - Suite 330@* -Boston, MA 02111-1307 USA -@sp 1 -@copyrightnotice{} -@sp 1 + Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the @@ -80,6 +67,19 @@ included in the section entitled ``GNU Free Documentation License''. You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. +@end copying +@ifnottex +@dircategory Programming +@direntry +* gccint: (gccint). Internals of the GNU Compiler Collection. +@end direntry +This file documents the internals of the GNU compilers. +@sp 1 +Published by the Free Software Foundation@* +59 Temple Place - Suite 330@* +Boston, MA 02111-1307 USA +@sp 1 +@insertcopying @end ifnottex @setchapternewpage odd @@ -88,14 +88,12 @@ included in the section entitled ``GNU Free Documentation License''. @sp 2 @center Richard M. Stallman @sp 3 -@center Last updated 10 January 2002 +@center Last updated 28 December 2002 @sp 1 @center for GCC @value{version-GCC} @page @vskip 0pt plus 1filll -@copyrightnotice{} -@sp 2 For GCC Version @value{version-GCC}@* @sp 1 Published by the Free Software Foundation @* @@ -108,23 +106,7 @@ Printed copies are available for $50 each.@* ISBN 1-882114-37-X @end ifset @sp 1 -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'', the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. +@insertcopying @end titlepage @summarycontents @contents diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi index 9c0ac11d420..305a41a7f99 100644 --- a/gcc/doc/gcov.texi +++ b/gcc/doc/gcov.texi @@ -1,11 +1,12 @@ @c Copyright (C) 1996, 1997, 1999, 2000, 2001, -@c 2002 Free Software Foundation, Inc. +@c 2002, 2003 Free Software Foundation, Inc. @c This is part of the GCC manual. @c For copying conditions, see the file gcc.texi. @ignore @c man begin COPYRIGHT -Copyright @copyright{} 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +Copyright @copyright{} 1996, 1997, 1999, 2000, 2001, 2002, 2003 +Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -31,7 +32,7 @@ included in the gfdl(7) man page. @end ignore @node Gcov -@chapter @command{gcov}: a Test Coverage Program +@chapter @command{gcov}---a Test Coverage Program @command{gcov} is a tool you can use in conjunction with GCC to test code coverage in your programs. diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi index e0d9a33cde6..55deef24f69 100644 --- a/gcc/doc/gty.texi +++ b/gcc/doc/gty.texi @@ -184,10 +184,10 @@ specify the real type of a field identified by @code{use_param1} through @findex use_params @item use_params -When a structure contains another structure that is parameterised, +When a structure contains another structure that is parameterized, there's no need to do anything special, the inner stucture inherits the parameters of the outer one. When a structure contains a pointer to a -parameterised structure, the type machinery won't automatically detect +parameterized structure, the type machinery won't automatically detect this (it could, it just doesn't yet), so it's necessary to tell it that the pointed-to structure should use the same parameters as the outer structure. This is done by marking the pointer with the diff --git a/gcc/doc/include/gcc-common.texi b/gcc/doc/include/gcc-common.texi index 800dfefe402..c2ff561ef34 100644 --- a/gcc/doc/include/gcc-common.texi +++ b/gcc/doc/include/gcc-common.texi @@ -6,6 +6,11 @@ @set version-GCC 3.3 +@c DEVELOPMENT is set to indicate an in-development version, +@c as compared to a release version. When making a release +@c branch, clear this. +@clear DEVELOPMENT + @c Common macros to support generating man pages: @macro gcctabopt{body} diff --git a/gcc/doc/include/texinfo.tex b/gcc/doc/include/texinfo.tex index 99113dd71ba..a8541dca605 100644 --- a/gcc/doc/include/texinfo.tex +++ b/gcc/doc/include/texinfo.tex @@ -3,10 +3,10 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2002-03-01.06} +\def\texinfoversion{2002-12-26.16} % -% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -% 2000, 01, 02 Free Software Foundation, Inc. +% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. % % This texinfo.tex file is free software; you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -29,19 +29,17 @@ % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% ftp://ftp.gnu.org/gnu/texinfo.tex +% ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex % (and all GNU mirrors, see http://www.gnu.org/order/ftp.html) -% ftp://texinfo.org/texinfo/texinfo.tex % ftp://tug.org/tex/texinfo.tex % (and all CTAN mirrors, see http://www.ctan.org), % and /home/gd/gnu/doc/texinfo.tex on the GNU machines. % +% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. +% % The texinfo.tex in any given Texinfo distribution could well be out % of date, so if that's what you're using, please check. % -% Texinfo has a small home page at http://texinfo.org/ and also -% http://www.gnu.org/software/texinfo. -% % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. @@ -53,7 +51,7 @@ % texindex foo.?? % tex foo.texi % tex foo.texi -% dvips foo.dvi -o # or whatever, to process the dvi file; this makes foo.ps. +% dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. @@ -69,6 +67,13 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} +\message{Basics,} +\chardef\other=12 + +% We never want plain's outer \+ definition in Texinfo. +% For @tex, we can use \tabalign. +\let\+ = \relax + % Save some parts of plain tex whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet @@ -79,19 +84,16 @@ \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! +\let\ptexgtr=> +\let\ptexhat=^ \let\ptexi=\i \let\ptexlbrace=\{ +\let\ptexless=< +\let\ptexplus=+ \let\ptexrbrace=\} \let\ptexstar=\* \let\ptext=\t -% We never want plain's outer \+ definition in Texinfo. -% For @tex, we can use \tabalign. -\let\+ = \relax - -\message{Basics,} -\chardef\other=12 - % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J @@ -142,36 +144,48 @@ % \def\gobble#1{} +% True if #1 is the empty string, i.e., called like `\ifempty{}'. +% +\def\ifempty#1{\ifemptyx #1\emptymarkA\emptymarkB}% +\def\ifemptyx#1#2\emptymarkB{\ifx #1\emptymarkA}% + +% Hyphenation fixes. \hyphenation{ap-pen-dix} \hyphenation{mini-buf-fer mini-buf-fers} \hyphenation{eshell} \hyphenation{white-space} % Margin to add to right of even pages, to left of odd pages. -\newdimen \bindingoffset -\newdimen \normaloffset +\newdimen\bindingoffset +\newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. +% since that produces some useless output on the terminal. We also make +% some effort to order the tracing commands to reduce output in the log +% file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\ifx\eTeXversion\undefined -\def\loggingall{\tracingcommands2 \tracingstats2 - \tracingpages1 \tracingoutput1 \tracinglostchars1 - \tracingmacros2 \tracingparagraphs1 \tracingrestores1 - \showboxbreadth\maxdimen\showboxdepth\maxdimen -}% -\else -\def\loggingall{\tracingcommands3 \tracingstats2 - \tracingpages1 \tracingoutput1 \tracinglostchars1 - \tracingmacros2 \tracingparagraphs1 \tracingrestores1 - \tracingscantokens1 \tracingassigns1 \tracingifs1 - \tracinggroups1 \tracingnesting2 - \showboxbreadth\maxdimen\showboxdepth\maxdimen +\def\loggingall{% + \tracingstats2 + \tracingpages1 + \tracinglostchars2 % 2 gives us more in etex + \tracingparagraphs1 + \tracingoutput1 + \tracingmacros2 + \tracingrestores1 + \showboxbreadth\maxdimen \showboxdepth\maxdimen + \ifx\eTeXversion\undefined\else % etex gives us more logging + \tracingscantokens1 + \tracingifs1 + \tracinggroups1 + \tracingnesting2 + \tracingassigns1 + \fi + \tracingcommands3 % 3 gives us more in etex + \errorcontextlines\maxdimen }% -\fi % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. @@ -436,17 +450,6 @@ } -% Single-spacing is done by various environments (specifically, in -% \nonfillstart and \quotations). -\newskip\singlespaceskip \singlespaceskip = 12.5pt -\def\singlespace{% - % Why was this kern here? It messes up equalizing space above and below - % environments. --karl, 6may93 - %{\advance \baselineskip by -\singlespaceskip - %\kern \baselineskip}% - \setleading\singlespaceskip -} - %% Simple single-character @ commands % @@ prints an @ @@ -841,12 +844,6 @@ where each line of input produces a line of output.} % to set catcodes according to plain TeX first, to allow for subscripts, % superscripts, special math chars, etc. % -% @math does not do math typesetting in section titles, index -% entries, and other such contexts where the catcodes are set before -% @math gets a chance to work. This could perhaps be fixed, but for now -% at least we can have real math in the main text, where it's needed most. -% -% \let\implicitmath = $%$ font-lock fix % % One complication: _ usually means subscripts, but it could also mean @@ -857,12 +854,42 @@ where each line of input produces a line of output.} {\catcode95 = \active % 95 = _ \gdef\mathunderscore{% \catcode95=\active - \def_{\ifnum\fam=\slfam\_\else\sb\fi}% + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% }} % -\def\math{\tex\mathcode`\_="8000\mathunderscore \implicitmath\finishmath} +% Another complication: we want \\ (and @\) to output a \ character. +% FYI, plain.tex uses \\ as a temporary control sequence (why?), but +% this is not advertised and we don't care. Texinfo does not +% otherwise define @\. +% +% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. +\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} +% +\def\math{% + \tex + \mathcode`\_="8000 \mathunderscore + \let\\ = \mathbackslash + \mathactive + \implicitmath\finishmath} \def\finishmath#1{#1\implicitmath\Etex} +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an +% argument to a command which set the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + } +} + % @bullet and @minus need the same treatment as @math, just above. \def\bullet{\implicitmath\ptexbullet\implicitmath} \def\minus{\implicitmath-\implicitmath} @@ -954,7 +981,7 @@ where each line of input produces a line of output.} \ifx\empty\imagewidth\else width \imagewidth \fi \ifx\empty\imageheight\else height \imageheight \fi \ifnum\pdftexversion<13 - #1.pdf% + #1.pdf% \else {#1.pdf}% \fi @@ -976,40 +1003,39 @@ where each line of input produces a line of output.} \openin 1 \jobname.toc \ifeof 1\else\begingroup \closein 1 - \indexnofonts - \def\tt{} - \let\_ = \normalunderscore % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % \def\chapentry ##1##2##3{} - \let\appendixentry = \chapentry - \def\unnumbchapentry ##1##2{} \def\secentry ##1##2##3##4{\advancenumber{chap##2}} - \def\unnumbsecentry ##1##2{} \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}} - \def\unnumbsubsecentry ##1##2{} \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}} - \def\unnumbsubsubsecentry ##1##2{} + \let\appendixentry = \chapentry + \let\unnumbchapentry = \chapentry + \let\unnumbsecentry = \secentry + \let\unnumbsubsecentry = \subsecentry + \let\unnumbsubsubsecentry = \subsubsecentry \input \jobname.toc \def\chapentry ##1##2##3{% \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}} - \let\appendixentry = \chapentry - \def\unnumbchapentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} \def\secentry ##1##2##3##4{% \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}} - \def\unnumbsecentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} \def\subsecentry ##1##2##3##4##5{% \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}} - \def\unnumbsubsecentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} \def\subsubsecentry ##1##2##3##4##5##6{% \pdfoutline goto name{\pdfmkpgn{##6}}{##1}} - \def\unnumbsubsubsecentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} + \let\appendixentry = \chapentry + \let\unnumbchapentry = \chapentry + \let\unnumbsecentry = \secentry + \let\unnumbsubsecentry = \subsecentry + \let\unnumbsubsubsecentry = \subsubsecentry + % + % Make special characters normal for writing to the pdf file. + % + \indexnofonts + \let\tt=\relax + \turnoffactive \input \jobname.toc \endgroup\fi }} @@ -1159,7 +1185,7 @@ where each line of input produces a line of output.} \newcount\mainmagstep \ifx\bigger\relax % not really supported. - \let\mainmagstep=\magstep1 + \mainmagstep=\magstep1 \setfont\textrm\rmshape{12}{1000} \setfont\texttt\ttshape{12}{1000} \else @@ -1220,6 +1246,7 @@ where each line of input produces a line of output.} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} +\def\authortt{\sectt} % Chapter (and unnumbered) fonts (17.28pt). \setfont\chaprm\rmbshape{12}{\magstep2} @@ -1334,6 +1361,7 @@ where each line of input produces a line of output.} \setfont\shortcontrm\rmshape{12}{1000} \setfont\shortcontbf\bxshape{12}{1000} \setfont\shortcontsl\slshape{12}{1000} +\setfont\shortconttt\ttshape{12}{1000} %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic @@ -1341,8 +1369,8 @@ where each line of input produces a line of output.} % \smartitalic{ARG} outputs arg in italics, followed by an italic correction % unless the following character is such as not to need one. \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi} -\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx} -\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx} +\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} +\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\var=\smartslanted @@ -1431,11 +1459,19 @@ where each line of input produces a line of output.} \def\realdash{-} \def\codedash{-\discretionary{}{}{}} -\def\codeunder{\ifusingtt{\normalunderscore\discretionary{}{}{}}{\_}} +\def\codeunder{% + % this is all so @math{@code{var_name}+1} can work. In math mode, _ + % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) + % will therefore expand the active definition of _, which is us + % (inside @code that is), therefore an endless loop. + \ifusingtt{\ifmmode + \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. + \else\normalunderscore \fi + \discretionary{}{}{}}% + {\_}% +} \def\codex #1{\tclose{#1}\endgroup} -%\let\exp=\tclose %Was temporary - % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. @@ -1573,7 +1609,8 @@ where each line of input produces a line of output.} \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}% % - \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}% + \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines + \let\tt=\authortt}% % % Leave some space at the very top of the page. \vglue\titlepagetopglue @@ -1637,8 +1674,6 @@ where each line of input produces a line of output.} \global\let\contents = \relax \global\let\shortcontents = \relax \fi - % - \ifpdf \pdfmakepagedesttrue \fi } \def\finishtitlepage{% @@ -1856,10 +1891,18 @@ where each line of input produces a line of output.} % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % - % Stop a page break at the \parskip glue coming up. Unfortunately + % Stop a page break at the \parskip glue coming up. (Unfortunately % we can't prevent a possible page break at the following - % \baselineskip glue. - \nobreak + % \baselineskip glue.) However, if what follows is an environment + % such as @example, there will be no \parskip glue; then + % the negative vskip we just would cause the example and the item to + % crash together. So we use this bizarre value of 10001 as a signal + % to \aboveenvbreak to insert \parskip glue after all. + % (Possibly there are other commands that could be followed by + % @example which need the same treatment, but not section titles; or + % maybe section titles are the only special case and they should be + % penalty 10001...) + \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else @@ -2396,20 +2439,20 @@ width0pt\relax} \fi \let\item = \relax } -% Ignore @ignore ... @end ignore. -% -\def\ignore{\doignore{ignore}} - -% Also ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, -% @documentdescription, and @direntry text. +% Ignore @ignore, @ifhtml, @ifinfo, and the like. % -\def\ifinfo{\doignore{ifinfo}} +\def\direntry{\doignore{direntry}} +\def\documentdescriptionword{documentdescription} +\def\documentdescription{\doignore{documentdescription}} +\def\html{\doignore{html}} \def\ifhtml{\doignore{ifhtml}} +\def\ifinfo{\doignore{ifinfo}} \def\ifnottex{\doignore{ifnottex}} -\def\html{\doignore{html}} +\def\ifplaintext{\doignore{ifplaintext}} +\def\ifxml{\doignore{ifxml}} +\def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} -\def\documentdescription{\doignore{documentdescription}} -\def\direntry{\doignore{direntry}} +\def\xml{\doignore{xml}} % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. @@ -2436,14 +2479,21 @@ width0pt\relax} \fi % We must not have @c interpreted as a control sequence. \catcode`\@ = 12 % - % Make the letter c a comment character so that the rest of the line - % will be ignored. This way, the document can have (for example) - % @c @end ifinfo - % and the @end ifinfo will be properly ignored. - % (We've just changed @ to catcode 12.) - \catcode`\c = 14 + \def\ignoreword{#1}% + \ifx\ignoreword\documentdescriptionword + % The c kludge breaks documentdescription, since + % `documentdescription' contains a `c'. Means not everything will + % be ignored inside @documentdescription, but oh well... + \else + % Make the letter c a comment character so that the rest of the line + % will be ignored. This way, the document can have (for example) + % @c @end ifinfo + % and the @end ifinfo will be properly ignored. + % (We've just changed @ to catcode 12.) + \catcode`\c = 14 + \fi % - % And now expand that command. + % And now expand the command defined above. \doignoretext } @@ -2462,7 +2512,7 @@ width0pt\relax} \fi \immediate\write16{If you are running another version of TeX, relax.} \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.} \immediate\write16{ Then upgrade your TeX installation if you can.} - \immediate\write16{ (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)} + \immediate\write16{ (See ftp://ftp.gnu.org/non-gnu/TeX.README.)} \immediate\write16{If you are stuck with version 3.0, run the} \immediate\write16{ script ``tex3patch'' from the Texinfo distribution} \immediate\write16{ to use a workaround.} @@ -2484,7 +2534,7 @@ width0pt\relax} \fi % We must actually expand the ignored text to look for the @end % command, so that nested ignore constructs work. Thus, we put the % text into a \vbox and then do nothing with the result. To minimize - % the change of memory overflow, we follow the approach outlined on + % the chance of memory overflow, we follow the approach outlined on % page 401 of the TeXbook: make the current font be a dummy font. % \setbox0 = \vbox\bgroup @@ -2536,7 +2586,7 @@ width0pt\relax} \fi % Do minimal line-breaking. \pretolerance = 10000 % - % Do not execute instructions in @tex + % Do not execute instructions in @tex. \def\tex{\doignore{tex}}% % Do not execute macro definitions. % `c' is a comment character, so the word `macro' will get cut off. @@ -2634,19 +2684,21 @@ width0pt\relax} \fi \def\ifclearfail{\nestedignore{ifclear}} \defineunmatchedend{ifclear} -% @iftex, @ifnothtml, @ifnotinfo always succeed; we read the text -% following, through the first @end iftex (etc.). Make `@end iftex' -% (etc.) valid only after an @iftex. +% @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we +% read the text following, through the first @end iftex (etc.). Make +% `@end iftex' (etc.) valid only after an @iftex. % \def\iftex{\conditionalsucceed{iftex}} \def\ifnothtml{\conditionalsucceed{ifnothtml}} \def\ifnotinfo{\conditionalsucceed{ifnotinfo}} +\def\ifnotplaintext{\conditionalsucceed{ifnotplaintext}} \defineunmatchedend{iftex} \defineunmatchedend{ifnothtml} \defineunmatchedend{ifnotinfo} +\defineunmatchedend{ifnotplaintext} -% We can't just want to start a group at @iftex (for example) and end it -% at @end iftex, since then @set commands inside the conditional have no +% We can't just want to start a group at @iftex (etc.) and end it at +% @end iftex, since then @set commands inside the conditional have no % effect (they'd get reverted at the end of the group). So we must % define \Eiftex to redefine itself to be its previous value. (We can't % just define it to fail again with an ``unmatched end'' error, since @@ -2861,7 +2913,7 @@ width0pt\relax} \fi % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the -% expansion of \tie (\\leavevmode \penalty \@M \ ). +% expansion of \tie (\leavevmode \penalty \@M \ ). {\obeyspaces \gdef\unsepspaces{\obeyspaces\let =\space}} @@ -3524,13 +3576,18 @@ width0pt\relax} \fi \global\let\subsubsection = \numberedsubsubsec } +% we use \chapno to avoid indenting back +\def\appendixbox#1{% + \setbox0 = \hbox{\putwordAppendix{} \the\chapno}% + \hbox to \wd0{#1\hss}} + \outer\def\appendix{\parsearg\appendixyyy} \def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz \def\appendixzzz #1{% \secno=0 \subsecno=0 \subsubsecno=0 \global\advance \appendixno by 1 \message{\putwordAppendix\space \appendixletter}% -\chapmacro {#1}{\putwordAppendix{} \appendixletter}% +\chapmacro {#1}{\appendixbox{\putwordAppendix{} \appendixletter}}% \gdef\thissection{#1}% \gdef\thischaptername{#1}% \xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}% @@ -3572,7 +3629,7 @@ width0pt\relax} \fi \unnumbchapmacro {#1}% \gdef\thischapter{#1}\gdef\thissection{#1}% \toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}% +\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}{\the\chapno}}}% \temp \unnumbnoderef \global\let\section = \unnumberedsec @@ -3613,7 +3670,8 @@ width0pt\relax} \fi \def\unnumberedseczzz #1{% \plainsecheading {#1}\gdef\thissection{#1}% \toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry{\the\toks0}}}% +\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry% + {\the\toks0}{\the\chapno}{\the\secno}}}% \temp \unnumbnoderef \nobreak @@ -3652,7 +3710,7 @@ width0pt\relax} \fi \plainsubsecheading {#1}\gdef\thissection{#1}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry% - {\the\toks0}}}% + {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}}}% \temp \unnumbnoderef \nobreak @@ -3693,7 +3751,7 @@ width0pt\relax} \fi \plainsubsubsecheading {#1}\gdef\thissection{#1}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry% - {\the\toks0}}}% + {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}% \temp \unnumbnoderef \nobreak @@ -3892,7 +3950,16 @@ width0pt\relax} \fi \hangindent = \wd0 % zero if no section number \unhbox0 #3}% }% - \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak + % Add extra space after the heading -- either a line space or a + % paragraph space, whichever is more. (Some people like to set + % \parskip to large values for some reason.) + \nobreak + \ifdim\parskip>\normalbaselineskip + \kern\parskip + \else + \kern\normalbaselineskip + \fi + \nobreak } @@ -3905,7 +3972,7 @@ width0pt\relax} \fi % argument, which will end up as the last argument to the \...entry macro. % % We open the .toc file here instead of at @setfilename or any other -% given time so that @contents can be put in the document anywhere. +% fixed time so that @contents can be put in the document anywhere. % \newif\iftocfileopened \def\writetocentry#1{% @@ -3914,6 +3981,14 @@ width0pt\relax} \fi \global\tocfileopenedtrue \fi \iflinks \write\tocfile{#1{\folio}}\fi + % + % Tell \shipout to create a page destination if we're doing pdf, which + % will be the target of the links in the table of contents. We can't + % just do it on every page because the title pages are numbered 1 and + % 2 (the page numbers aren't printed), and so are the first two pages + % of the document. Thus, we'd have two destinations named `1', and + % two named `2'. + \ifpdf \pdfmakepagedesttrue \fi } \newskip\contentsrightmargin \contentsrightmargin=1in @@ -3973,16 +4048,17 @@ width0pt\relax} \fi \let\unnumbchapentry = \shortunnumberedentry % We want a true roman here for the page numbers. \secfonts - \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl + \let\rm=\shortcontrm \let\bf=\shortcontbf + \let\sl=\shortcontsl \let\tt=\shortconttt \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\secentry ##1##2##3##4{} - \def\unnumbsecentry ##1##2{} \def\subsecentry ##1##2##3##4##5{} - \def\unnumbsubsecentry ##1##2{} \def\subsubsecentry ##1##2##3##4##5##6{} - \def\unnumbsubsubsecentry ##1##2{} + \let\unnumbsecentry = \secentry + \let\unnumbsubsecentry = \subsecentry + \let\unnumbsubsubsecentry = \subsubsecentry \openin 1 \jobname.toc \ifeof 1 \else \closein 1 @@ -4015,7 +4091,8 @@ width0pt\relax} \fi } % Appendices, in the main contents. -\def\appendixentry#1#2#3{\dochapentry{\putwordAppendix{} #2\labelspace#1}{#3}} +\def\appendixentry#1#2#3{% + \dochapentry{\appendixbox{\putwordAppendix{} #2}\labelspace#1}{#3}} % % Appendices, in the short toc. \let\shortappendixentry = \shortchapentry @@ -4039,21 +4116,21 @@ width0pt\relax} \fi } % Unnumbered chapters. -\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}} -\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}} +\def\unnumbchapentry#1#2#3{\dochapentry{#1}{#3}} +\def\shortunnumberedentry#1#2#3{\tocentry{#1}{\doshortpageno\bgroup#3\egroup}} % Sections. \def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}} -\def\unnumbsecentry#1#2{\dosecentry{#1}{#2}} +\def\unnumbsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. \def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}} -\def\unnumbsubsecentry#1#2{\dosubsecentry{#1}{#2}} +\def\unnumbsubsecentry#1#2#3#4#5{\dosubsecentry{#1}{#5}} % And subsubsections. \def\subsubsecentry#1#2#3#4#5#6{% \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}} -\def\unnumbsubsubsecentry#1#2{\dosubsubsecentry{#1}{#2}} +\def\unnumbsubsubsecentry#1#2#3#4#5#6{\dosubsubsecentry{#1}{#6}} % This parameter controls the indentation of the various levels. \newdimen\tocindent \tocindent = 3pc @@ -4114,36 +4191,27 @@ width0pt\relax} \fi \message{environments,} % @foo ... @end foo. +% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. +% % Since these characters are used in examples, it should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. -% Furthermore, these definitions must come after we define our fonts. -\newbox\dblarrowbox \newbox\longdblarrowbox -\newbox\pushcharbox \newbox\bullbox -\newbox\equivbox \newbox\errorbox - -%{\tentt -%\global\setbox\dblarrowbox = \hbox to 1em{\hfil$\Rightarrow$\hfil} -%\global\setbox\longdblarrowbox = \hbox to 1em{\hfil$\mapsto$\hfil} -%\global\setbox\pushcharbox = \hbox to 1em{\hfil$\dashv$\hfil} -%\global\setbox\equivbox = \hbox to 1em{\hfil$\ptexequiv$\hfil} -% Adapted from the manmac format (p.420 of TeXbook) -%\global\setbox\bullbox = \hbox to 1em{\kern.15em\vrule height .75ex width .85ex -% depth .1ex\hfil} -%} - -% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. +% \def\point{$\star$} \def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} +% The @error{} command. % Adapted from the TeXbook's \boxit. +% +\newbox\errorbox +% {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt} - +% \global\setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. @@ -4154,8 +4222,7 @@ width0pt\relax} \fi \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} - -% The @error{} command. +% \def\error{\leavevmode\lower.7ex\copy\errorbox} % @tex ... @end tex escapes into raw Tex temporarily. @@ -4195,9 +4262,9 @@ width0pt\relax} \fi \def\@{@}% \let\Etex=\endgroup} -% Define @lisp ... @endlisp. +% Define @lisp ... @end lisp. % @lisp does a \begingroup so it can rebind things, -% including the definition of @endlisp (which normally is erroneous). +% including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in @@ -4226,15 +4293,18 @@ width0pt\relax} \fi % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the -% start of the next paragraph will insert \parskip +% start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% - \ifnum\lastpenalty < 10000 + % =10000 instead of <10000 because of a special case in \itemzzz, q.v. + \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip - \penalty-50 + % it's not a good place to break if the last penalty was \nobreak + % or better ... + \ifnum\lastpenalty>10000 \else \penalty-50 \fi \vskip\envskipamount \fi \fi @@ -4313,7 +4383,6 @@ width0pt\relax} \fi \inENV % This group ends at the end of the body \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. - \singlespace \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt @@ -4428,7 +4497,6 @@ width0pt\relax} \fi \def\quotation{% \begingroup\inENV %This group ends at the end of the @quotation body {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \singlespace \parindent=0pt % We have retained a nonzero parskip for the environment, since we're % doing normal filling. So to avoid extra space below the environment... @@ -4451,10 +4519,14 @@ width0pt\relax} \fi % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % -% [Knuth] p. 344; only we need to do '@' too +% [Knuth] p.344; only we need to do the other characters Texinfo sets +% active too. Otherwise, they get lost as the first character on a +% verbatim line. \def\dospecials{% - \do\ \do\\\do\@\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~} + \do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% + \do\<\do\>\do\|\do\@\do+\do\"% +} % % [Knuth] p. 380 \def\uncatcodespecials{% @@ -4541,7 +4613,7 @@ width0pt\relax} \fi % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': -% we need not redefine '\', '{' and '}' +% we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] %% Include LaTeX hack for completeness -- never know @@ -4551,9 +4623,14 @@ width0pt\relax} \fi %% \catcode`\\=12|gdef|doverbatim#1@end verbatim[ %% #1|endgroup|def|Everbatim[]|end[verbatim]] %% |endgroup +% \begingroup \catcode`\ =\active - \gdef\doverbatim#1@end verbatim{#1\end{verbatim}} + \obeylines % + % ignore everything up to the first ^^M, that's the newline at the end + % of the @verbatim input line itself. Otherwise we get an extra blank + % line in the output. + \gdef\doverbatim#1^^M#2@end verbatim{#2\end{verbatim}}% \endgroup % \def\verbatim{% @@ -4595,24 +4672,94 @@ width0pt\relax} \fi \endgroup\nonfillfinish\endgroup } +% @copying ... @end copying. +% Save the text away for @insertcopying later. Many commands won't be +% allowed in this context, but that's ok. +% +% We save the uninterpreted tokens, rather than creating a box. +% Saving the text in a box would be much easier, but then all the +% typesetting commands (@smallbook, font changes, etc.) have to be done +% beforehand -- and a) we want @copying to be done first in the source +% file; b) letting users define the frontmatter in as flexible order as +% possible is very desirable. +% +\def\copying{\begingroup + % Define a command to swallow text until we reach `@end copying'. + % \ is the escape char in this texinfo.tex file, so it is the + % delimiter for the command; @ will be the escape char when we read + % it, but that doesn't matter. + \long\def\docopying##1\end copying{\gdef\copyingtext{##1}\enddocopying}% + % + % We must preserve ^^M's in the input file; see \insertcopying below. + \catcode`\^^M = \active + \docopying +} + +% What we do to finish off the copying text. +% +\def\enddocopying{\endgroup\ignorespaces} + +% @insertcopying. Here we must play games with ^^M's. On the one hand, +% we need them to delimit commands such as `@end quotation', so they +% must be active. On the other hand, we certainly don't want every +% end-of-line to be a \par, as would happen with the normal active +% definition of ^^M. On the third hand, two ^^M's in a row should still +% generate a \par. +% +% Our approach is to make ^^M insert a space and a penalty1 normally; +% then it can also check if \lastpenalty=1. If it does, then manually +% do \par. +% +% This messes up the normal definitions of @c[omment], so we redefine +% it. Similarly for @ignore. (These commands are used in the gcc +% manual for man page generation.) +% +% Seems pretty fragile, most line-oriented commands will presumably +% fail, but for the limited use of getting the copying text (which +% should be quite simple) inserted, we can hope it's ok. +% +{\catcode`\^^M=\active % +\gdef\insertcopying{\begingroup % + \parindent = 0pt % looks wrong on title page + \def^^M{% + \ifnum \lastpenalty=1 % + \par % + \else % + \space \penalty 1 % + \fi % + }% + % + % Fix @c[omment] for catcode 13 ^^M's. + \def\c##1^^M{\ignorespaces}% + \let\comment = \c % + % + % Don't bother jumping through all the hoops that \doignore does, it + % would be very hard since the catcodes are already set. + \long\def\ignore##1\end ignore{\ignorespaces}% + % + \copyingtext % +\endgroup}% +} \message{defuns,} % @defun etc. % Allow user to change definition object font (\df) internally -\def\setdeffont #1 {\csname DEF#1\endcsname} +\def\setdeffont#1 {\csname DEF#1\endcsname} \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt -\newskip\deftypemargin \deftypemargin=12pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\parencount -% define \functionparens, which makes ( and ) and & do special things. -% \functionparens affects the group it is contained in. + +% We want ()&[] to print specially on the defun line. +% \def\activeparens{% -\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active -\catcode`\[=\active \catcode`\]=\active} + \catcode`\(=\active \catcode`\)=\active + \catcode`\&=\active + \catcode`\[=\active \catcode`\]=\active +} % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) @@ -4663,84 +4810,117 @@ width0pt\relax} \fi \global\let& = \ampnr } -% First, defname, which formats the header line itself. -% #1 should be the function name. -% #2 should be the type of definition, such as "Function". - -\def\defname #1#2{% -% Get the values of \leftskip and \rightskip as they were -% outside the @def... -\dimen2=\leftskip -\advance\dimen2 by -\defbodyindent -\noindent -\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}% -\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations -\parshape 2 0in \dimen0 \defargsindent \dimen1 -% Now output arg 2 ("Function" or some such) -% ending at \deftypemargin from the right margin, -% but stuck inside a box of width 0 so it does not interfere with linebreaking -{% Adjust \hsize to exclude the ambient margins, -% so that \rightline will obey them. -\advance \hsize by -\dimen2 -\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}% -% Make all lines underfull and no complaints: -\tolerance=10000 \hbadness=10000 -\advance\leftskip by -\defbodyindent -\exdentamount=\defbodyindent -{\df #1}\enskip % Generate function name -} - -% Actually process the body of a definition -% #1 should be the terminating control sequence, such as \Edefun. -% #2 should be the "another name" control sequence, such as \defunx. -% #3 should be the control sequence that actually processes the header, -% such as \defunheader. - -\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody -\medbreak % -% Define the end token that this defining construct specifies -% so that it will exit this group. -\def#1{\endgraf\endgroup\medbreak}% -\def#2{\begingroup\obeylines\activeparens\spacesplit#3}% -\parindent=0in -\advance\leftskip by \defbodyindent -\exdentamount=\defbodyindent -\begingroup % -\catcode 61=\active % 61 is `=' -\obeylines\activeparens\spacesplit#3} +% \defname, which formats the name of the @def (not the args). +% #1 is the function name. +% #2 is the type of definition, such as "Function". +% +\def\defname#1#2{% + % How we'll output the type name. Putting it in brackets helps + % distinguish it from the body text that may end up on the next line + % just below it. + \ifempty{#2}% + \def\defnametype{}% + \else + \def\defnametype{[\rm #2]}% + \fi + % + % Get the values of \leftskip and \rightskip as they were outside the @def... + \dimen2=\leftskip + \advance\dimen2 by -\defbodyindent + % + % Figure out values for the paragraph shape. + \setbox0=\hbox{\hskip \deflastargmargin{\defnametype}}% + \dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line + \dimen1=\hsize \advance \dimen1 by -\defargsindent % size for continuations + \parshape 2 0in \dimen0 \defargsindent \dimen1 + % + % Output arg 2 ("Function" or some such) but stuck inside a box of + % width 0 so it does not interfere with linebreaking. + \noindent + % + {% Adjust \hsize to exclude the ambient margins, + % so that \rightline will obey them. + \advance \hsize by -\dimen2 + \dimen3 = 0pt % was -1.25pc + \rlap{\rightline{\defnametype\kern\dimen3}}% + }% + % + % Allow all lines to be underfull without complaint: + \tolerance=10000 \hbadness=10000 + \advance\leftskip by -\defbodyindent + \exdentamount=\defbodyindent + {\df #1}\enskip % output function name + % \defunargs will be called next to output the arguments, if any. +} +% Common pieces to start any @def... % #1 is the \E... control sequence to end the definition (which we define). -% #2 is the \...x control sequence for consecutive fns (which we define). -% #3 is the control sequence to call to resume processing. +% #2 is the \...x control sequence (which our caller defines). +% #3 is the control sequence to process the header, such as \defunheader. +% +\def\parsebodycommon#1#2#3{% + \begingroup\inENV + % If there are two @def commands in a row, we'll have a \nobreak, + % which is there to keep the function description together with its + % header. But if there's nothing but headers, we want to allow a + % break after all. + \ifnum\lastpenalty=10000 \penalty0 \fi + \medbreak + % + % Define the \E... end token that this defining construct specifies + % so that it will exit this group. + \def#1{\endgraf\endgroup\medbreak}% + % + \parindent=0in + \advance\leftskip by \defbodyindent + \exdentamount=\defbodyindent +} + +% Common part of the \...x definitions. +% +\def\defxbodycommon{% + % As with \parsebodycommon above, allow line break if we have multiple + % x headers in a row. It's not a great place, though. + \ifnum\lastpenalty=10000 \penalty1000 \fi + % + \begingroup\obeylines +} + +% Process body of @defun, @deffn, @defmac, etc. +% +\def\defparsebody#1#2#3{% + \parsebodycommon{#1}{#2}{#3}% + \def#2{\defxbodycommon \activeparens \spacesplit#3}% + \catcode61=\active % 61 is `=' + \begingroup\obeylines\activeparens + \spacesplit#3% +} + +% #1, #2, #3 are the common arguments (see \parsebodycommon above). % #4, delimited by the space, is the class name. % -\def\defmethparsebody#1#2#3#4 {\begingroup\inENV % -\medbreak % -% Define the end token that this defining construct specifies -% so that it will exit this group. -\def#1{\endgraf\endgroup\medbreak}% -\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}% -\parindent=0in -\advance\leftskip by \defbodyindent -\exdentamount=\defbodyindent -\begingroup\obeylines\activeparens\spacesplit{#3{#4}}} +\def\defmethparsebody#1#2#3#4 {% + \parsebodycommon{#1}{#2}{#3}% + \def#2##1 {\defxbodycommon \activeparens \spacesplit{#3{##1}}}% + \begingroup\obeylines\activeparens + % The \empty here prevents misinterpretation of a construct such as + % @deffn {whatever} {Enharmonic comma} + % See comments at \deftpparsebody, although in our case we don't have + % to remove the \empty afterwards, since it is empty. + \spacesplit{#3{#4}}\empty +} % Used for @deftypemethod and @deftypeivar. -% #1 is the \E... control sequence to end the definition (which we define). -% #2 is the \...x control sequence for consecutive fns (which we define). -% #3 is the control sequence to call to resume processing. +% #1, #2, #3 are the common arguments (see \defparsebody). % #4, delimited by a space, is the class name. % #5 is the method's return type. % -\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV - \medbreak - \def#1{\endgraf\endgroup\medbreak}% - \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}% - \parindent=0in - \advance\leftskip by \defbodyindent - \exdentamount=\defbodyindent - \begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}} +\def\deftypemethparsebody#1#2#3#4 #5 {% + \parsebodycommon{#1}{#2}{#3}% + \def#2##1 ##2 {\defxbodycommon \activeparens \spacesplit{#3{##1}{##2}}}% + \begingroup\obeylines\activeparens + \spacesplit{#3{#4}{#5}}% +} % Used for @deftypeop. The change from \deftypemethparsebody is an % extra argument at the beginning which is the `category', instead of it @@ -4749,64 +4929,48 @@ width0pt\relax} \fi % input at hand. Thus also need a control sequence (passed as #5) for % the \E... definition to assign the category name to. % -\def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV - \medbreak - \def#1{\endgraf\endgroup\medbreak}% - \def#2##1 ##2 ##3 {% - \def#4{##1}% - \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}% - \parindent=0in - \advance\leftskip by \defbodyindent - \exdentamount=\defbodyindent - \begingroup\obeylines\activeparens\spacesplit{#3{#5}{#6}}} - -\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV % -\medbreak % -% Define the end token that this defining construct specifies -% so that it will exit this group. -\def#1{\endgraf\endgroup\medbreak}% -\def#2##1 ##2 {\def#4{##1}% -\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}% -\parindent=0in -\advance\leftskip by \defbodyindent -\exdentamount=\defbodyindent -\begingroup\obeylines\activeparens\spacesplit{#3{#5}}} +\def\deftypeopparsebody#1#2#3#4#5 #6 {% + \parsebodycommon{#1}{#2}{#3}% + \def#2##1 ##2 ##3 {\def#4{##1}% + \defxbodycommon \activeparens \spacesplit{#3{##2}{##3}}}% + \begingroup\obeylines\activeparens + \spacesplit{#3{#5}{#6}}% +} + +% For @defop. +\def\defopparsebody #1#2#3#4#5 {% + \parsebodycommon{#1}{#2}{#3}% + \def#2##1 ##2 {\def#4{##1}% + \defxbodycommon \activeparens \spacesplit{#3{##2}}}% + \begingroup\obeylines\activeparens + \spacesplit{#3{#5}}% +} % These parsing functions are similar to the preceding ones % except that they do not make parens into active characters. % These are used for "variables" since they have no arguments. - -\def\defvarparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody -\medbreak % -% Define the end token that this defining construct specifies -% so that it will exit this group. -\def#1{\endgraf\endgroup\medbreak}% -\def#2{\begingroup\obeylines\spacesplit#3}% -\parindent=0in -\advance\leftskip by \defbodyindent -\exdentamount=\defbodyindent -\begingroup % -\catcode 61=\active % -\obeylines\spacesplit#3} - -% This is used for \def{tp,vr}parsebody. It could probably be used for -% some of the others, too, with some judicious conditionals. % -\def\parsebodycommon#1#2#3{% - \begingroup\inENV % - \medbreak % - % Define the end token that this defining construct specifies - % so that it will exit this group. - \def#1{\endgraf\endgroup\medbreak}% - \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}% - \parindent=0in - \advance\leftskip by \defbodyindent - \exdentamount=\defbodyindent +\def\defvarparsebody #1#2#3{% + \parsebodycommon{#1}{#2}{#3}% + \def#2{\defxbodycommon \spacesplit#3}% + \catcode61=\active % + \begingroup\obeylines + \spacesplit#3% +} + +% @defopvar. +\def\defopvarparsebody #1#2#3#4#5 {% + \parsebodycommon{#1}{#2}{#3}% + \def#2##1 ##2 {\def#4{##1}% + \defxbodycommon \spacesplit{#3{##2}}}% \begingroup\obeylines + \spacesplit{#3{#5}}% } \def\defvrparsebody#1#2#3#4 {% \parsebodycommon{#1}{#2}{#3}% + \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}% + \begingroup\obeylines \spacesplit{#3{#4}}% } @@ -4821,6 +4985,8 @@ width0pt\relax} \fi % \def\deftpparsebody #1#2#3#4 {% \parsebodycommon{#1}{#2}{#3}% + \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}% + \begingroup\obeylines \spacesplit{\parsetpheaderline{#3{#4}}}\empty } @@ -4837,32 +5003,22 @@ width0pt\relax} \fi #1{\removeemptybraces#2\relax}{#3}% }% -\def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV % -\medbreak % -% Define the end token that this defining construct specifies -% so that it will exit this group. -\def#1{\endgraf\endgroup\medbreak}% -\def#2##1 ##2 {\def#4{##1}% -\begingroup\obeylines\spacesplit{#3{##2}}}% -\parindent=0in -\advance\leftskip by \defbodyindent -\exdentamount=\defbodyindent -\begingroup\obeylines\spacesplit{#3{#5}}} - -% Split up #2 at the first space token. +% Split up #2 (the rest of the input line) at the first space token. % call #1 with two arguments: % the first is all of #2 before the space token, % the second is all of #2 after that space token. % If #2 contains no space token, all of it is passed as the first arg % and the second is passed as empty. - -{\obeylines -\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}% -\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{% -\ifx\relax #3% -#1{#2}{}\else #1{#2}{#3#4}\fi}} - -% So much for the things common to all kinds of definitions. +% +{\obeylines % + \gdef\spacesplit#1#2^^M{\endgroup\spacesplitx{#1}#2 \relax\spacesplitx}% + \long\gdef\spacesplitx#1#2 #3#4\spacesplitx{% + \ifx\relax #3% + #1{#2}{}% + \else % + #1{#2}{#3#4}% + \fi}% +} % Define @defun. @@ -5273,7 +5429,7 @@ width0pt\relax} \fi \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax - \else \errmessage{The name \the\macname\space is reserved}\fi + \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% % Add the macroname to \macrolist @@ -6019,11 +6175,13 @@ should work if nowhere else does.} } % Parameters in order: 1) textheight; 2) textwidth; 3) voffset; -% 4) hoffset; 5) binding offset; 6) topskip. We also call -% \setleading{\textleading}, so the caller should define \textleading. -% The caller should also set \parskip. +% 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8) +% physical page width. +% +% We also call \setleading{\textleading}, so the caller should define +% \textleading. The caller should also set \parskip. % -\def\internalpagesizes#1#2#3#4#5#6{% +\def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip @@ -6042,6 +6200,11 @@ should work if nowhere else does.} \normaloffset = #4\relax \bindingoffset = #5\relax % + \ifpdf + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + \fi + % \setleading{\textleading} % \parindent = \defaultparindent @@ -6063,7 +6226,10 @@ should work if nowhere else does.} \textleading = 13.2pt % % If page is nothing but text, make it come out even. - \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}% + \internalpagesizes{46\baselineskip}{6in}% + {\voffset}{.25in}% + {\bindingoffset}{36pt}% + {11in}{8.5in}% }} % Use @smallbook to reset parameters for 7x9.5 (or so) format. @@ -6071,13 +6237,15 @@ should work if nowhere else does.} \parskip = 2pt plus 1pt \textleading = 12pt % - \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}% + \internalpagesizes{7.5in}{5in}% + {\voffset}{.25in}% + {\bindingoffset}{16pt}% + {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt - \deftypemargin = 0pt \defbodyindent = .5cm \smallenvironments }} @@ -6085,12 +6253,27 @@ should work if nowhere else does.} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt - \textleading = 12pt + \textleading = 13.2pt % - \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}% + % Double-side printing via postscript on Laserjet 4050 + % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. + % To change the settings for a different printer or situation, adjust + % \normaloffset until the front-side and back-side texts align. Then + % do the same for \bindingoffset. You can set these for testing in + % your texinfo source file like this: + % @tex + % \global\normaloffset = -6mm + % \global\bindingoffset = 10mm + % @end tex + \internalpagesizes{51\baselineskip}{160mm} + {\voffset}{\hoffset}% + {\bindingoffset}{44pt}% + {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. @@ -6100,37 +6283,42 @@ should work if nowhere else does.} \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % - \internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}% + \internalpagesizes{160mm}{120mm}% + {\voffset}{\hoffset}% + {\bindingoffset}{8pt}% + {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt - \contentsrightmargin = 0mm - \deftypemargin = 0pt + \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm % \smallenvironments }} -% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin -% 29mm, hence bottom margin 28mm, nominal side margin 3cm. +% A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 - \textleading = 13.6pt - % \afourpaper - \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}% + \internalpagesizes{237mm}{150mm}% + {\voffset}{4.6mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% % - % Must explicitly reset to 0 because we call \afourpaper, apparently, - % although this does not entirely make sense. + % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} -% Use @afourwide to print on European A4 paper in wide format. -\def\afourwide{% +% Use @afourwide to print on A4 paper in landscape format. +\def\afourwide{{\globaldefs = 1 \afourpaper - \internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}% -} + \internalpagesizes{241mm}{165mm}% + {\voffset}{-2.95mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + \globaldefs = 0 +}} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, @@ -6145,7 +6333,16 @@ should work if nowhere else does.} \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % - \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}% + \dimen0 = #1 + \advance\dimen0 by \voffset + % + \dimen2 = \hsize + \advance\dimen2 by \normaloffset + % + \internalpagesizes{#1}{\hsize}% + {\voffset}{\normaloffset}% + {\bindingoffset}{44pt}% + {\dimen0}{\dimen2}% }} % Set default to letter. @@ -6269,16 +6466,8 @@ should work if nowhere else does.} @let+=@normalplus @let$=@normaldollar}%$ font-lock fix -@def@normalturnoffactive{@let"=@normaldoublequote -@let\=@normalbackslash -@let~=@normaltilde -@let^=@normalcaret -@let_=@normalunderscore -@let|=@normalverticalbar -@let<=@normalless -@let>=@normalgreater -@let+=@normalplus -@let$=@normaldollar}%$ font-lock fix +% Same as @turnoffactive except for \. +@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash} % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index fd518693f5a..783cac347f1 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -58,7 +58,7 @@ @end ifnothtml @c Part 2 Summary Description and Copyright -@macro copyrightnotice +@copying Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @sp 1 @@ -79,9 +79,9 @@ Free Documentation License}''. You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. -@end macro +@end copying @ifinfo -@copyrightnotice{} +@insertcopying @end ifinfo @c Part 3 Titlepage and Copyright @@ -93,7 +93,7 @@ Free Documentation License}''. @c The following two commands start the copyright page. @page @vskip 0pt plus 1filll -@copyrightnotice{} +@insertcopying @end titlepage @c Part 4 Top node and Master Menu @@ -197,7 +197,7 @@ not yet been merged into the main part of this manual. @ifhtml @uref{./index.html,,Return to the GCC Installation page} -@copyrightnotice{} +@insertcopying @end ifhtml @end ifset @@ -559,12 +559,8 @@ whether you use the GNU assembler. On any other system, @item @samp{hppa1.0-@var{any}-@var{any}} @item @samp{hppa1.1-@var{any}-@var{any}} @item @samp{i386-@var{any}-sysv} -@item @samp{i386-@var{any}-isc} -@item @samp{i860-@var{any}-bsd} @item @samp{m68k-bull-sysv} @item @samp{m68k-hp-hpux} -@item @samp{m68k-sony-bsd} -@item @samp{m68k-altos-sysv} @item @samp{m68000-hp-hpux} @item @samp{m68000-att-sysv} @item @samp{@var{any}-lynx-lynxos} @@ -720,8 +716,8 @@ Specify which cpu variant the compiler should generate code for by default. This is currently only supported on some ports, specifically arm, powerpc, and SPARC@. If configure does not recognize the model name (e.g.@: arm700, -603e, or ultrasparc) you provide, please check the configure script -for a complete list of supported models. +603e, or ultrasparc) you provide, please check the +@file{gcc/config.gcc} script for a complete list of supported models. @item --enable-altivec Specify that the target supports AltiVec vector enhancements. This @@ -822,8 +818,8 @@ option. This option has no effect on the other hosts. @item --nfp Specify that the machine does not have a floating point unit. This -option only applies to @samp{m68k-sun-sunos@var{n}} and -@samp{m68k-isi-bsd}. On any other system, @option{--nfp} has no effect. +option only applies to @samp{m68k-sun-sunos@var{n}}. On any other +system, @option{--nfp} has no effect. @item --enable-checking @itemx --enable-checking=@var{list} @@ -983,7 +979,7 @@ parser sources, releases contain the Bison-generated files and you do not need Bison installed to build them. When building from CVS or snapshots, or if you modify Texinfo -documentation, you need version 4.1 or later of Texinfo installed if you +documentation, you need version 4.2 or later of Texinfo installed if you want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release. @@ -1277,6 +1273,11 @@ testsuite at @file{libjava/testsuite/libjava.mauve/mauve}, or by specifying the location of that tree when invoking @samp{make}, as in @samp{make MAUVEDIR=~/mauve check}. +@uref{http://www-124.ibm.com/developerworks/oss/cvs/jikes/~checkout~/jacks/jacks.html,,Jacks} +is a free test suite that tests Java compiler front ends. This suite +can be run as part of libgcj testing by placing the Jacks tree within +the libjava testsuite at @file{libjava/testsuite/libjava.jacks/jacks}. + @section How to interpret test results After the testsuite has run you'll find various @file{*.sum} and @file{*.log} @@ -1434,7 +1435,7 @@ If you find a bug, please report it following our @uref{../bugs.html,,bug reporting guidelines}. If you want to print the GCC manuals, do @samp{cd @var{objdir}; make -dvi}. You will need to have @command{texi2dvi} (version at least 4.1) +dvi}. You will need to have @command{texi2dvi} (version at least 4.2) and @TeX{} installed. This creates a number of @file{.dvi} files in subdirectories of @file{@var{objdir}}; these may be converted for printing with programs such as @command{dvips}. You can also @@ -2039,7 +2040,7 @@ and tested on @samp{i386-*-freebsd4.5} and @samp{alpha-*-freebsd5.0}. The static library may be incorrectly built (symbols are missing at link time). There is a rare timing-based startup hang (probably involves an -assupmtion about the thread library). Multi-threaded boehm-gc (required for +assumption about the thread library). Multi-threaded boehm-gc (required for libjava) exposes severe threaded signal-handling bugs on FreeBSD before 4.5-RELEASE. The alpha port may not fully bootstrap without some manual intervention: @command{gcjh} will crash with a floating-point exception while @@ -2909,7 +2910,7 @@ or newer for a working GCC@. @end html @heading @anchor{powerpc-*-netbsd*}powerpc-*-netbsd* PowerPC system in big endian mode running NetBSD@. To build the -documentation you will need Texinfo version 4.1 (NetBSD 1.5.1 included +documentation you will need Texinfo version 4.2 (NetBSD 1.5.1 included Texinfo version 3.12). @html diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index fe214602a1e..921b7bead62 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -1,12 +1,12 @@ @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -@c 2000, 2001, 2002 Free Software Foundation, Inc. +@c 2000, 2001, 2002, 2003 Free Software Foundation, Inc. @c This is part of the GCC manual. @c For copying conditions, see the file gcc.texi. @ignore @c man begin COPYRIGHT Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, -1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -344,7 +344,7 @@ in the following sections. @emph{M68hc1x Options} @gccoptlist{ --m6811 -m6812 -m68hc11 -m68hc12 @gol +-m6811 -m6812 -m68hc11 -m68hc12 -m68hcs12 @gol -mauto-incdec -minmax -mlong-calls -mshort @gol -msoft-reg-count=@var{count}} @@ -367,22 +367,6 @@ in the following sections. -msoft-float -msoft-quad-float -msparclite -mstack-bias @gol -msupersparc -munaligned-doubles -mv8} -@emph{Convex Options} -@gccoptlist{ --mc1 -mc2 -mc32 -mc34 -mc38 @gol --margcount -mnoargcount @gol --mlong32 -mlong64 @gol --mvolatile-cache -mvolatile-nocache} - -@emph{AMD29K Options} -@gccoptlist{ --m29000 -m29050 -mbw -mnbw -mdw -mndw @gol --mlarge -mnormal -msmall @gol --mkernel-registers -mno-reuse-arg-regs @gol --mno-stack-check -mno-storem-bug @gol --mreuse-arg-regs -msoft-float -mstack-check @gol --mstorem-bug -muser-registers} - @emph{ARM Options} @gccoptlist{ -mapcs-frame -mno-apcs-frame @gol @@ -397,7 +381,6 @@ in the following sections. -mthumb-interwork -mno-thumb-interwork @gol -mcpu=@var{name} -march=@var{name} -mfpe=@var{name} @gol -mstructure-size-boundary=@var{n} @gol --mbsd -mxopen -mno-symrename @gol -mabort-on-noreturn @gol -mlong-calls -mno-long-calls @gol -msingle-pic-base -mno-single-pic-base @gol @@ -566,10 +549,6 @@ in the following sections. @gccoptlist{ -mvms-return-codes} -@emph{Clipper Options} -@gccoptlist{ --mc300 -mc400} - @emph{H8/300 Options} @gccoptlist{ -mrelax -mh -ms -mn -mint32 -malign-300} @@ -1079,7 +1058,7 @@ ISO C90 as modified in amendment 1. @itemx iso9899:1999 @itemx iso9899:199x ISO C99. Note that this standard is not yet fully supported; see -@w{@uref{http://gcc.gnu.org/c99status.html}} for more information. The +@w{@uref{http://gcc.gnu.org/gcc-3.3/c99status.html}} for more information. The names @samp{c9x} and @samp{iso9899:199x} are deprecated. @item gnu89 @@ -1543,7 +1522,7 @@ You should rewrite your code to avoid these warnings if you are concerned about the fact that code generated by G++ may not be binary compatible with code generated by other compilers. -The known incompatibilites at this point include: +The known incompatibilities at this point include: @itemize @bullet @@ -1608,7 +1587,7 @@ struct C : public B, public A @{@}; @end smallexample @noindent -G++ will place the @code{A} base class of @code{C} at a non-zero offset; +G++ will place the @code{A} base class of @code{C} at a nonzero offset; it should be placed at offset zero. G++ mistakenly believes that the @code{A} data member of @code{B} is already at offset zero. @@ -1625,7 +1604,7 @@ void f(typename Q<int>::X) @{@} @end smallexample @noindent -Instantions of these templates may be mangled incorrectly. +Instantiations of these templates may be mangled incorrectly. @end itemize @@ -2518,7 +2497,7 @@ Warn if floating point values are used in equality comparisons. The idea behind this is that sometimes it is convenient (for the programmer) to consider floating-point values as approximations to infinitely precise real numbers. If you are doing this, then you need -to compute (by analysing the code, or in some other way) the maximum or +to compute (by analyzing the code, or in some other way) the maximum or likely maximum error that the computation introduces, and allow for it when performing comparisons (and when producing output, but that's a different problem). In particular, instead of testing for equality, you @@ -3041,8 +3020,8 @@ block must be created to hold the instrumentation code. @need 2000 @item -ftest-coverage @opindex ftest-coverage -Create data files for the @code{gcov} code-coverage utility -(@pxref{Gcov,, @code{gcov}: a GCC Test Coverage Program}). See +Create data files for the @command{gcov} code-coverage utility +(@pxref{Gcov,, @command{gcov}---a Test Coverage Program}). See @option{-fprofile-arcs} option above for a description of @var{auxname}. @table @gcctabopt @@ -3150,7 +3129,7 @@ Dump after local register allocation, to @file{@var{file}.23.lreg}. Dump after loop optimization, to @file{@var{file}.12.loop}. @item M @opindex dM -Dump after performing the machine dependent reorganisation pass, to +Dump after performing the machine dependent reorganization pass, to @file{@var{file}.33.mach}. @item n @opindex dn @@ -3177,7 +3156,7 @@ Dump after the second CSE pass (including the jump optimization that sometimes follows CSE), to @file{@var{file}.17.cse2}. @item u @opindex du -Dump after null pointer ellimination pass ti @file{@var{file}.08.null}. +Dump after null pointer elimination pass to @file{@var{file}.08.null}. @item w @opindex dw Dump after the second flow pass, to @file{@var{file}.26.flow2}. @@ -3388,7 +3367,22 @@ is used when GCC itself is being built.) @xref{Spec Files}. @cindex optimize options @cindex options, optimization -These options control various sorts of optimizations: +These options control various sorts of optimizations. + +Without any optimization option, the compiler's goal is to reduce the +cost of compilation and to make debugging produce the expected +results. Statements are independent: if you stop the program with a +breakpoint between statements, you can then assign a new value to any +variable or change the program counter to any other statement in the +function and get exactly the results you would expect from the source +code. + +Turning on optimization flags makes the compiler attempt to improve +the performance and/or code size at the expense of compilation time +and possibly the ability to debug the program. + +Not all optimizations are controlled directly by a flag. Only +optimizations that have a flag are listed. @table @gcctabopt @item -O @@ -3398,17 +3392,25 @@ These options control various sorts of optimizations: Optimize. Optimizing compilation takes somewhat more time, and a lot more memory for a large function. -Without @option{-O}, the compiler's goal is to reduce the cost of -compilation and to make debugging produce the expected results. -Statements are independent: if you stop the program with a breakpoint -between statements, you can then assign a new value to any variable or -change the program counter to any other statement in the function and -get exactly the results you would expect from the source code. - With @option{-O}, the compiler tries to reduce code size and execution time, without performing any optimizations that take a great deal of compilation time. +@option{-O} turns on the following optimization flags: +@gccoptlist{-fdefer-pop +-fmerge-constants +-fthread-jumps +-floop-optimize +-fcrossjumping +-fif-conversion +-fif-conversion2 +-fdelayed-branch +-fguess-branch-probability +-fcprop-registers} + +@option{-O} also turns on @option{-fomit-frame-pointer} on machines +where doing so does not interfere with debugging. + @item -O2 @opindex O2 Optimize even more. GCC performs nearly all supported optimizations @@ -3417,11 +3419,25 @@ perform loop unrolling or function inlining when you specify @option{-O2}. As compared to @option{-O}, this option increases both compilation time and the performance of the generated code. -@option{-O2} turns on all optional optimizations except for loop -unrolling, function inlining, and register renaming. It also turns on -the @option{-fforce-mem} and @option{-fstrict-aliasing} option on all -machines and frame pointer elimination on machines where doing so does -not interfere with debugging. +@option{-O2} turns on all optimization flags specified by @option{-O}. It +also turns on the following optimization flags: +@gccoptlist{-fforce-mem +-foptimize-sibling-calls +-fstrength-reduce +-fcse-follow-jumps -fcse-skip-blocks +-frerun-cse-after-loop -frerun-loop-opt +-fgcse -fgcse-lm -fgcse-sm +-fdelete-null-pointer-checks +-fexpensive-optimizations +-fregmove +-fschedule-insns -fschedule-insns2 +-fsched-interblock -fsched-spec +-fcaller-saves +-fpeephole2 +-freorder-blocks -freorder-functions +-fstrict-aliasing +-falign-functions -falign-jumps +-falign-loops -falign-labels} Please note the warning under @option{-fgcse} about invoking @option{-O2} on programs that use computed gotos. @@ -3434,7 +3450,7 @@ Optimize yet more. @option{-O3} turns on all optimizations specified by @item -O0 @opindex O0 -Do not optimize. +Do not optimize. This is the default. @item -Os @opindex Os @@ -3442,16 +3458,25 @@ Optimize for size. @option{-Os} enables all @option{-O2} optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size. +@option{-Os} disables the following optimization flags: +@gccoptlist{-falign-functions -falign-jumps -falign-loops +-falign-labels -freorder-blocks -fprefetch-loop-arrays} + If you use multiple @option{-O} options, with or without level numbers, the last such option is the one that is effective. @end table Options of the form @option{-f@var{flag}} specify machine-independent flags. Most flags have both positive and negative forms; the negative -form of @option{-ffoo} would be @option{-fno-foo}. In the table below, -only one of the forms is listed---the one which is not the default. -You can figure out the other form by either removing @samp{no-} or -adding it. +form of @option{-ffoo} would be @option{-fno-foo}. In the table +below, only one of the forms is listed---the one you typically will +use. You can figure out the other form by either removing @samp{no-} +or adding it. + +The following options control specific optimizations. They are either +activated by @option{-O} options or are related to ones that are. You +can use the following flags in the rare cases when ``fine-tuning'' of +optimizations to be performed is desired. @table @gcctabopt @item -ffloat-store @@ -3542,7 +3567,7 @@ assembler code in its own right. @opindex finline-limit By default, gcc limits the size of functions that can be inlined. This flag allows the control of this limit for functions that are explicitly marked as -inline (ie marked with the inline keyword or defined within the class +inline (i.e., marked with the inline keyword or defined within the class definition in c++). @var{n} is the size of functions that can be inlined in number of pseudo instructions (not counting parameter handling). The default value of @var{n} is 600. @@ -3575,10 +3600,11 @@ optimization is turned on, use the @option{-fno-keep-static-consts} option. @item -fmerge-constants Attempt to merge identical constants (string constants and floating point -constants) accross compilation units. +constants) across compilation units. -This option is default for optimized compilation if assembler and linker -support it. Use @option{-fno-merge-constants} to inhibit this behavior. +This option is the default for optimized compilation if the assembler and +linker support it. Use @option{-fno-merge-constants} to inhibit this +behavior. @item -fmerge-all-constants Attempt to merge identical constants and identical variables. @@ -3713,24 +3739,9 @@ The default is @option{-fzero-initialized-in-bss}. @opindex fbounds-check For front-ends that support it, generate additional code to check that indices used to access arrays are within the declared range. This is -currenly only supported by the Java and Fortran 77 front-ends, where +currently only supported by the Java and Fortran 77 front-ends, where this option defaults to true and false respectively. -@end table - -The following options control specific optimizations. The @option{-O2} -option turns on all of these optimizations except @option{-funroll-loops} -and @option{-funroll-all-loops}. On most machines, the @option{-O} option -turns on the @option{-fthread-jumps} and @option{-fdelayed-branch} options, -but specific machines may handle it differently. - -You can use the following flags in the rare cases when ``fine-tuning'' -of optimizations to be performed is desired. - -Not all of the optimizations performed by GCC have @option{-f} options -to control them. - -@table @gcctabopt @item -fstrength-reduce @opindex fstrength-reduce Perform the optimizations of loop strength reduction and @@ -3776,7 +3787,7 @@ This pass also performs global constant and copy propagation. @emph{Note:} When compiling a program using computed gotos, a GCC extension, you may get better runtime performance if you disable -the global common subexpression elmination pass by adding +the global common subexpression elimination pass by adding @option{-fno-gcse} to the command line. @item -fgcse-lm @@ -4035,7 +4046,7 @@ taken branches and improve code locality. This is implemented by using special subsections @code{text.hot} for most frequently executed functions and @code{text.unlikely} for unlikely executed functions. Reordering is done by the linker so object file format must support named sections and linker must -place them in resonable way. +place them in a reasonable way. Also profile feedback must be available in to make this option effective. See @option{-fprofile-arcs} for details. @@ -4239,8 +4250,9 @@ function given basic block needs to have to be considered hot @item tracer-dynamic-coverage @itemx tracer-dynamic-coverage-feedback -This value is used to limit superblock formation once given percentage of -executed instructions is covered. This limits unnecesary code size expansion. +This value is used to limit superblock formation once the given percentage of +executed instructions is covered. This limits unnecessary code size +expansion. The @option{tracer-dynamic-coverage-feedback} is used only when profile feedback is available. The real profiles (as opposed to statically estimated @@ -4248,7 +4260,7 @@ ones) are much less balanced allowing the threshold to be larger value. @item tracer-max-code-growth Stop tail duplication once code growth has reached given percentage. This is -rather hokey argument, as most of the duplicates will be elliminated later in +rather hokey argument, as most of the duplicates will be eliminated later in cross jumping, so it may be set to much higher values than is the desired code growth. @@ -4263,7 +4275,7 @@ threshold (in percent). Stop forward growth if the best edge do have probability lower than this threshold. -Similary to @option{tracer-dynamic-coverage} two values are present, one for +Similarly to @option{tracer-dynamic-coverage} two values are present, one for compilation for profile feedback and one for compilation without. The value for compilation with profile feedback needs to be more conservative (higher) in order to make tracer effective. @@ -4564,7 +4576,7 @@ If a standard system include directory, or a directory specified with option will be ignored. The directory will still be searched but as a system directory at its normal position in the system include chain. This is to ensure that GCC's procedure to fix buggy system headers and -the ordering for the include_next directive are not inadvertantly changed. +the ordering for the include_next directive are not inadvertently changed. If you really need to change the search order for system directories, use the @option{-nostdinc} and/or @option{-isystem} options. @@ -5216,8 +5228,6 @@ that macro, which enables you to change the defaults. * M68hc1x Options:: * VAX Options:: * SPARC Options:: -* Convex Options:: -* AMD29K Options:: * ARM Options:: * MN10200 Options:: * MN10300 Options:: @@ -5232,7 +5242,6 @@ that macro, which enables you to change the defaults. * Intel 960 Options:: * DEC Alpha Options:: * DEC Alpha/VMS Options:: -* Clipper Options:: * H8/300 Options:: * SH Options:: * System V Options:: @@ -5449,6 +5458,12 @@ when the compiler is configured for 68HC11-based systems. Generate output for a 68HC12. This is the default when the compiler is configured for 68HC12-based systems. +@item -m68S12 +@itemx -m68hcs12 +@opindex m68S12 +@opindex m68hcs12 +Generate output for a 68HCS12. + @item -mauto-incdec @opindex mauto-incdec Enable the use of 68HC12 pre and post auto-increment and auto-decrement @@ -5763,195 +5778,6 @@ when making stack frame references. Otherwise, assume no such offset is present. @end table -@node Convex Options -@subsection Convex Options -@cindex Convex options - -These @samp{-m} options are defined for Convex: - -@table @gcctabopt -@item -mc1 -@opindex mc1 -Generate output for C1. The code will run on any Convex machine. -The preprocessor symbol @code{__convex__c1__} is defined. - -@item -mc2 -@opindex mc2 -Generate output for C2. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C2. -The preprocessor symbol @code{__convex_c2__} is defined. - -@item -mc32 -@opindex mc32 -Generate output for C32xx. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C32. -The preprocessor symbol @code{__convex_c32__} is defined. - -@item -mc34 -@opindex mc34 -Generate output for C34xx. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C34. -The preprocessor symbol @code{__convex_c34__} is defined. - -@item -mc38 -@opindex mc38 -Generate output for C38xx. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C38. -The preprocessor symbol @code{__convex_c38__} is defined. - -@item -margcount -@opindex margcount -Generate code which puts an argument count in the word preceding each -argument list. This is compatible with regular CC, and a few programs -may need the argument count word. GDB and other source-level debuggers -do not need it; this info is in the symbol table. - -@item -mnoargcount -@opindex mnoargcount -Omit the argument count word. This is the default. - -@item -mvolatile-cache -@opindex mvolatile-cache -Allow volatile references to be cached. This is the default. - -@item -mvolatile-nocache -@opindex mvolatile-nocache -Volatile references bypass the data cache, going all the way to memory. -This is only needed for multi-processor code that does not use standard -synchronization instructions. Making non-volatile references to volatile -locations will not necessarily work. - -@item -mlong32 -@opindex mlong32 -Type long is 32 bits, the same as type int. This is the default. - -@item -mlong64 -@opindex mlong64 -Type long is 64 bits, the same as type long long. This option is useless, -because no library support exists for it. -@end table - -@node AMD29K Options -@subsection AMD29K Options -@cindex AMD29K options - -These @samp{-m} options are defined for the AMD Am29000: - -@table @gcctabopt -@item -mdw -@opindex mdw -@cindex DW bit (29k) -Generate code that assumes the @code{DW} bit is set, i.e., that byte and -halfword operations are directly supported by the hardware. This is the -default. - -@item -mndw -@opindex mndw -Generate code that assumes the @code{DW} bit is not set. - -@item -mbw -@opindex mbw -@cindex byte writes (29k) -Generate code that assumes the system supports byte and halfword write -operations. This is the default. - -@item -mnbw -@opindex mnbw -Generate code that assumes the systems does not support byte and -halfword write operations. @option{-mnbw} implies @option{-mndw}. - -@item -msmall -@opindex msmall -@cindex memory model (29k) -Use a small memory model that assumes that all function addresses are -either within a single 256 KB segment or at an absolute address of less -than 256k. This allows the @code{call} instruction to be used instead -of a @code{const}, @code{consth}, @code{calli} sequence. - -@item -mnormal -@opindex mnormal -Use the normal memory model: Generate @code{call} instructions only when -calling functions in the same file and @code{calli} instructions -otherwise. This works if each file occupies less than 256 KB but allows -the entire executable to be larger than 256 KB@. This is the default. - -@item -mlarge -@opindex mlarge -Always use @code{calli} instructions. Specify this option if you expect -a single file to compile into more than 256 KB of code. - -@item -m29050 -@opindex m29050 -@cindex processor selection (29k) -Generate code for the Am29050. - -@item -m29000 -@opindex m29000 -Generate code for the Am29000. This is the default. - -@item -mkernel-registers -@opindex mkernel-registers -@cindex kernel and user registers (29k) -Generate references to registers @code{gr64-gr95} instead of to -registers @code{gr96-gr127}. This option can be used when compiling -kernel code that wants a set of global registers disjoint from that used -by user-mode code. - -Note that when this option is used, register names in @samp{-f} flags -must use the normal, user-mode, names. - -@item -muser-registers -@opindex muser-registers -Use the normal set of global registers, @code{gr96-gr127}. This is the -default. - -@item -mstack-check -@itemx -mno-stack-check -@opindex mstack-check -@opindex mno-stack-check -@cindex stack checks (29k) -Insert (or do not insert) a call to @code{__msp_check} after each stack -adjustment. This is often used for kernel code. - -@item -mstorem-bug -@itemx -mno-storem-bug -@opindex mstorem-bug -@opindex mno-storem-bug -@cindex storem bug (29k) -@option{-mstorem-bug} handles 29k processors which cannot handle the -separation of a mtsrim insn and a storem instruction (most 29000 chips -to date, but not the 29050). - -@item -mno-reuse-arg-regs -@itemx -mreuse-arg-regs -@opindex mno-reuse-arg-regs -@opindex mreuse-arg-regs -@option{-mno-reuse-arg-regs} tells the compiler to only use incoming argument -registers for copying out arguments. This helps detect calling a function -with fewer arguments than it was declared with. - -@item -mno-impure-text -@itemx -mimpure-text -@opindex mno-impure-text -@opindex mimpure-text -@option{-mimpure-text}, used in addition to @option{-shared}, tells the compiler to -not pass @option{-assert pure-text} to the linker when linking a shared object. - -@item -msoft-float -@opindex msoft-float -Generate output containing library calls for floating point. -@strong{Warning:} the requisite libraries are not part of GCC@. -Normally the facilities of the machine's usual C compiler are used, but -this can't be done directly in cross-compilation. You must make your -own arrangements to provide suitable library functions for -cross-compilation. - -@item -mno-multm -@opindex mno-multm -Do not generate multm or multmu instructions. This is useful for some embedded -systems which do not have trap handlers for these instructions. -@end table - @node ARM Options @subsection ARM Options @cindex ARM options @@ -6116,25 +5942,6 @@ These are deprecated aliases for @option{-malignment-traps}. @opindex mshort-load-words This are deprecated aliases for @option{-mno-alignment-traps}. -@item -mbsd -@opindex mbsd -This option only applies to RISC iX@. Emulate the native BSD-mode -compiler. This is the default if @option{-ansi} is not specified. - -@item -mxopen -@opindex mxopen -This option only applies to RISC iX@. Emulate the native X/Open-mode -compiler. - -@item -mno-symrename -@opindex mno-symrename -This option only applies to RISC iX@. Do not run the assembler -post-processor, @samp{symrename}, after code has been assembled. -Normally it is necessary to modify some of the standard symbols in -preparation for linking with the RISC iX C library; this option -suppresses this pass. The post-processor is never run when the -compiler is built for cross-compilation. - @item -mcpu=@var{name} @opindex mcpu This specifies the name of the target ARM processor. GCC uses this name @@ -6476,9 +6283,9 @@ underscore as prefix on each name. Include (or omit) additional debugging information (about registers used in each stack frame) as specified in the 88open Object Compatibility Standard, ``OCS''@. This extra information allows debugging of code that -has had the frame pointer eliminated. The default for DG/UX, SVr4, and -Delta 88 SVr3.2 is to include this information; other 88k configurations -omit this information by default. +has had the frame pointer eliminated. The default for SVr4 and Delta 88 +SVr3.2 is to include this information; other 88k configurations omit this +information by default. @item -mocs-frame-position @opindex mocs-frame-position @@ -6486,7 +6293,7 @@ omit this information by default. When emitting COFF debugging information for automatic variables and parameters stored on the stack, use the offset from the canonical frame address, which is the stack pointer (register 31) on entry to the -function. The DG/UX, SVr4, Delta88 SVr3.2, and BCS configurations use +function. The SVr4 and Delta88 SVr3.2, and BCS configurations use @option{-mocs-frame-position}; other 88k configurations have the default @option{-mno-ocs-frame-position}. @@ -6573,9 +6380,8 @@ that is used on System V release 4. SVr4. @end enumerate -@option{-msvr4} is the default for the m88k-motorola-sysv4 and -m88k-dg-dgux m88k configurations. @option{-msvr3} is the default for all -other m88k configurations. +@option{-msvr4} is the default for the m88k-motorola-sysv4 configuration. +@option{-msvr3} is the default for all other m88k configurations. @item -mversion-03.00 @opindex mversion-03.00 @@ -6781,7 +6587,7 @@ The @option{-mcpu} options automatically enable or disable other @table @samp @item common -@option{-mno-power}, @option{-mno-powerc} +@option{-mno-power}, @option{-mno-powerpc} @item power @itemx power2 @@ -7481,7 +7287,7 @@ In processor names, a final @samp{000} can be abbreviated as @samp{k} GCC defines two macros based on the value of this option. The first is @samp{_MIPS_ARCH}, which gives the name of target architecture, as a string. The second has the form @samp{_MIPS_ARCH_@var{foo}}, -where @var{foo} is the capitialized value of @samp{_MIPS_ARCH}@. +where @var{foo} is the capitalized value of @samp{_MIPS_ARCH}@. For example, @samp{-march=r2000} will set @samp{_MIPS_ARCH} to @samp{"r2000"} and define the macro @samp{_MIPS_ARCH_R2000}. @@ -7892,7 +7698,7 @@ for @var{unit} are: @item 387 Use the standard 387 floating point coprocessor present majority of chips and emulated otherwise. Code compiled with this option will run almost everywhere. -The temporary results are computed in 80bit precesion instead of precision +The temporary results are computed in 80bit precision instead of precision specified by the type resulting in slightly different results compared to most of other chips. See @option{-ffloat-store} for more detailed description. @@ -7918,7 +7724,7 @@ code that expects temporaries to be 80bit. This is the default choice for x86-64 compiler. @item sse,387 -Attempt to utilize both instruction sets at once. This effectivly double the +Attempt to utilize both instruction sets at once. This effectively double the amount of available registers and on chips with separate execution units for 387 and SSE the execution resources too. Use this option with care, as it is still experimental, because gcc register allocator does not model separate @@ -7984,9 +7790,11 @@ boundary. Aligning @code{double} variables on a two word boundary will produce code that runs somewhat faster on a @samp{Pentium} at the expense of more memory. -@strong{Warning:} if you use the @samp{-malign-double} switch, +@strong{Warning:} if you use the @option{-malign-double} switch, structures containing the above types will be aligned differently than -the published application binary interface specifications for the 386. +the published application binary interface specifications for the 386 +and will not be binary compatible with structures in code compiled +without that switch. @item -m128bit-long-double @opindex m128bit-long-double @@ -8687,7 +8495,7 @@ arithmetic instead of IEEE single and double precision. @opindex mno-explicit-relocs Older Alpha assemblers provided no way to generate symbol relocations except via assembler macros. Use of these macros does not allow -optimial instruction scheduling. GNU binutils as of version 2.12 +optimal instruction scheduling. GNU binutils as of version 2.12 supports a new syntax that allows the compiler to explicitly mark which relocations should apply to which instructions. This option is mostly useful for debugging, as GCC detects the capabilities of @@ -8795,22 +8603,6 @@ Return VMS condition codes from main. The default is to return POSIX style condition (e.g.@ error) codes. @end table -@node Clipper Options -@subsection Clipper Options - -These @samp{-m} options are defined for the Clipper implementations: - -@table @gcctabopt -@item -mc300 -@opindex mc300 -Produce code for a C300 Clipper processor. This is the default. - -@item -mc400 -@opindex mc400 -Produce code for a C400 Clipper processor, i.e.@: use floating point -registers f8--f15. -@end table - @node H8/300 Options @subsection H8/300 Options @@ -9773,7 +9565,7 @@ targets default to @option{-m64}. @opindex mmvcle @opindex mno-mvcle Generate (or do not generate) code using the @code{mvcle} instruction -to perform block moves. When @option{-mno-mvcle} is specifed, +to perform block moves. When @option{-mno-mvcle} is specified, use a @code{mvc} loop instead. This is the default. @item -mdebug @@ -10787,7 +10579,7 @@ Pack all structure members together without holes. @strong{Warning:} the @option{-fpack-struct} switch causes GCC to generate code that is not binary compatible with code generated without that switch. -Additionally, it makes the code suboptimial. +Additionally, it makes the code suboptimal. Use it to conform to a non-default application binary interface. @item -finstrument-functions diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 3ed88d02729..453741e6958 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -898,7 +898,7 @@ digit is used together with letters within the same alternative, the digit should come last. This number is allowed to be more than a single digit. If multiple -digits are encountered consecutavely, they are interpreted as a single +digits are encountered consecutively, they are interpreted as a single decimal integer. There is scant chance for ambiguity, since to-date it has never been desirable that @samp{10} be interpreted as matching either operand 1 @emph{or} operand 0. Should this be desired, one @@ -965,7 +965,7 @@ The machine description macro @code{REG_CLASS_FROM_LETTER} has first cut at the otherwise unused letters. If it evaluates to @code{NO_REGS}, then @code{EXTRA_CONSTRAINT} is evaluated. -A typical use for @code{EXTRA_CONSTRANT} would be to distinguish certain +A typical use for @code{EXTRA_CONSTRAINT} would be to distinguish certain types of memory references that affect other insn operands. @end ifset @end table @@ -1376,60 +1376,6 @@ An item in the constant pool A symbol in the text segment of the current file @end table -@item AMD 29000 family---@file{a29k.h} -@table @code -@item l -Local register 0 - -@item b -Byte Pointer (@samp{BP}) register - -@item q -@samp{Q} register - -@item h -Special purpose register - -@item A -First accumulator register - -@item a -Other accumulator register - -@item f -Floating point register - -@item I -Constant greater than 0, less than 0x100 - -@item J -Constant greater than 0, less than 0x10000 - -@item K -Constant whose high 24 bits are on (1) - -@item L -16-bit constant whose high 8 bits are on (1) - -@item M -32-bit constant whose high 16 bits are on (1) - -@item N -32-bit negative constant that fits in 8 bits - -@item O -The constant 0x80000000 or, on the 29050, any 32-bit constant -whose low 16 bits are 0. - -@item P -16-bit negative constant that fits in 8 bits - -@item G -@itemx H -A floating point constant (in @code{asm} statements, use the machine -independent @samp{E} or @samp{F} instead) -@end table - @item AVR family---@file{avr.h} @table @code @item l @@ -1609,7 +1555,7 @@ Second floating point register @samp{c} register @item C -Specifies constant that can be easilly constructed in SSE register without +Specifies constant that can be easily constructed in SSE register without loading it from memory. @item d @@ -2494,8 +2440,7 @@ Write the generated insn as a @code{parallel} with elements being a @code{set} of one register from the appropriate memory location (you may also need @code{use} or @code{clobber} elements). Use a @code{match_parallel} (@pxref{RTL Template}) to recognize the insn. See -@file{a29k.md} and @file{rs6000.md} for examples of the use of this insn -pattern. +@file{rs6000.md} for examples of the use of this insn pattern. @cindex @samp{store_multiple} instruction pattern @item @samp{store_multiple} @@ -5368,7 +5313,7 @@ The first one is a data dependence delay determining @dfn{instruction latency time}. The instruction execution is not started until all source data have been evaluated by prior instructions (there are more complex cases when the instruction execution starts even when the data -are not availaible but will be ready in given time after the +are not available but will be ready in given time after the instruction execution start). Taking the data dependence delays into account is simple. The data dependence (true, output, and anti-dependence) delay between two instructions is given by a diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi index 423434d3c52..c47433eccfc 100644 --- a/gcc/doc/passes.texi +++ b/gcc/doc/passes.texi @@ -286,10 +286,9 @@ the input file name. @opindex fssa-ccp @item SSA Conditional Constant Propagation. Turned on by the @option{-fssa-ccp} -SSA Aggressive Dead Code Elimination. Turned on by the @option{-fssa-dce} option. This pass performs conditional constant propagation to simplify instructions including conditional branches. This pass is more aggressive -than the constant propgation done by the CSE and GCSE pases, but operates +than the constant propagation done by the CSE and GCSE pases, but operates in linear time. @opindex dW diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index 1c9a4e49230..7b4ad23cada 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -2841,7 +2841,7 @@ labels: @code{LABEL_NORMAL}, @code{LABEL_STATIC_ENTRY}, that do not have type @code{LABEL_NORMAL} are @dfn{alternate entry points} to the current function. These may be static (visible only in the containing translation unit), global (exposed to all translation -units), or weak (global, but can be overriden by another symbol with the +units), or weak (global, but can be overridden by another symbol with the same name). Much of the compiler treats all four kinds of label identically. Some diff --git a/gcc/doc/service.texi b/gcc/doc/service.texi index 863774483c8..4cc2b70888c 100644 --- a/gcc/doc/service.texi +++ b/gcc/doc/service.texi @@ -1,5 +1,5 @@ @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -@c 1999, 2000, 2001 Free Software Foundation, Inc. +@c 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @c This is part of the GCC manual. @c For copying conditions, see the file gcc.texi. @@ -24,7 +24,5 @@ The service directory is found at @uref{http://www.gnu.org/prep/service.html}. @end itemize -@c For further information, see -@c @uref{http://gcc.gnu.org/cgi-bin/fom.cgi?file=12}. -@c FIXME: this URL may be too volatile, this FAQ entry needs to move to -@c the regular web pages before we can uncomment the reference. +For further information, see +@uref{http://gcc.gnu.org/faq.html#support}. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index e337a50ac51..f10a800862b 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -867,7 +867,7 @@ the compiler with optimization. FIXME: describe this. @item gcc.c-torture -This contains particlar code fragments which have historically broken easily. +This contains particular code fragments which have historically broken easily. These tests are run with multiple optimization options, so tests for features which only break at some optimization levels belong here. This also contains tests to check that certain optimizations occur. It might be worthwhile to diff --git a/gcc/doc/standards.texi b/gcc/doc/standards.texi index 8c37fccd440..a68a38a79c9 100644 --- a/gcc/doc/standards.texi +++ b/gcc/doc/standards.texi @@ -79,7 +79,7 @@ as @dfn{AMD1}; the amended standard is sometimes known as @dfn{C94} or A new edition of the ISO C standard was published in 1999 as ISO/IEC 9899:1999, and is commonly known as @dfn{C99}. GCC has incomplete support for this standard version; see -@uref{http://gcc.gnu.org/c99status.html} for details. To select this +@uref{http://gcc.gnu.org/gcc-3.3/c99status.html} for details. To select this standard, use @option{-std=c99} or @option{-std=iso9899:1999}. (While in development, drafts of this standard version were referred to as @dfn{C9X}.) diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 4b885113797..932a5b52448 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -2304,7 +2304,7 @@ which is the register value plus a displacement. @findex MODE_BASE_REG_CLASS @item MODE_BASE_REG_CLASS (@var{mode}) This is a variation of the @code{BASE_REG_CLASS} macro which allows -the selection of a base register in a mode depenedent manner. If +the selection of a base register in a mode dependent manner. If @var{mode} is VOIDmode then it should return the same value as @code{BASE_REG_CLASS}. @@ -4179,7 +4179,7 @@ not support varargs. @findex TARGET_ASM_OUTPUT_MI_VCALL_THUNK @deftypefn {Target Hook} void TARGET_ASM_OUTPUT_MI_VCALL_THUNK (FILE *@var{file}, tree @var{thunk_fndecl}, HOST_WIDE_INT @var{delta}, int @var{vcall_offset}, tree @var{function}) A function like @code{TARGET_ASM_OUTPUT_MI_THUNK}, except that if -@var{vcall_offset} is non-zero, an additional adjustment should be made +@var{vcall_offset} is nonzero, an additional adjustment should be made after adding @code{delta}. In particular, if @var{p} is the adjusted pointer, the following adjustment should be made: @@ -9044,7 +9044,7 @@ structure, which are defined by the @code{IFCVT_EXTRA_FIELDS} macro. @findex IFCVT_EXTRA_FIELDS @item IFCVT_EXTRA_FIELDS If defined, it should expand to a set of field declarations that will be -added to the @code{struct ce_if_block} structure. These should be intialized +added to the @code{struct ce_if_block} structure. These should be initialized by the @code{IFCVT_INIT_EXTRA_FIELDS} macro. @end table diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi index d6ba63259d6..a3ef96e2dfe 100644 --- a/gcc/doc/trouble.texi +++ b/gcc/doc/trouble.texi @@ -338,47 +338,6 @@ you cannot successfully use @samp{$} in identifiers on the RS/6000 due to a restriction in the IBM assembler. GAS supports these identifiers. -@item -@opindex mno-serialize-volatile -There is an assembler bug in versions of DG/UX prior to 5.4.2.01 that -occurs when the @samp{fldcr} instruction is used. GCC uses -@samp{fldcr} on the 88100 to serialize volatile memory references. Use -the option @option{-mno-serialize-volatile} if your version of the -assembler has this bug. - -@item -On VMS, GAS versions 1.38.1 and earlier may cause spurious warning -messages from the linker. These warning messages complain of mismatched -psect attributes. You can ignore them. - -@item -On NewsOS version 3, if you include both of the files @file{stddef.h} -and @file{sys/types.h}, you get an error because there are two typedefs -of @code{size_t}. You should change @file{sys/types.h} by adding these -lines around the definition of @code{size_t}: - -@smallexample -#ifndef _SIZE_T -#define _SIZE_T -@var{actual-typedef-here} -#endif -@end smallexample - -@cindex Alliant -@item -On the Alliant, the system's own convention for returning structures -and unions is unusual, and is not compatible with GCC no matter -what options are used. - -@cindex RT PC -@cindex IBM RT PC -@item -@opindex mhc-struct-return -On the IBM RT PC, the MetaWare HighC compiler (hc) uses a different -convention for structure and union returning. Use the option -@option{-mhc-struct-return} to tell GCC to use a convention compatible -with it. - @cindex VAX calling convention @cindex Ultrix calling convention @item @@ -395,42 +354,10 @@ these options to produce code compatible with the Fortran compiler: @end smallexample @item -On the WE32k, you may find that programs compiled with GCC do not -work with the standard shared C library. You may need to link with -the ordinary C compiler. If you do so, you must specify the following -options: - -@smallexample --L/usr/local/lib/gcc-lib/we32k-att-sysv/2.8.1 -lgcc -lc_s -@end smallexample - -The first specifies where to find the library @file{libgcc.a} -specified with the @option{-lgcc} option. - -GCC does linking by invoking @command{ld}, just as @command{cc} does, and -there is no reason why it @emph{should} matter which compilation program -you use to invoke @command{ld}. If someone tracks this problem down, -it can probably be fixed easily. - -@item On the Alpha, you may get assembler errors about invalid syntax as a result of floating point constants. This is due to a bug in the C library functions @code{ecvt}, @code{fcvt} and @code{gcvt}. Given valid floating point numbers, they sometimes print @samp{NaN}. - -@item -On Irix 4.0.5F (and perhaps in some other versions), an assembler bug -sometimes reorders instructions incorrectly when optimization is turned -on. If you think this may be happening to you, try using the GNU -assembler; GAS version 2.1 supports ECOFF on Irix. - -@opindex noasmopt -Or use the @option{-noasmopt} option when you compile GCC with itself, -and then again when you compile your program. (This is a temporary -kludge to turn off assembler optimization on Irix.) If this proves to -be what you need, edit the assembler spec in the file @file{specs} so -that it unconditionally passes @option{-O0} to the assembler, and never -passes @option{-O2} or @option{-O3}. @end itemize @node External Bugs diff --git a/gcc/expr.c b/gcc/expr.c index e5f7ae51783..6a35071a3b6 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1,6 +1,6 @@ /* Convert tree expression to rtl instructions, for GNU compiler. Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002 Free Software Foundation, Inc. + 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -4020,7 +4020,8 @@ expand_assignment (to, from, want_value, suggest_reg) problem. */ if (TREE_CODE (to) == COMPONENT_REF || TREE_CODE (to) == BIT_FIELD_REF - || TREE_CODE (to) == ARRAY_REF || TREE_CODE (to) == ARRAY_RANGE_REF) + || TREE_CODE (to) == ARRAY_REF || TREE_CODE (to) == ARRAY_RANGE_REF + || TREE_CODE (TREE_TYPE (to)) == ARRAY_TYPE) { enum machine_mode mode1; HOST_WIDE_INT bitsize, bitpos; @@ -8213,7 +8214,7 @@ expand_expr (exp, target, tmode, modifier) build (RDIV_EXPR, type, build_real (type, dconst1), TREE_OPERAND (exp, 1))), - target, tmode, unsignedp); + target, tmode, modifier); this_optab = sdiv_optab; goto binop; diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 8b378cf0f1a..989bdf45f33 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,50 @@ +2003-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl> + + PR Fortran/9038 + * lang-specs.h: Prevent -f<option> from being passed + to cc1. + * news.texi: Document this fix. + +2003-01-03 Bud Davis <bdavis11@directvinternet.com> + + * stc.c (ffestc_R810): Allow any kind integer in + case statements. + * ste.c (ffeste_R810): Give error message when + case selector exceeds its valid values. + +2003-01-01 Andreas Jaeger <aj@suse.de> + + * f/Make-lang.in ($(srcdir)/f/BUGS): Add include path for + gcc-common.texi. + ($(srcdir)/f/NEWS): Likewise. + +2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> + + * g77.texi: Use @copying. + +2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> + + * root.texi: Include gcc-common.texi. + * bugs.texi, news.texi: Don't include root.texi as part of full + manual. + * g77.texi: Update for use of gcc-common.texi. + * Make-lang.in ($(srcdir)/f/g77.info, f/g77.dvi): Depend on + $(srcdir)/doc/include/gcc-common.texi. + +2002-12-19 Kazu Hirata <kazu@cs.umass.edu> + + * intdoc.in: Fix typos. + +2002-12-18 Kazu Hirata <kazu@cs.umass.edu> + + * g77.texi: Fix typos. + * intdoc.texi: Likewise. + * news.texi: Follow spelling conventions. + +Mon Dec 16 13:55:24 2002 Mark Mitchell <mark@codesourcery.com> + + * root.texi (DEVELOPMENT): @clear it. + 2002-11-20 Toon Moene <toon@moene.indiv.nluug.nl> * invoke.texi: Explain the purpose of -fmove-all-movables, diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in index df31b1a6168..6baac3b021a 100644 --- a/gcc/f/Make-lang.in +++ b/gcc/f/Make-lang.in @@ -1,5 +1,5 @@ # Top level makefile fragment for GNU Fortran. -*-makefile-*- -# Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. #This file is part of GNU Fortran. @@ -153,7 +153,8 @@ $(srcdir)/f/g77.info: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \ $(srcdir)/f/news.texi $(srcdir)/f/intdoc.texi \ $(srcdir)/f/root.texi $(srcdir)/doc/include/fdl.texi \ $(srcdir)/doc/include/gpl.texi \ - $(srcdir)/doc/include/funding.texi + $(srcdir)/doc/include/funding.texi \ + $(srcdir)/doc/include/gcc-common.texi if [ x$(BUILD_INFO) = xinfo ]; then \ rm -f $(srcdir)/f/g77.info-*; \ cd $(srcdir)/f && $(MAKEINFO) -I../doc/include -o g77.info g77.texi; \ @@ -164,7 +165,8 @@ f/g77.dvi: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \ $(srcdir)/f/news.texi $(srcdir)/f/intdoc.texi \ $(srcdir)/f/root.texi $(srcdir)/doc/include/fdl.texi \ $(srcdir)/doc/include/gpl.texi \ - $(srcdir)/doc/include/funding.texi + $(srcdir)/doc/include/funding.texi \ + $(srcdir)/doc/include/gcc-common.texi s=`cd $(srcdir); ${PWD}`; export s; \ cd f && $(TEXI2DVI) -I $$s/doc/include $$s/f/g77.texi @@ -224,11 +226,11 @@ f/ansify$(build_exeext): f/ansify.c hconfig.h $(SYSTEM_H) $(srcdir)/f/BUGS: f/bugs0.texi f/bugs.texi f/root.texi cd $(srcdir)/f; $(MAKEINFO) -D BUGSONLY --no-header --no-split \ - --no-validate -o BUGS bugs0.texi + --no-validate -I../doc/include -o BUGS bugs0.texi $(srcdir)/f/NEWS: f/news0.texi f/news.texi f/root.texi cd $(srcdir)/f; $(MAKEINFO) -D NEWSONLY --no-header --no-split \ - --no-validate -o NEWS news0.texi + --no-validate -I../doc/include -o NEWS news0.texi f77.rebuilt: f/g77.info $(srcdir)/f/BUGS \ $(srcdir)/f/NEWS diff --git a/gcc/f/bugs.texi b/gcc/f/bugs.texi index f82d1bda2a6..176072c0d21 100644 --- a/gcc/f/bugs.texi +++ b/gcc/f/bugs.texi @@ -1,4 +1,4 @@ -@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @c This is part of the G77 manual. @c For copying conditions, see the file g77.texi. @@ -11,9 +11,8 @@ @set last-update-bugs 2002-02-01 -@include root.texi - @ifset DOC-BUGS +@include root.texi @c The immediately following lines apply to the BUGS file @c which is derived from this file. @emph{Note:} This file is automatically generated from the files diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi index 9ab2527795a..1ae25e44d30 100644 --- a/gcc/f/g77.texi +++ b/gcc/f/g77.texi @@ -24,33 +24,6 @@ @c and make sure the following does NOT begin with '@c': @c @clear USING -@c 6/27/96 FSF DO wants smallbook fmt for 1st bound edition. (from gcc.texi) -@c @smallbook - -@c i also commented out the finalout command, so if there *are* any -@c overfulls, you'll (hopefully) see the rectangle in the right hand -@c margin. -- burley 1999-03-13 (from mew's comment in gcc.texi). -@c @finalout - -@macro gcctabopt{body} -@code{\body\} -@end macro -@macro gccoptlist{body} -@smallexample -\body\ -@end smallexample -@end macro -@c Makeinfo handles the above macro OK, TeX needs manual line breaks; -@c they get lost at some point in handling the macro. But if @macro is -@c used here rather than @alias, it produces double line breaks. -@iftex -@alias gol = * -@end iftex -@ifnottex -@macro gol -@end macro -@end ifnottex - @ifset INTERNALS @ifset USING @settitle Using and Porting GNU Fortran @@ -89,6 +62,29 @@ @c \global\normaloffset =0.75in @c @end tex +@copying +Copyright @copyright{} @value{copyrights-g77} Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being ``GNU General Public License'' and ``Funding +Free Software'', the Front-Cover +texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +``GNU Free Documentation License''. + +(a) The FSF's Front-Cover Text is: + + A GNU Manual + +(b) The FSF's Back-Cover Text is: + + You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. +@end copying + @ifinfo @dircategory Programming @direntry @@ -114,27 +110,7 @@ Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA -Copyright (C) @value{copyrights-g77} Free Software Foundation, Inc. - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'' and ``Funding -Free Software'', the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. +@insertcopying @end ifinfo Contributed by James Craig Burley (@email{@value{email-burley}}). @@ -142,7 +118,6 @@ Inspired by a first pass at translating @file{g77-0.5.16/f/DOC} that was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}). @setchapternewpage odd -@c @finalout @titlepage @ifset INTERNALS @ifset USING @@ -164,8 +139,6 @@ was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}). @center for version @value{which-g77} @page @vskip 0pt plus 1filll -Copyright @copyright{} @value{copyrights-g77} Free Software Foundation, Inc. -@sp 2 For the @value{which-g77} Version* @sp 1 Published by the Free Software Foundation @* @@ -175,24 +148,7 @@ Boston, MA 02111-1307, USA@* @c Printed copies are available for $? each.@* @c ISBN ??? @sp 1 -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'' and ``Funding -Free Software'', the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. +@insertcopying @end titlepage @summarycontents @contents @@ -1045,7 +1001,7 @@ As such, GNU users rarely need consider just what kind of underlying hardware (or, in many cases, operating system) they are using at any particular time. They can use and write software designed for a general-purpose, -widely portable, heterogenous environment---the GNU environment. +widely portable, heterogeneous environment---the GNU environment. In line with this philosophy, GNU Fortran must evolve into a product that is widely ported and portable not only in the sense that it can @@ -7512,7 +7468,7 @@ set up this kind of aliasing. (The FORTRAN 77 standard's prohibition of this sort of overlap, generally referred to therein as ``storage -assocation'', appears in Sections 15.9.3.6. +association'', appears in Sections 15.9.3.6. This prohibition allows implementations, such as @command{g77}, to, for example, implement the passing of procedures and even values in @code{COMMON} via copy operations into local, diff --git a/gcc/f/intdoc.in b/gcc/f/intdoc.in index 3ed3e10e408..9d00bc761a6 100644 --- a/gcc/f/intdoc.in +++ b/gcc/f/intdoc.in @@ -646,7 +646,7 @@ magnitude truncated and its sign preserved, converted to type @code{INTEGER(KIND=6)}. If @var{@1@} is type @code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. +is truncated and converted, and its imaginary part is disregarded. @xref{Int Intrinsic}. @@ -661,7 +661,7 @@ magnitude truncated and its sign preserved, converted to type @code{INTEGER(KIND=6)}. If @var{@1@} is type @code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. +is truncated and converted, and its imaginary part is disregarded. @xref{Int Intrinsic}. @@ -676,7 +676,7 @@ magnitude truncated and its sign preserved, converted to type @code{INTEGER(KIND=2)}. If @var{@1@} is type @code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. +is truncated and converted, and its imaginary part is disregarded. @xref{Int Intrinsic}. diff --git a/gcc/f/intdoc.texi b/gcc/f/intdoc.texi index e4706267e53..b86cb1b975b 100644 --- a/gcc/f/intdoc.texi +++ b/gcc/f/intdoc.texi @@ -6543,7 +6543,7 @@ magnitude truncated and its sign preserved, converted to type @code{INTEGER(KIND=6)}. If @var{A} is type @code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. +is truncated and converted, and its imaginary part is disregarded. @xref{Int Intrinsic}. @@ -6578,7 +6578,7 @@ magnitude truncated and its sign preserved, converted to type @code{INTEGER(KIND=2)}. If @var{A} is type @code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. +is truncated and converted, and its imaginary part is disregarded. @xref{Int Intrinsic}. @@ -9418,7 +9418,7 @@ magnitude truncated and its sign preserved, converted to type @code{INTEGER(KIND=6)}. If @var{A} is type @code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. +is truncated and converted, and its imaginary part is disregarded. @xref{Int Intrinsic}. diff --git a/gcc/f/lang-specs.h b/gcc/f/lang-specs.h index 602028d136e..96c96977309 100644 --- a/gcc/f/lang-specs.h +++ b/gcc/f/lang-specs.h @@ -29,7 +29,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA {".fpp", "@f77-cpp-input", 0}, {".FPP", "@f77-cpp-input", 0}, {"@f77-cpp-input", - "cc1 -E -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) \ + "cc1 -E -traditional-cpp -D_LANGUAGE_FORTRAN %{<f*} %(cpp_options) \ %{E|M|MM:%(cpp_debug_options)}\ %{!M:%{!MM:%{!E:%{!pipe:%g.f} |\n\ f771 %{!pipe:%g.f} %(cc1_options) %{I*} %{!fsyntax-only:%(invoke_as)}}}}", 0}, diff --git a/gcc/f/news.texi b/gcc/f/news.texi index 2d0dc0f49ef..8129ec3d1bd 100644 --- a/gcc/f/news.texi +++ b/gcc/f/news.texi @@ -12,9 +12,8 @@ @set last-update-news 2002-11-19 -@include root.texi - @ifset DOC-NEWS +@include root.texi @c The immediately following lines apply to the NEWS file @c which is derived from this file. @emph{Note:} This file is automatically generated from the files @@ -183,9 +182,12 @@ gave wrong results) Incorrect output with 0-based array of characters @item 8587 Double complex zero ** double precision number -> NaN instead of zero +@item 9038 +-ffixed-line-length-none -x f77-cpp-input gives: Warning: unknown +register name line-length-none @end table @item -Richard Henderson (@email{rth@@redhat.com}) analysed and improved the handling +Richard Henderson (@email{rth@@redhat.com}) analyzed and improved the handling of (no-)aliasing information for dummy arguments and improved the optimization of induction variables in unrolled loops. @end itemize diff --git a/gcc/f/root.texi b/gcc/f/root.texi index 45a36c209d4..d8619cc376d 100644 --- a/gcc/f/root.texi +++ b/gcc/f/root.texi @@ -1,9 +1,4 @@ -@c DEVELOPMENT is set to indicate an in-development version, -@c as compared to a release version. When making a release -@c (e.g. a release branch in the CVS repository for gcc), -@c clear this and set the version information correctly. -@set DEVELOPMENT -@set version-gcc 3.3 +@include gcc-common.texi @set email-general gcc@@gcc.gnu.org @set email-help gcc-help@@gcc.gnu.org @@ -12,7 +7,7 @@ @set path-g77 gcc/gcc/f @set path-libf2c gcc/libf2c -@set which-g77 GCC-@value{version-gcc} +@set which-g77 GCC-@value{version-GCC} @set which-gcc GCC @set email-burley craig@@jcb-sc.com diff --git a/gcc/f/stc.c b/gcc/f/stc.c index 1f17766d9ac..a28e3a949e6 100644 --- a/gcc/f/stc.c +++ b/gcc/f/stc.c @@ -1,5 +1,5 @@ /* stc.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -9195,18 +9195,13 @@ ffestc_R810 (ffesttCaseList cases, ffelexToken name) ffebad_finish (); continue; } - if (((caseobj->expr1 != NULL) && ((ffeinfo_basictype (ffebld_info (caseobj->expr1)) - != s->type) - || (ffeinfo_kindtype (ffebld_info (caseobj->expr1)) - != s->kindtype))) + != s->type))) || ((caseobj->range) && (caseobj->expr2 != NULL) && ((ffeinfo_basictype (ffebld_info (caseobj->expr2)) - != s->type) - || (ffeinfo_kindtype (ffebld_info (caseobj->expr2)) - != s->kindtype)))) + != s->type)))) { ffebad_start (FFEBAD_CASE_TYPE_DISAGREE); ffebad_here (0, ffelex_token_where_line (caseobj->t), diff --git a/gcc/f/ste.c b/gcc/f/ste.c index d7d84954eef..a620acd1f15 100644 --- a/gcc/f/ste.c +++ b/gcc/f/ste.c @@ -1,5 +1,5 @@ /* ste.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 2000, 2002, 2003 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -2725,7 +2725,15 @@ ffeste_R810 (ffestw block, unsigned long casenum) } else pushok = pushcase (texprlow, convert, tlabel, &duplicate); - assert (pushok == 0); + assert((pushok !=2) || (pushok !=0)); + if (pushok==2) + { + ffebad_start_msg ("SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)", + FFEBAD_severityFATAL); + ffebad_here (0, ffestw_line (block), ffestw_col (block)); + ffebad_finish (); + ffestw_set_select_texpr (block, error_mark_node); + } c = c->next_stmt; /* Unlink prev. */ c->previous_stmt->previous_stmt->next_stmt = c; diff --git a/gcc/fixinc/fixfixes.c b/gcc/fixinc/fixfixes.c index ad54960d13b..9c775b55425 100644 --- a/gcc/fixinc/fixfixes.c +++ b/gcc/fixinc/fixfixes.c @@ -597,47 +597,44 @@ FIX_PROC_HEAD( wrap_fix ) tSCC z_no_wrap_pat[] = "^#if.*__need_"; static regex_t no_wrapping_re; /* assume zeroed data */ - char z_fixname[ 64 ]; - tCC* pz_src = p_fixd->fix_name; - tCC* pz_name = z_fixname; - char* pz_dst = z_fixname; - int do_end = 0; - size_t len = 0; - IGNORE_ARG(filname); + tCC* pz_name = NULL; if (no_wrapping_re.allocated == 0) compile_re( z_no_wrap_pat, &no_wrapping_re, 0, "no-wrap pattern", "wrap-fix" ); - for (;;) { - char ch = *pz_src++; - - if (ch == NUL) { - *pz_dst++ = ch; - break; - } else if (! ISALNUM (ch)) { - *pz_dst++ = '_'; - } else { - *pz_dst++ = TOUPPER (ch); - } - - if (++len >= sizeof( z_fixname )) { - void* p = xmalloc( len + strlen( pz_src ) + 1 ); - memcpy( p, (void*)z_fixname, len ); - pz_name = (tCC*)p; - pz_dst = (char*)pz_name + len; - } - } - /* * IF we do *not* match the no-wrap re, then we have a double negative. * A double negative means YES. */ - if (regexec (&no_wrapping_re, text, 0, NULL, 0) != 0) + if (regexec( &no_wrapping_re, text, 0, NULL, 0 ) != 0) { - printf( "#ifndef FIXINC_%s_CHECK\n", pz_name ); - printf( "#define FIXINC_%s_CHECK 1\n\n", pz_name ); - do_end = 1; + /* + * A single file can get wrapped more than once by different fixes. + * A single fix can wrap multiple files. Therefore, guard with + * *both* the fix name and the file name. + */ + size_t ln = strlen( filname ) + strlen( p_fixd->fix_name ) + 14; + char* pz = xmalloc( ln ); + pz_name = pz; + sprintf( pz, "FIXINC_WRAP_%s-%s", filname, p_fixd->fix_name ); + + for (pz += 12; 1; pz++) { + char ch = *pz; + + if (ch == NUL) + break; + + if (! ISALNUM( ch )) { + *pz = '_'; + } + else { + *pz = TOUPPER( ch ); + } + } + + printf( "#ifndef %s\n", pz_name ); + printf( "#define %s 1\n\n", pz_name ); } if (p_fixd->patch_args[1] == (tCC*)NULL) @@ -650,11 +647,10 @@ FIX_PROC_HEAD( wrap_fix ) fputs( p_fixd->patch_args[2], stdout ); } - if (do_end != 0) - printf( "\n#endif /* FIXINC_%s_CHECK */\n", pz_name ); - - if (pz_name != z_fixname) + if (pz_name != NULL) { + printf( "\n#endif /* %s */\n", pz_name ); free( (void*)pz_name ); + } } diff --git a/gcc/gccbug.in b/gcc/gccbug.in index 9619e61222c..4da84150b6c 100755 --- a/gcc/gccbug.in +++ b/gcc/gccbug.in @@ -198,7 +198,7 @@ EOF done # spam does not need to be listed here -CATEGORIES="ada bootstrap c++ c debug fortran java libf2c libgcj libobjc libstdc++ middle-end objc optimization other preprocessor target web" +CATEGORIES="ada bootstrap c++ c debug driver fortran inline-asm java libf2c libgcj libobjc libstdc++ middle-end objc optimization other preprocessor target web" case "$FORMAT" in lisp) echo "$CATEGORIES" | \ diff --git a/gcc/gcse.c b/gcc/gcse.c index 9e4cccb136e..2194f577a81 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4278,6 +4278,9 @@ do_local_cprop (x, insn, alter_jumps, libcall_sp) rtx this_rtx = l->loc; rtx note; + if (l->in_libcall) + continue; + if (CONSTANT_P (this_rtx)) newcnst = this_rtx; if (REG_P (this_rtx) && REGNO (this_rtx) >= FIRST_PSEUDO_REGISTER diff --git a/gcc/gengtype-lex.l b/gcc/gengtype-lex.l index 91cdde29580..38e470de468 100644 --- a/gcc/gengtype-lex.l +++ b/gcc/gengtype-lex.l @@ -20,11 +20,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ %{ +#include "hconfig.h" +#include "system.h" + #define malloc xmalloc #define realloc xrealloc -#include "hconfig.h" -#include "system.h" #include "gengtype.h" #include "gengtype-yacc.h" diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c index f210af93abe..cd393166737 100644 --- a/gcc/ggc-page.c +++ b/gcc/ggc-page.c @@ -1491,10 +1491,10 @@ ggc_collect () /* Avoid frequent unnecessary work by skipping collection if the total allocations haven't expanded much since the last collection. */ - size_t allocated_last_gc = + float allocated_last_gc = MAX (G.allocated_last_gc, (size_t)PARAM_VALUE (GGC_MIN_HEAPSIZE) * 1024); - size_t min_expand = allocated_last_gc * PARAM_VALUE (GGC_MIN_EXPAND) / 100; + float min_expand = allocated_last_gc * PARAM_VALUE (GGC_MIN_EXPAND) / 100; if (G.allocated < allocated_last_gc + min_expand) return; diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 42c5fb50bdb..5c9d34f2f71 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -645,8 +645,8 @@ noce_emit_store_flag (if_info, x, reversep, normalize) end_sequence (); } - /* Don't even try if the comparison operands are weird. */ - if (cond_complex) + /* Don't even try if the comparison operands or the mode of X are weird. */ + if (cond_complex || !SCALAR_INT_MODE_P (GET_MODE (x))) return NULL_RTX; return emit_store_flag (x, code, XEXP (cond, 0), @@ -1777,7 +1777,8 @@ noce_process_if_block (ce_info) || reg_overlap_mentioned_p (x, cond) || reg_overlap_mentioned_p (x, a) || reg_overlap_mentioned_p (x, SET_SRC (set_b)) - || modified_between_p (x, if_info.cond_earliest, NEXT_INSN (jump))) + || modified_between_p (SET_SRC (set_b), + PREV_INSN (if_info.cond_earliest), jump)) insn_b = set_b = NULL_RTX; } b = (set_b ? SET_SRC (set_b) : x); diff --git a/gcc/integrate.c b/gcc/integrate.c index 6746b3f450f..88a80ee6f47 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -3002,15 +3002,17 @@ set_decl_abstract_flags (decl, setting) from its DECL_SAVED_INSNS. Used for inline functions that are output at end of compilation instead of where they came in the source. */ +static GTY(()) struct function *old_cfun; + void output_inline_function (fndecl) tree fndecl; { - struct function *old_cfun = cfun; enum debug_info_type old_write_symbols = write_symbols; const struct gcc_debug_hooks *const old_debug_hooks = debug_hooks; struct function *f = DECL_SAVED_INSNS (fndecl); + old_cfun = cfun; cfun = f; current_function_decl = fndecl; diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index c6d0de1c1e3..c2fc36be3b3 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,69 @@ +2003-01-21 Tom Tromey <tromey@redhat.com> + + * parse.y (method_header): Native method can't be strictfp. + No method can be transient or volatile. + +2003-01-14 Andrew Haley <aph@redhat.com> + + * decl.c (java_init_decl_processing): _Jv_NewMultiArray is a + varargs function -- correct. + + * parse.y (patch_assignment): Copy the rhs of an assignment into a + temporary if the RHS is a reference. + +2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * lang.c (dump_compound_expr): Prototype. + +2003-01-03 Tom Tromey <tromey@redhat.com> + + Fix for PR java/8712: + * expr.c (build_instanceof): Build an NE_EXPR, not a COND_EXPR, + when simply checking against `null'. + +2003-01-03 Tom Tromey <tromey@redhat.com> + + * gcj.texi (Standard Properties): Document http.proxyHost and + http.proxyPort. + +2003-01-03 Tom Tromey <tromey@redhat.com> + + * gcj.texi (GNU Classpath Properties): Document new properties. + +2002-12-30 DJ Delorie <dj@redhat.com> + + * Make-lang.in: Protect against texi2pod/pod2man failing. + +2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> + + * gcj.texi: Use @copying. + +2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> + + * gcj.texi: Include Cover Texts in man page. + +2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> + + * gcj.texi: Include gcc-common.texi. + * Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Depend on + $(srcdir)/doc/include/gcc-common.texi. + +2002-12-22 Anthony Green <green@redhat.com> + + * gcj.texi (Limitations): Add note about org.xml.sax and + org.w3c.dom. + +2002-12-20 Tom Tromey <tromey@redhat.com> + + * jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Handle case + where minimum case value is Integer.MIN_VALUE. + Fixes PR java/8955. + +2002-12-18 Andrew Haley <aph@redhat.com> + + * parse.y (patch_invoke): Force evaluation order when `check' is + set. For PR libgcj/8945. + 2002-12-05 Ranjit Mathew <rmathew@hotmail.com> Andrew Haley <aph@redhat.com> diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in index fc0e40b5161..440a9da316c 100644 --- a/gcc/java/Make-lang.in +++ b/gcc/java/Make-lang.in @@ -336,72 +336,73 @@ java/jcf-path.o: java/jcf-path.c $(CONFIG_H) $(SYSTEM_H) java/jcf.h # Documentation $(srcdir)/java/gcj.info: $(srcdir)/java/gcj.texi \ - $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gpl.texi + $(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gpl.texi \ + $(srcdir)/doc/include/gcc-common.texi if test "x$(BUILD_INFO)" = xinfo; then \ rm -f $(srcdir)/java/gcc.info*; \ cd $(srcdir)/java && $(MAKEINFO) -I../doc/include -o gcj.info gcj.texi; \ else true; fi java/gcj.dvi: $(srcdir)/java/gcj.texi $(srcdir)/doc/include/fdl.texi \ - $(srcdir)/doc/include/gpl.texi + $(srcdir)/doc/include/gpl.texi $(srcdir)/doc/include/gcc-common.texi s=`cd $(srcdir); ${PWD}`; export s; \ cd java && $(TEXI2DVI) -I $$s/doc/include $$s/java/gcj.texi $(srcdir)/java/gcj.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D gcj < $(srcdir)/java/gcj.texi > java/gcj.pod - ($(POD2MAN) --section=1 java/gcj.pod > java/gcj.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/gcj.pod > java/gcj.1.T$$$$ && \ mv -f java/gcj.1.T$$$$ $(srcdir)/java/gcj.1) || \ (rm -f java/gcj.1.T$$$$ && exit 1) - rm -f java/gcj.pod + -rm -f java/gcj.pod $(srcdir)/java/gcjh.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D gcjh < $(srcdir)/java/gcj.texi > java/gcjh.pod - ($(POD2MAN) --section=1 java/gcjh.pod > java/gcjh.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/gcjh.pod > java/gcjh.1.T$$$$ && \ mv -f java/gcjh.1.T$$$$ $(srcdir)/java/gcjh.1) || \ (rm -f java/gcjh.1.T$$$$ && exit 1) - rm -f java/gcjh.pod + -rm -f java/gcjh.pod $(srcdir)/java/jv-scan.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D jv-scan < $(srcdir)/java/gcj.texi > java/jv-scan.pod - ($(POD2MAN) --section=1 java/jv-scan.pod > java/jv-scan.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/jv-scan.pod > java/jv-scan.1.T$$$$ && \ mv -f java/jv-scan.1.T$$$$ $(srcdir)/java/jv-scan.1) || \ (rm -f java/jv-scan.1.T$$$$ && exit 1) - rm -f java/jv-scan.pod + -rm -f java/jv-scan.pod $(srcdir)/java/jcf-dump.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D jcf-dump < $(srcdir)/java/gcj.texi > java/jcf-dump.pod - ($(POD2MAN) --section=1 java/jcf-dump.pod > java/jcf-dump.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/jcf-dump.pod > java/jcf-dump.1.T$$$$ && \ mv -f java/jcf-dump.1.T$$$$ $(srcdir)/java/jcf-dump.1) || \ (rm -f java/jcf-dump.1.T$$$$ && exit 1) - rm -f java/jcf-dump.pod + -rm -f java/jcf-dump.pod $(srcdir)/java/gij.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D gij < $(srcdir)/java/gcj.texi > java/gij.pod - ($(POD2MAN) --section=1 java/gij.pod > java/gij.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/gij.pod > java/gij.1.T$$$$ && \ mv -f java/gij.1.T$$$$ $(srcdir)/java/gij.1) || \ (rm -f java/gij.1.T$$$$ && exit 1) - rm -f java/gij.pod + -rm -f java/gij.pod $(srcdir)/java/jv-convert.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D jv-convert < $(srcdir)/java/gcj.texi > java/jv-convert.pod - ($(POD2MAN) --section=1 java/jv-convert.pod > java/jv-convert.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/jv-convert.pod > java/jv-convert.1.T$$$$ && \ mv -f java/jv-convert.1.T$$$$ $(srcdir)/java/jv-convert.1) || \ (rm -f java/jv-convert.1.T$$$$ && exit 1) - rm -f java/jv-convert.pod + -rm -f java/jv-convert.pod $(srcdir)/java/rmic.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D rmic < $(srcdir)/java/gcj.texi > java/rmic.pod - ($(POD2MAN) --section=1 java/rmic.pod > java/rmic.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/rmic.pod > java/rmic.1.T$$$$ && \ mv -f java/rmic.1.T$$$$ $(srcdir)/java/rmic.1) || \ (rm -f java/rmic.1.T$$$$ && exit 1) - rm -f java/rmic.pod + -rm -f java/rmic.pod $(srcdir)/java/rmiregistry.1: $(srcdir)/java/gcj.texi -$(TEXI2POD) -D rmiregistry < $(srcdir)/java/gcj.texi > java/rmiregistry.pod - ($(POD2MAN) --section=1 java/rmiregistry.pod > java/rmiregistry.1.T$$$$ && \ + -($(POD2MAN) --section=1 java/rmiregistry.pod > java/rmiregistry.1.T$$$$ && \ mv -f java/rmiregistry.1.T$$$$ $(srcdir)/java/rmiregistry.1) || \ (rm -f java/rmiregistry.1.T$$$$ && exit 1) - rm -f java/rmiregistry.pod + -rm -f java/rmiregistry.pod # Install the man pages. java.install-man: installdirs $(GENERATED_JAVA_MANPAGES) diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 41aea0c28f5..476437ceadf 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -826,8 +826,10 @@ java_init_decl_processing () 0, NOT_BUILT_IN, NULL, NULL_TREE); DECL_IS_MALLOC (soft_anewarray_node) = 1; + /* There is no endlink here because _Jv_NewMultiArray is a varargs + function. */ t = tree_cons (NULL_TREE, ptr_type_node, - tree_cons (NULL_TREE, int_type_node, endlink)); + tree_cons (NULL_TREE, int_type_node, NULL_TREE)); soft_multianewarray_node = builtin_function ("_Jv_NewMultiArray", build_function_type (ptr_type_node, t), diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 8db2670d0f9..9cf86ae384a 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -1255,9 +1255,7 @@ build_instanceof (value, type) /* Anything except `null' is an instance of Object. Likewise, if the object is known to be an instance of the class, then we only need to check for `null'. */ - expr = build (COND_EXPR, itype, - value, - boolean_true_node, boolean_false_node); + expr = build (NE_EXPR, itype, value, null_pointer_node); } else if (! TYPE_ARRAY_P (type) && ! TYPE_ARRAY_P (valtype) diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi index 3397a423a87..cbc907cd8dc 100644 --- a/gcc/java/gcj.texi +++ b/gcc/java/gcj.texi @@ -2,6 +2,8 @@ @setfilename gcj.info @settitle Guide to GNU gcj +@include gcc-common.texi + @c Note: When reading this manual you'll find lots of strange @c circumlocutions like ``compiler for the Java language''. @c This is necessary due to Sun's restrictions on the use of @@ -11,40 +13,11 @@ @set copyrights-gcj 2001, 2002 @c Versions -@set version-gcc 3.3 -@set which-gcj GCC-@value{version-gcc} - -@macro gcctabopt{body} -@code{\body\} -@end macro - -@ifinfo -@format -@dircategory Programming -@direntry -* Gcj: (gcj). Ahead-of-time compiler for the Java language -@end direntry - -@dircategory Individual utilities -@direntry -* gcjh: (gcj)Invoking gcjh. - Generate header files from Java class files -* jv-scan: (gcj)Invoking jv-scan. - Print information about Java source files -* jcf-dump: (gcj)Invoking jcf-dump. - Print information about Java class files -* gij: (gcj)Invoking gij. GNU interpreter for Java bytecode -* jv-convert: (gcj)Invoking jv-convert. - Convert file from one encoding to another -* rmic: (gcj)Invoking rmic. - Generate stubs for Remote Method Invocation. -* rmiregistry: (gcj)Invoking rmiregistry. - The remote object registry. -@end direntry -@end format +@set which-gcj GCC-@value{version-GCC} +@copying @c man begin COPYRIGHT -Copyright (C) @value{copyrights-gcj} Free Software Foundation, Inc. +Copyright @copyright{} @value{copyrights-gcj} Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -61,6 +34,8 @@ man page gfdl(7). @c man end @end ignore +@c man begin COPYRIGHT + (a) The FSF's Front-Cover Text is: A GNU Manual @@ -70,6 +45,35 @@ man page gfdl(7). You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. +@c man end +@end copying + +@ifinfo +@format +@dircategory Programming +@direntry +* Gcj: (gcj). Ahead-of-time compiler for the Java language +@end direntry + +@dircategory Individual utilities +@direntry +* gcjh: (gcj)Invoking gcjh. + Generate header files from Java class files +* jv-scan: (gcj)Invoking jv-scan. + Print information about Java source files +* jcf-dump: (gcj)Invoking jcf-dump. + Print information about Java class files +* gij: (gcj)Invoking gij. GNU interpreter for Java bytecode +* jv-convert: (gcj)Invoking jv-convert. + Convert file from one encoding to another +* rmic: (gcj)Invoking rmic. + Generate stubs for Remote Method Invocation. +* rmiregistry: (gcj)Invoking rmiregistry. + The remote object registry. +@end direntry +@end format + +@insertcopying @end ifinfo @titlepage @@ -78,31 +82,13 @@ man page gfdl(7). @page @vskip 0pt plus 1filll -Copyright @copyright{} @value{copyrights-gcj} Free Software Foundation, Inc. -@sp 2 For the @value{which-gcj} Version* @sp 1 Published by the Free Software Foundation @* 59 Temple Place - Suite 330@* Boston, MA 02111-1307, USA@* @sp 1 -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'', the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. +@insertcopying @end titlepage @contents @page @@ -515,14 +501,25 @@ Sometimes the @code{libgcj} implementation of a method or class differs from the JDK implementation. This is not always a bug. Still, if it affects you, it probably makes sense to report it so that we can discuss the appropriate response. + +@item +@command{gcj} does not currently allow for piecemeal replacement of +components within @code{libgcj}. Unfortunately, programmers often want +to use newer versions of certain packages, such as those provided by +the Apache Software Foundation's Jakarta project. This has forced us +to place the @code{org.w3c.dom} and @code{org.xml.sax} packages into +their own libraries, separate from @code{libgcj}. If you intend to +use these classes, you must link them explicitly with +@code{-l-org-w3c-dom} and @code{-l-org-xml-sax}. Future versions of +@command{gcj} may not have this restriction. @end itemize @node Extensions @section Extra features unique to gcj -The main feature of @command{gcj} is that it can compile programs written in -the Java programming language to native code. Most extensions that have been -added are to facilitate this functionality. +The main feature of @command{gcj} is that it can compile programs +written in the Java programming language to native code. Most +extensions that have been added are to facilitate this functionality. @itemize @bullet @item @@ -2154,6 +2151,12 @@ Returned by @code{java.awt.Window.getWarningString()} when the window is The class name used for initializing the default @code{java.awt.Toolkit}. Defaults to @code{gnu.awt.gtk.GtkToolkit}. +@item http.proxyHost +Name of proxy host for http connections. + +@item http.proxyPort +Port number to use when a proxy host is in use. + @end table @node GNU Classpath Properties @@ -2171,6 +2174,15 @@ Enables printing serialization debugging by the @code{java.io.ObjectInput} and @code{java.io.ObjectOutput} classes when set to something else then the empty string. Only used when running a debug build of the library. +@item gnu.classpath.vm.shortname +This is a succint name of the virtual machine. For @code{libgcj}, +this will always be @samp{libgcj}. + +@item gnu.classpath.home.url +A base URL used for finding system property files (e.g., +@file{classpath.security}). By default this is a @samp{file:} URL +pointing to the @file{lib} directory under @samp{java.home}. + @end table @node libgcj Runtime Properties diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index 47cfd11be8a..fca47433912 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -1744,6 +1744,7 @@ generate_bytecode_insns (exp, target, state) else { HOST_WIDE_INT i; + unsigned HOST_WIDE_INT delta; /* Copy the chain of relocs into a sorted array. */ struct jcf_relocation **relocs = (struct jcf_relocation **) xmalloc (sw_state.num_cases * sizeof (struct jcf_relocation *)); @@ -1776,8 +1777,11 @@ generate_bytecode_insns (exp, target, state) handled by the parser. */ } - if (2 * sw_state.num_cases - >= sw_state.max_case - sw_state.min_case) + /* We could have DELTA < 0 if sw_state.min_case is + something like Integer.MIN_VALUE. That is why delta is + unsigned. */ + delta = sw_state.max_case - sw_state.min_case; + if (2 * sw_state.num_cases >= delta) { /* Use tableswitch. */ int index = 0; RESERVE (13 + 4 * (sw_state.max_case - sw_state.min_case + 1)); diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 0d9605c09ff..c4ffd2e2932 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -76,6 +76,7 @@ static int inline_init_test_initialization PARAMS ((void * *, void *)); static bool java_can_use_bit_fields_p PARAMS ((void)); static int java_dump_tree PARAMS ((void *, tree)); +static void dump_compound_expr PARAMS ((dump_info_p, tree)); #ifndef TARGET_OBJECT_SUFFIX # define TARGET_OBJECT_SUFFIX ".o" diff --git a/gcc/java/parse.y b/gcc/java/parse.y index d457f1a046d..8f86c842fef 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -1,6 +1,6 @@ /* Source code parsing and tree node generation for the GNU compiler for the Java(TM) language. - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com) This file is part of GNU CC. @@ -4582,6 +4582,18 @@ method_header (flags, type, mdecl, throws) IDENTIFIER_POINTER (EXPR_WFL_NODE (id))); } + /* A native method can't be strictfp. */ + if ((flags & ACC_NATIVE) && (flags & ACC_STRICT)) + parse_error_context (id, "native method `%s' can't be strictfp", + IDENTIFIER_POINTER (EXPR_WFL_NODE (id))); + /* No such thing as a transient or volatile method. */ + if ((flags & ACC_TRANSIENT)) + parse_error_context (id, "method `%s' can't be transient", + IDENTIFIER_POINTER (EXPR_WFL_NODE (id))); + if ((flags & ACC_VOLATILE)) + parse_error_context (id, "method `%s' can't be volatile", + IDENTIFIER_POINTER (EXPR_WFL_NODE (id))); + /* Things to be checked when declaring a constructor */ if (!type) { @@ -10789,7 +10801,11 @@ patch_invoke (patch, method, args) is NULL. */ if (check != NULL_TREE) { - patch = build (COMPOUND_EXPR, TREE_TYPE (patch), check, patch); + /* We have to call force_evaluation_order now because creating a + COMPOUND_EXPR wraps the arg list in a way that makes it + unrecognizable by force_evaluation_order later. Yuk. */ + patch = build (COMPOUND_EXPR, TREE_TYPE (patch), check, + force_evaluation_order (patch)); TREE_SIDE_EFFECTS (patch) = 1; } @@ -12856,6 +12872,43 @@ patch_assignment (node, wfl_op1) DECL_INITIAL (lvalue) = new_rhs; } + /* Copy the rhs if it's a reference. */ + if (! flag_check_references && optimize > 0) + { + switch (TREE_CODE (new_rhs)) + { + case ARRAY_REF: + case INDIRECT_REF: + case COMPONENT_REF: + /* Transform a = foo.bar + into a = { int tmp; tmp = foo.bar; tmp; ). + We need to ensure that if a read from memory fails + because of a NullPointerException, a destination variable + will remain unchanged. An explicit temporary does what + we need. + + If flag_check_references is set, this is unnecessary + because we'll check each reference before doing any + reads. If optimize is not set the result will never be + written to a stack slot that contains the LHS. */ + { + tree tmp = build_decl (VAR_DECL, get_identifier ("<tmp>"), + TREE_TYPE (new_rhs)); + tree block = build (BLOCK, TREE_TYPE (new_rhs), NULL); + tree assignment + = build (MODIFY_EXPR, TREE_TYPE (new_rhs), tmp, fold (new_rhs)); + BLOCK_VARS (block) = tmp; + BLOCK_EXPR_BODY (block) + = build (COMPOUND_EXPR, TREE_TYPE (new_rhs), assignment, tmp); + TREE_SIDE_EFFECTS (block) = 1; + new_rhs = block; + } + break; + default: + break; + } + } + TREE_OPERAND (node, 0) = lvalue; TREE_OPERAND (node, 1) = new_rhs; TREE_TYPE (node) = lhs_type; diff --git a/gcc/jump.c b/gcc/jump.c index ef031f2a8a1..1ddcdc3e973 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -1,6 +1,6 @@ /* Optimize jump instructions, for GNU compiler. Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997 - 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -59,6 +59,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA or even change what is live at any point. So perhaps let combiner do it. */ +static rtx next_nonnote_insn_in_loop PARAMS ((rtx)); static int init_label_info PARAMS ((rtx)); static void mark_all_labels PARAMS ((rtx)); static int duplicate_loop_exit_test PARAMS ((rtx)); @@ -119,6 +120,27 @@ cleanup_barriers () } } +/* Return the next insn after INSN that is not a NOTE and is in the loop, + i.e. when there is no such INSN before NOTE_INSN_LOOP_END return NULL_RTX. + This routine does not look inside SEQUENCEs. */ + +static rtx +next_nonnote_insn_in_loop (insn) + rtx insn; +{ + while (insn) + { + insn = NEXT_INSN (insn); + if (insn == 0 || GET_CODE (insn) != NOTE) + break; + if (GET_CODE (insn) == NOTE + && NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END) + return NULL_RTX; + } + + return insn; +} + void copy_loop_headers (f) rtx f; @@ -137,7 +159,7 @@ copy_loop_headers (f) the values of regno_first_uid and regno_last_uid. */ if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_BEG - && (temp1 = next_nonnote_insn (insn)) != 0 + && (temp1 = next_nonnote_insn_in_loop (insn)) != 0 && any_uncondjump_p (temp1) && onlyjump_p (temp1)) { temp = PREV_INSN (insn); @@ -293,7 +315,8 @@ duplicate_loop_exit_test (loop_start) rtx insn, set, reg, p, link; rtx copy = 0, first_copy = 0; int num_insns = 0; - rtx exitcode = NEXT_INSN (JUMP_LABEL (next_nonnote_insn (loop_start))); + rtx exitcode + = NEXT_INSN (JUMP_LABEL (next_nonnote_insn_in_loop (loop_start))); rtx lastexit; int max_reg = max_reg_num (); rtx *reg_map = 0; diff --git a/gcc/loop.c b/gcc/loop.c index d7abe5ff654..eea944e1bde 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -8624,11 +8624,12 @@ maybe_eliminate_biv (loop, bl, eliminate_p, threshold, insn_count) enum rtx_code code = GET_CODE (p); basic_block where_bb = 0; rtx where_insn = threshold >= insn_count ? 0 : p; + rtx note; /* If this is a libcall that sets a giv, skip ahead to its end. */ if (GET_RTX_CLASS (code) == 'i') { - rtx note = find_reg_note (p, REG_LIBCALL, NULL_RTX); + note = find_reg_note (p, REG_LIBCALL, NULL_RTX); if (note) { @@ -8646,6 +8647,8 @@ maybe_eliminate_biv (loop, bl, eliminate_p, threshold, insn_count) } } } + + /* Closely examine the insn if the biv is mentioned. */ if ((code == INSN || code == JUMP_INSN || code == CALL_INSN) && reg_mentioned_p (reg, PATTERN (p)) && ! maybe_eliminate_biv_1 (loop, PATTERN (p), p, bl, @@ -8657,6 +8660,12 @@ maybe_eliminate_biv (loop, bl, eliminate_p, threshold, insn_count) bl->regno, INSN_UID (p)); break; } + + /* If we are eliminating, kill REG_EQUAL notes mentioning the biv. */ + if (eliminate_p + && (note = find_reg_note (p, REG_EQUAL, NULL_RTX)) != NULL_RTX + && reg_mentioned_p (reg, XEXP (note, 0))) + remove_note (p, note); } if (p == loop->end) diff --git a/gcc/optabs.c b/gcc/optabs.c index 9da95e1de72..a6571b17ca3 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -1,6 +1,6 @@ /* Expand the basic unary and binary arithmetic operations, for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001 Free Software Foundation, Inc. + 1999, 2000, 2001, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -40,6 +40,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "reload.h" #include "ggc.h" #include "real.h" +#include "basic-block.h" /* Each optab contains info on how this target machine can perform a particular operation @@ -3241,10 +3242,26 @@ emit_libcall_block (insns, target, result, equiv) /* Encapsulate the block so it gets manipulated as a unit. */ if (!flag_non_call_exceptions || !may_trap_p (equiv)) { - REG_NOTES (first) = gen_rtx_INSN_LIST (REG_LIBCALL, last, - REG_NOTES (first)); - REG_NOTES (last) = gen_rtx_INSN_LIST (REG_RETVAL, first, - REG_NOTES (last)); + /* We can't attach the REG_LIBCALL and REG_RETVAL notes + when the encapsulated region would not be in one basic block, + i.e. when there is a control_flow_insn_p insn between FIRST and LAST. + */ + bool attach_libcall_retval_notes = true; + next = NEXT_INSN (last); + for (insn = first; insn != next; insn = NEXT_INSN (insn)) + if (control_flow_insn_p (insn)) + { + attach_libcall_retval_notes = false; + break; + } + + if (attach_libcall_retval_notes) + { + REG_NOTES (first) = gen_rtx_INSN_LIST (REG_LIBCALL, last, + REG_NOTES (first)); + REG_NOTES (last) = gen_rtx_INSN_LIST (REG_RETVAL, first, + REG_NOTES (last)); + } } } diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog index 9c901b49cc0..edaf5520be0 100644 --- a/gcc/po/ChangeLog +++ b/gcc/po/ChangeLog @@ -1,3 +1,7 @@ +2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk> + + * gcc.pot: Regenerate. + 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * exgettext: Allow for PWDCMD to override hardcoded pwd. diff --git a/gcc/po/gcc.pot b/gcc/po/gcc.pot index fd7713d79c6..81002a2cfd9 100644 --- a/gcc/po/gcc.pot +++ b/gcc/po/gcc.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2002-04-23 14:22+0200\n" +"POT-Creation-Date: 2002-12-30 18:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -15,140 +15,55 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: attribs.c:307 +#: attribs.c:185 #, c-format msgid "`%s' attribute directive ignored" msgstr "" -#: attribs.c:315 +#: attribs.c:193 #, c-format msgid "wrong number of arguments specified for `%s' attribute" msgstr "" -#: attribs.c:332 +#: attribs.c:210 #, c-format msgid "`%s' attribute does not apply to types" msgstr "" -#: attribs.c:369 +#: attribs.c:247 #, c-format msgid "`%s' attribute only applies to function types" msgstr "" -#: attribs.c:461 attribs.c:483 attribs.c:505 attribs.c:536 attribs.c:558 -#: attribs.c:583 attribs.c:606 attribs.c:636 attribs.c:674 attribs.c:721 -#: attribs.c:751 attribs.c:781 attribs.c:804 attribs.c:1049 attribs.c:1071 -#: attribs.c:1147 attribs.c:1203 attribs.c:1264 attribs.c:1298 attribs.c:1549 -#: config/arm/arm.c:2007 config/arm/arm.c:2034 config/avr/avr.c:4683 -#: config/h8300/h8300.c:3407 config/h8300/h8300.c:3432 config/i386/i386.c:1268 -#: config/i386/winnt.c:74 +#: attribs.c:404 c-common.c:5253 c-common.c:5275 c-common.c:5297 +#: c-common.c:5328 c-common.c:5350 c-common.c:5375 c-common.c:5398 +#: c-common.c:5428 c-common.c:5466 c-common.c:5513 c-common.c:5543 +#: c-common.c:5573 c-common.c:5596 c-common.c:5853 c-common.c:5875 +#: c-common.c:5918 c-common.c:5995 c-common.c:6051 c-common.c:6112 +#: c-common.c:6146 c-common.c:6500 config/arm/arm.c:2098 config/arm/arm.c:2125 +#: config/avr/avr.c:4774 config/h8300/h8300.c:3649 config/h8300/h8300.c:3674 +#: config/i386/i386.c:1396 config/i386/winnt.c:76 #, c-format msgid "`%s' attribute ignored" msgstr "" -#: attribs.c:837 -#, c-format -msgid "unknown machine mode `%s'" -msgstr "" - -#: attribs.c:840 -#, c-format -msgid "no data type for mode `%s'" -msgstr "" - -#: attribs.c:873 -msgid "section attribute cannot be specified for local variables" -msgstr "" - -#: attribs.c:884 -#, c-format -msgid "section of `%s' conflicts with previous declaration" -msgstr "" - -#: attribs.c:893 -#, c-format -msgid "section attribute not allowed for `%s'" -msgstr "" - -#: attribs.c:900 -msgid "section attributes are not supported for this target" -msgstr "" - -#: attribs.c:942 -msgid "requested alignment is not a constant" -msgstr "" - -#: attribs.c:947 -msgid "requested alignment is not a power of 2" -msgstr "" - -#: attribs.c:952 -msgid "requested alignment is too large" -msgstr "" - -#: attribs.c:979 -#, c-format -msgid "alignment may not be specified for `%s'" -msgstr "" - -#: attribs.c:1024 -#, c-format -msgid "`%s' defined both normally and as an alias" -msgstr "" - -#: attribs.c:1034 -msgid "alias arg not a string" -msgstr "" - -#: attribs.c:1081 -msgid "visibility arg not a string" -msgstr "" - -#: attribs.c:1089 -msgid "visibility arg must be one of \"hidden\", \"protected\" or \"internal\"" -msgstr "" - -#: attribs.c:1114 attribs.c:1170 -#, c-format -msgid "`%s' attribute applies only to functions" -msgstr "" - -#: attribs.c:1121 attribs.c:1177 -#, c-format -msgid "can't set `%s' attribute after definition" -msgstr "" - -#: attribs.c:1261 -#, c-format -msgid "`%s' attribute ignored for `%s'" -msgstr "" - -#: attribs.c:1326 -#, c-format -msgid "invalid vector type for attribute `%s'" -msgstr "" - -#: attribs.c:1350 attribs.c:1382 -msgid "no vector mode with the size and type specified could be found" -msgstr "" - -#: builtins.c:281 +#: builtins.c:285 msgid "offset outside bounds of constant string" msgstr "" -#: builtins.c:761 +#: builtins.c:765 msgid "second arg to `__builtin_prefetch' must be a constant" msgstr "" -#: builtins.c:768 +#: builtins.c:772 msgid "invalid second arg to __builtin_prefetch; using zero" msgstr "" -#: builtins.c:775 +#: builtins.c:779 msgid "third arg to `__builtin_prefetch' must be a constant" msgstr "" -#: builtins.c:782 +#: builtins.c:786 msgid "invalid third arg to __builtin_prefetch; using zero" msgstr "" @@ -159,1297 +74,1449 @@ msgstr "" #. port (i860) that used this code, and I'm unconvinced it could actually #. handle the general case. So we no longer try to handle anything #. weird and make the backend absorb the evil. -#: builtins.c:2764 +#: builtins.c:2864 msgid "__builtin_saveregs not supported by this target" msgstr "" -#: builtins.c:2806 +#: builtins.c:2906 msgid "argument of `__builtin_args_info' must be constant" msgstr "" -#: builtins.c:2812 +#: builtins.c:2912 msgid "argument of `__builtin_args_info' out of range" msgstr "" -#: builtins.c:2818 +#: builtins.c:2918 msgid "missing argument in `__builtin_args_info'" msgstr "" -#: builtins.c:2850 +#: builtins.c:2949 msgid "`va_start' used in function with fixed args" msgstr "" -#: builtins.c:2869 +#: builtins.c:2968 msgid "second parameter of `va_start' not last named argument" msgstr "" #. Evidently an out of date version of <stdarg.h>; can't validate #. va_start's second argument, but can still work as intended. -#: builtins.c:2874 +#: builtins.c:2973 msgid "`__builtin_next_arg' called without an argument" msgstr "" -#: builtins.c:2978 +#: builtins.c:3059 msgid "too many arguments to function `va_start'" msgstr "" -#: builtins.c:3079 +#: builtins.c:3161 msgid "first argument to `va_arg' not of type `va_list'" msgstr "" #. Unfortunately, this is merely undefined, rather than a constraint #. violation, so we cannot make this an error. If this call is never #. executed, the program is still strictly conforming. -#: builtins.c:3111 +#: builtins.c:3193 #, c-format msgid "`%s' is promoted to `%s' when passed through `...'" msgstr "" -#: builtins.c:3116 +#: builtins.c:3198 #, c-format msgid "(so you should pass `%s' not `%s' to `va_arg')" msgstr "" -#: builtins.c:3247 +#: builtins.c:3329 msgid "invalid arg to `__builtin_frame_address'" msgstr "" -#: builtins.c:3249 +#: builtins.c:3331 msgid "invalid arg to `__builtin_return_address'" msgstr "" -#: builtins.c:3263 +#: builtins.c:3345 msgid "unsupported arg to `__builtin_frame_address'" msgstr "" -#: builtins.c:3265 +#: builtins.c:3347 msgid "unsupported arg to `__builtin_return_address'" msgstr "" -#: builtins.c:3433 +#: builtins.c:3515 msgid "second arg to `__builtin_expect' must be a constant" msgstr "" -#: builtins.c:3914 +#: builtins.c:4010 msgid "__builtin_longjmp second argument must be 1" msgstr "" #. just do library call, if unknown builtin -#: builtins.c:3987 c-common.c:3829 +#: builtins.c:4074 c-common.c:4437 #, c-format msgid "built-in function `%s' not currently supported" msgstr "" -#: c-common.c:554 -#, c-format -msgid "`%s' is not defined outside of function scope" +#: builtins.c:4147 +msgid "target format does not support infinity" msgstr "" -#: c-common.c:594 -msgid "" -"concatenation of string literals with __FUNCTION__ is deprecated. This " -"feature will be removed in future" +#: c-common.c:1163 +#, c-format +msgid "`%s' is not defined outside of function scope" msgstr "" -#: c-common.c:663 +#: c-common.c:1184 #, c-format msgid "" "string length `%d' is greater than the length `%d' ISO C%d compilers are " "required to support" msgstr "" -#: c-common.c:711 +#: c-common.c:1242 +msgid "concatenation of string literals with __FUNCTION__ is deprecated" +msgstr "" + +#: c-common.c:1338 msgid "overflow in constant expression" msgstr "" -#: c-common.c:732 +#: c-common.c:1359 msgid "integer overflow in expression" msgstr "" -#: c-common.c:741 +#: c-common.c:1368 msgid "floating point overflow in expression" msgstr "" -#: c-common.c:747 +#: c-common.c:1374 msgid "vector overflow in expression" msgstr "" #. This detects cases like converting -129 or 256 to unsigned char. -#: c-common.c:770 +#: c-common.c:1397 msgid "large integer implicitly truncated to unsigned type" msgstr "" -#: c-common.c:772 +#: c-common.c:1399 msgid "negative integer implicitly converted to unsigned type" msgstr "" -#: c-common.c:820 +#: c-common.c:1447 msgid "overflow in implicit constant conversion" msgstr "" -#: c-common.c:968 +#: c-common.c:1595 #, c-format msgid "operation on `%s' may be undefined" msgstr "" -#: c-common.c:1259 +#: c-common.c:1886 msgid "expression statement has incomplete type" msgstr "" -#: c-common.c:1292 +#: c-common.c:1919 msgid "case label does not reduce to an integer constant" msgstr "" -#: c-common.c:1593 +#: c-common.c:2223 msgid "invalid truth-value expression" msgstr "" -#: c-common.c:1644 +#: c-common.c:2274 #, c-format msgid "invalid operands to binary %s" msgstr "" -#: c-common.c:1880 c-common.c:1889 +#: c-common.c:2508 msgid "comparison is always false due to limited range of data type" msgstr "" -#: c-common.c:1882 c-common.c:1891 +#: c-common.c:2510 msgid "comparison is always true due to limited range of data type" msgstr "" -#: c-common.c:1961 +#: c-common.c:2580 msgid "comparison of unsigned expression >= 0 is always true" msgstr "" -#: c-common.c:1970 +#: c-common.c:2589 msgid "comparison of unsigned expression < 0 is always false" msgstr "" -#: c-common.c:2017 +#: c-common.c:2636 msgid "pointer of type `void *' used in arithmetic" msgstr "" -#: c-common.c:2023 +#: c-common.c:2642 msgid "pointer to a function used in arithmetic" msgstr "" -#: c-common.c:2029 +#: c-common.c:2648 msgid "pointer to member function used in arithmetic" msgstr "" -#: c-common.c:2035 +#: c-common.c:2654 msgid "pointer to a member used in arithmetic" msgstr "" -#: c-common.c:2122 f/com.c:14845 +#: c-common.c:2741 f/com.c:14690 msgid "struct type value used where scalar is required" msgstr "" -#: c-common.c:2126 f/com.c:14849 +#: c-common.c:2745 f/com.c:14694 msgid "union type value used where scalar is required" msgstr "" -#: c-common.c:2130 f/com.c:14853 +#: c-common.c:2749 f/com.c:14698 msgid "array type value used where scalar is required" msgstr "" -#: c-common.c:2250 f/com.c:14979 +#: c-common.c:2869 f/com.c:14831 msgid "suggest parentheses around assignment used as truth value" msgstr "" -#: c-common.c:2294 c-common.c:2326 +#: c-common.c:2913 c-common.c:2945 msgid "invalid use of `restrict'" msgstr "" -#: c-common.c:2441 -msgid "__alignof__ applied to an incomplete type" +#: c-common.c:3059 +msgid "invalid application of `sizeof' to a function type" +msgstr "" + +#: c-common.c:3069 +#, c-format +msgid "invalid application of `%s' to a void type" +msgstr "" + +#: c-common.c:3075 +#, c-format +msgid "invalid application of `%s' to an incomplete type" msgstr "" -#: c-common.c:2467 +#: c-common.c:3116 msgid "`__alignof' applied to a bit-field" msgstr "" -#: c-common.c:2960 +#: c-common.c:3596 #, c-format msgid "cannot disable built-in function `%s'" msgstr "" -#: c-common.c:3137 c-typeck.c:1794 +#: c-common.c:3765 c-typeck.c:1734 #, c-format msgid "too few arguments to function `%s'" msgstr "" -#: c-common.c:3143 c-typeck.c:1647 +#: c-common.c:3771 c-typeck.c:1587 #, c-format msgid "too many arguments to function `%s'" msgstr "" -#: c-common.c:3162 +#: c-common.c:3790 #, c-format msgid "non-floating-point argument to function `%s'" msgstr "" -#: c-common.c:3431 +#: c-common.c:4059 msgid "pointers are not permitted as case values" msgstr "" -#: c-common.c:3437 +#: c-common.c:4065 msgid "ISO C++ forbids range expressions in switch statements" msgstr "" -#: c-common.c:3439 +#: c-common.c:4067 msgid "ISO C forbids range expressions in switch statements" msgstr "" -#: c-common.c:3469 +#: c-common.c:4097 msgid "empty range specified" msgstr "" -#: c-common.c:3520 +#: c-common.c:4148 msgid "duplicate (or overlapping) case value" msgstr "" -#: c-common.c:3522 +#: c-common.c:4150 msgid "this is the first entry overlapping that value" msgstr "" -#: c-common.c:3526 +#: c-common.c:4154 msgid "duplicate case value" msgstr "" -#: c-common.c:3527 +#: c-common.c:4155 msgid "previously used here" msgstr "" -#: c-common.c:3531 +#: c-common.c:4159 msgid "multiple default labels in one switch" msgstr "" -#: c-common.c:3532 +#: c-common.c:4160 msgid "this is the first default label" msgstr "" -#: c-common.c:3560 +#: c-common.c:4188 msgid "ISO C++ forbids taking the address of a label" msgstr "" -#: c-common.c:3562 +#: c-common.c:4190 msgid "ISO C forbids taking the address of a label" msgstr "" -#: c-common.c:4166 -msgid "-Wformat-y2k ignored without -Wformat" +#: c-common.c:5213 +#, c-format +msgid "declaration of `%s' shadows %s" msgstr "" -#: c-common.c:4168 -msgid "-Wformat-extra-args ignored without -Wformat" +#: c-common.c:5629 +#, c-format +msgid "unknown machine mode `%s'" msgstr "" -#: c-common.c:4170 -msgid "-Wformat-nonliteral ignored without -Wformat" +#: c-common.c:5632 +#, c-format +msgid "no data type for mode `%s'" msgstr "" -#: c-common.c:4172 -msgid "-Wformat-security ignored without -Wformat" +#: c-common.c:5641 c-common.c:6242 +#, c-format +msgid "unable to emulate '%s'" msgstr "" -#: c-common.c:4174 -msgid "-Wmissing-format-attribute ignored without -Wformat" +#: c-common.c:5677 +msgid "section attribute cannot be specified for local variables" msgstr "" -#: c-common.c:4272 +#: c-common.c:5688 #, c-format -msgid "declaration of `%s' shadows %s" +msgid "section of `%s' conflicts with previous declaration" msgstr "" -#: c-convert.c:80 c-typeck.c:1048 c-typeck.c:4049 cp/typeck.c:1675 -#: cp/typeck.c:6176 -msgid "void value not ignored as it ought to be" +#: c-common.c:5697 +#, c-format +msgid "section attribute not allowed for `%s'" msgstr "" -#: c-convert.c:112 java/typeck.c:150 -msgid "conversion to non-scalar type requested" +#: c-common.c:5704 +msgid "section attributes are not supported for this target" +msgstr "" + +#: c-common.c:5746 +msgid "requested alignment is not a constant" +msgstr "" + +#: c-common.c:5751 +msgid "requested alignment is not a power of 2" msgstr "" -#: c-decl.c:587 +#: c-common.c:5756 +msgid "requested alignment is too large" +msgstr "" + +#: c-common.c:5783 #, c-format -msgid "unknown C standard `%s'" +msgid "alignment may not be specified for `%s'" +msgstr "" + +#: c-common.c:5828 +#, c-format +msgid "`%s' defined both normally and as an alias" +msgstr "" + +#: c-common.c:5838 +msgid "alias arg not a string" +msgstr "" + +#: c-common.c:5885 +msgid "visibility arg not a string" +msgstr "" + +#: c-common.c:5894 +msgid "" +"visibility arg must be one of \"default\", \"hidden\", \"protected\" or " +"\"internal\"" +msgstr "" + +#: c-common.c:5928 +msgid "tls_model arg not a string" +msgstr "" + +#: c-common.c:5937 +msgid "" +"tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-" +"dynamic\" or \"global-dynamic\"" +msgstr "" + +#: c-common.c:5962 c-common.c:6018 +#, c-format +msgid "`%s' attribute applies only to functions" +msgstr "" + +#: c-common.c:5969 c-common.c:6025 +#, c-format +msgid "can't set `%s' attribute after definition" +msgstr "" + +#: c-common.c:6109 +#, c-format +msgid "`%s' attribute ignored for `%s'" msgstr "" -#: c-decl.c:748 +#: c-common.c:6174 +#, c-format +msgid "invalid vector type for attribute `%s'" +msgstr "" + +#: c-common.c:6198 c-common.c:6230 +msgid "no vector mode with the size and type specified could be found" +msgstr "" + +#: c-common.c:6329 +msgid "nonnull attribute without arguments on a non-prototype" +msgstr "" + +#: c-common.c:6344 +#, c-format +msgid "nonnull argument has invalid operand number (arg %lu)" +msgstr "" + +#: c-common.c:6363 +#, c-format +msgid "" +"nonnull argument with out-of-range operand number (arg %lu, operand %lu)" +msgstr "" + +#: c-common.c:6371 +#, c-format +msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)" +msgstr "" + +#: c-common.c:6457 +#, c-format +msgid "null argument where non-null required (arg %lu)" +msgstr "" + +#: c-convert.c:80 c-typeck.c:988 c-typeck.c:4045 cp/typeck.c:1617 +#: cp/typeck.c:5855 +msgid "void value not ignored as it ought to be" +msgstr "" + +#: c-convert.c:112 java/typeck.c:150 +msgid "conversion to non-scalar type requested" +msgstr "" + +#: c-decl.c:336 #, c-format msgid "array `%s' assumed to have one element" msgstr "" -#: c-decl.c:924 +#: c-decl.c:522 #, c-format msgid "`struct %s' incomplete in scope ending here" msgstr "" -#: c-decl.c:927 +#: c-decl.c:525 #, c-format msgid "`union %s' incomplete in scope ending here" msgstr "" -#: c-decl.c:930 +#: c-decl.c:528 #, c-format msgid "`enum %s' incomplete in scope ending here" msgstr "" -#: c-decl.c:1044 c-decl.c:1185 java/decl.c:1371 +#: c-decl.c:642 c-decl.c:767 java/decl.c:1399 #, c-format msgid "label `%s' used but not defined" msgstr "" -#: c-decl.c:1050 c-decl.c:1192 java/decl.c:1377 +#: c-decl.c:648 c-decl.c:774 java/decl.c:1405 #, c-format msgid "label `%s' defined but not used" msgstr "" -#: c-decl.c:1309 cp/decl.c:3125 +#: c-decl.c:889 cp/decl.c:3058 #, c-format msgid "function `%s' redeclared as inline" msgstr "" -#: c-decl.c:1311 cp/decl.c:3127 +#: c-decl.c:891 cp/decl.c:3060 #, c-format msgid "previous declaration of function `%s' with attribute noinline" msgstr "" -#: c-decl.c:1318 cp/decl.c:3134 +#: c-decl.c:898 cp/decl.c:3067 #, c-format msgid "function `%s' redeclared with attribute noinline" msgstr "" -#: c-decl.c:1320 cp/decl.c:3136 +#: c-decl.c:900 cp/decl.c:3069 #, c-format msgid "previous declaration of function `%s' was inline" msgstr "" -#: c-decl.c:1349 c-decl.c:1395 +#: c-decl.c:929 c-decl.c:975 #, c-format msgid "shadowing built-in function `%s'" msgstr "" -#: c-decl.c:1351 +#: c-decl.c:931 #, c-format msgid "shadowing library function `%s'" msgstr "" -#: c-decl.c:1357 +#: c-decl.c:937 #, c-format msgid "library function `%s' declared as non-function" msgstr "" -#: c-decl.c:1361 c-decl.c:1364 +#: c-decl.c:941 c-decl.c:944 #, c-format msgid "built-in function `%s' declared as non-function" msgstr "" -#: c-decl.c:1368 objc/objc-act.c:2292 objc/objc-act.c:5994 +#: c-decl.c:948 objc/objc-act.c:2384 objc/objc-act.c:6154 #, c-format msgid "`%s' redeclared as different kind of symbol" msgstr "" -#: c-decl.c:1369 c-decl.c:1560 c-decl.c:1705 objc/objc-act.c:2294 -#: objc/objc-act.c:5996 objc/objc-act.c:6051 +#: c-decl.c:949 c-decl.c:1140 c-decl.c:1147 c-decl.c:1154 c-decl.c:1299 +#: objc/objc-act.c:2386 objc/objc-act.c:6156 objc/objc-act.c:6211 #, c-format msgid "previous declaration of `%s'" msgstr "" #. If types don't match for a built-in, throw away the built-in. -#: c-decl.c:1464 +#: c-decl.c:1044 #, c-format msgid "conflicting types for built-in function `%s'" msgstr "" -#: c-decl.c:1507 c-decl.c:1526 +#: c-decl.c:1087 c-decl.c:1106 #, c-format msgid "conflicting types for `%s'" msgstr "" -#: c-decl.c:1549 +#: c-decl.c:1129 msgid "" "a parameter list with an ellipsis can't match an empty parameter name list " "declaration" msgstr "" -#: c-decl.c:1555 +#: c-decl.c:1135 msgid "" "an argument type that has a default promotion can't match an empty parameter " "name list declaration" msgstr "" -#: c-decl.c:1570 c-decl.c:1593 +#: c-decl.c:1146 +#, c-format +msgid "thread-local declaration of `%s' follows non thread-local declaration" +msgstr "" + +#: c-decl.c:1153 +#, c-format +msgid "non thread-local declaration of `%s' follows thread-local declaration" +msgstr "" + +#: c-decl.c:1164 c-decl.c:1187 #, c-format msgid "redefinition of `%s'" msgstr "" -#: c-decl.c:1573 +#: c-decl.c:1167 #, c-format msgid "redeclaration of `%s'" msgstr "" -#: c-decl.c:1576 +#: c-decl.c:1170 #, c-format msgid "conflicting declarations of `%s'" msgstr "" -#: c-decl.c:1620 +#: c-decl.c:1214 #, c-format msgid "prototype for `%s' follows" msgstr "" -#: c-decl.c:1621 c-decl.c:1629 c-decl.c:1640 +#: c-decl.c:1215 c-decl.c:1223 c-decl.c:1234 msgid "non-prototype definition here" msgstr "" -#: c-decl.c:1628 +#: c-decl.c:1222 #, c-format msgid "prototype for `%s' follows and number of arguments doesn't match" msgstr "" -#: c-decl.c:1638 +#: c-decl.c:1232 #, c-format msgid "prototype for `%s' follows and argument %d doesn't match" msgstr "" -#: c-decl.c:1656 +#: c-decl.c:1250 #, c-format msgid "`%s' declared inline after being called" msgstr "" -#: c-decl.c:1662 +#: c-decl.c:1256 #, c-format msgid "`%s' declared inline after its definition" msgstr "" -#: c-decl.c:1669 +#: c-decl.c:1263 #, c-format msgid "static declaration for `%s' follows non-static" msgstr "" -#: c-decl.c:1677 +#: c-decl.c:1271 #, c-format msgid "non-static declaration for `%s' follows static" msgstr "" -#: c-decl.c:1684 +#: c-decl.c:1278 #, c-format msgid "const declaration for `%s' follows non-const" msgstr "" -#: c-decl.c:1691 +#: c-decl.c:1285 #, c-format msgid "type qualifiers for `%s' conflict with previous decl" msgstr "" -#: c-decl.c:1704 +#: c-decl.c:1298 #, c-format msgid "redundant redeclaration of `%s' in same scope" msgstr "" -#: c-decl.c:2008 java/decl.c:1070 +#: c-decl.c:1599 java/decl.c:1098 #, c-format msgid "declaration of `%s' shadows a parameter" msgstr "" -#: c-decl.c:2011 java/decl.c:1073 +#: c-decl.c:1602 java/decl.c:1101 #, c-format msgid "declaration of `%s' shadows a symbol from the parameter list" msgstr "" -#: c-decl.c:2032 cp/decl.c:4233 +#: c-decl.c:1623 cp/decl.c:4176 msgid "a parameter" msgstr "" -#: c-decl.c:2034 cp/decl.c:4250 +#: c-decl.c:1625 cp/decl.c:4193 msgid "a previous local" msgstr "" #. XXX shadow warnings in outer-more namespaces -#: c-decl.c:2038 cp/decl.c:4254 +#: c-decl.c:1629 cp/decl.c:4197 msgid "a global declaration" msgstr "" -#: c-decl.c:2082 +#: c-decl.c:1673 #, c-format msgid "nested extern declaration of `%s'" msgstr "" -#: c-decl.c:2101 java/decl.c:1023 +#: c-decl.c:1692 java/decl.c:1051 #, c-format msgid "`%s' used prior to declaration" msgstr "" -#: c-decl.c:2115 c-decl.c:2290 +#: c-decl.c:1706 c-decl.c:1881 #, c-format msgid "`%s' was declared implicitly `extern' and later `static'" msgstr "" -#: c-decl.c:2218 cp/decl.c:4092 +#: c-decl.c:1809 cp/decl.c:4035 msgid "type mismatch with previous external decl" msgstr "" -#: c-decl.c:2219 +#: c-decl.c:1810 #, c-format msgid "previous external decl of `%s'" msgstr "" -#: c-decl.c:2232 +#: c-decl.c:1823 msgid "type mismatch with previous implicit declaration" msgstr "" -#: c-decl.c:2234 +#: c-decl.c:1825 #, c-format msgid "previous implicit declaration of `%s'" msgstr "" -#: c-decl.c:2269 +#: c-decl.c:1860 #, c-format msgid "`%s' was previously implicitly declared to return `int'" msgstr "" -#: c-decl.c:2294 +#: c-decl.c:1885 #, c-format msgid "`%s' was declared `extern' and later `static'" msgstr "" -#: c-decl.c:2318 +#: c-decl.c:1909 #, c-format msgid "extern declaration of `%s' doesn't match global one" msgstr "" -#: c-decl.c:2360 +#: c-decl.c:1951 #, c-format msgid "`%s' locally external but globally static" msgstr "" -#: c-decl.c:2481 +#: c-decl.c:2073 #, c-format msgid "function `%s' was previously declared within a block" msgstr "" -#: c-decl.c:2501 c-decl.c:2503 +#: c-decl.c:2093 c-decl.c:2095 #, c-format msgid "implicit declaration of function `%s'" msgstr "" -#: c-decl.c:2582 +#: c-decl.c:2174 #, c-format msgid "label %s referenced outside of any function" msgstr "" -#: c-decl.c:2639 +#: c-decl.c:2231 #, c-format msgid "duplicate label declaration `%s'" msgstr "" -#: c-decl.c:2642 +#: c-decl.c:2234 msgid "this is a previous declaration" msgstr "" -#: c-decl.c:3098 +#: c-decl.c:2657 msgid "unnamed struct/union that defines no instances" msgstr "" -#: c-decl.c:3117 +#: c-decl.c:2676 msgid "useless keyword or type name in empty declaration" msgstr "" -#: c-decl.c:3124 +#: c-decl.c:2683 msgid "two types specified in one empty declaration" msgstr "" -#: c-decl.c:3129 c-parse.y:731 c-parse.y:733 parse.y:739 parse.y:1824 -#: objc-parse.y:768 objc-parse.y:770 objc-parse.y:3002 +#: c-decl.c:2688 c-parse.y:753 c-parse.y:755 parse.y:765 parse.y:1835 +#: objc-parse.y:800 objc-parse.y:802 objc-parse.y:3043 msgid "empty declaration" msgstr "" -#: c-decl.c:3159 +#: c-decl.c:2718 msgid "" -"ISO C89 does not support `static' or type qualifiers in parameter array " +"ISO C90 does not support `static' or type qualifiers in parameter array " "declarators" msgstr "" -#: c-decl.c:3161 -msgid "ISO C89 does not support `[*]' array declarators" +#: c-decl.c:2720 +msgid "ISO C90 does not support `[*]' array declarators" msgstr "" -#: c-decl.c:3164 +#: c-decl.c:2723 msgid "GCC does not yet properly implement `[*]' array declarators" msgstr "" -#: c-decl.c:3183 +#: c-decl.c:2742 msgid "static or type qualifiers in abstract declarator" msgstr "" -#: c-decl.c:3257 +#: c-decl.c:2816 #, c-format msgid "`%s' is usually a function" msgstr "" -#: c-decl.c:3271 +#: c-decl.c:2825 #, c-format -msgid "typedef `%s' is initialized" +msgid "typedef `%s' is initialized (use __typeof__ instead)" msgstr "" -#: c-decl.c:3278 +#: c-decl.c:2831 #, c-format msgid "function `%s' is initialized like a variable" msgstr "" #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE. -#: c-decl.c:3285 +#: c-decl.c:2838 #, c-format msgid "parameter `%s' is initialized" msgstr "" -#: c-decl.c:3305 c-typeck.c:4846 +#: c-decl.c:2858 c-typeck.c:4854 msgid "variable-sized object may not be initialized" msgstr "" -#: c-decl.c:3311 +#: c-decl.c:2864 #, c-format msgid "variable `%s' has initializer but incomplete type" msgstr "" -#: c-decl.c:3317 +#: c-decl.c:2870 #, c-format msgid "elements of array `%s' have incomplete type" msgstr "" -#: c-decl.c:3330 +#: c-decl.c:2883 #, c-format msgid "declaration of `%s' has `extern' and is initialized" msgstr "" -#: c-decl.c:3369 c-decl.c:5999 cp/decl.c:7359 cp/decl.c:13616 +#: c-decl.c:2932 c-decl.c:5694 cp/decl.c:7353 cp/decl.c:13860 #, c-format msgid "inline function `%s' given attribute noinline" msgstr "" -#: c-decl.c:3452 +#: c-decl.c:3006 #, c-format msgid "initializer fails to determine size of `%s'" msgstr "" -#: c-decl.c:3457 +#: c-decl.c:3011 #, c-format msgid "array size missing in `%s'" msgstr "" -#: c-decl.c:3473 +#: c-decl.c:3027 #, c-format msgid "zero or negative size array `%s'" msgstr "" -#: c-decl.c:3501 +#: c-decl.c:3055 #, c-format msgid "storage size of `%s' isn't known" msgstr "" -#: c-decl.c:3511 +#: c-decl.c:3065 #, c-format msgid "storage size of `%s' isn't constant" msgstr "" -#: c-decl.c:3570 +#: c-decl.c:3125 #, c-format msgid "ignoring asm-specifier for non-static local variable `%s'" msgstr "" -#: c-decl.c:3634 +#: c-decl.c:3190 #, c-format msgid "ISO C forbids parameter `%s' shadowing typedef" msgstr "" -#: c-decl.c:3938 cp/decl.c:10164 +#: c-decl.c:3535 cp/decl.c:10433 msgid "`long long long' is too long for GCC" msgstr "" -#: c-decl.c:3943 -msgid "ISO C89 does not support `long long'" +#: c-decl.c:3540 +msgid "ISO C90 does not support `long long'" msgstr "" -#: c-decl.c:3948 cp/decl.c:10169 +#: c-decl.c:3549 c-decl.c:3552 cp/decl.c:10438 #, c-format msgid "duplicate `%s'" msgstr "" -#: c-decl.c:3954 cp/decl.c:10193 +#: c-decl.c:3562 cp/decl.c:10445 +msgid "`__thread' before `extern'" +msgstr "" + +#: c-decl.c:3564 cp/decl.c:10447 +msgid "`__thread' before `static'" +msgstr "" + +#: c-decl.c:3572 cp/decl.c:10474 #, c-format msgid "two or more data types in declaration of `%s'" msgstr "" -#: c-decl.c:3974 cp/decl.c:10198 +#: c-decl.c:3592 cp/decl.c:10479 #, c-format msgid "`%s' fails to be a typedef or built in type" msgstr "" -#: c-decl.c:4013 +#: c-decl.c:3631 #, c-format msgid "type defaults to `int' in declaration of `%s'" msgstr "" -#: c-decl.c:4042 +#: c-decl.c:3660 #, c-format msgid "both long and short specified for `%s'" msgstr "" -#: c-decl.c:4046 cp/decl.c:10313 +#: c-decl.c:3664 cp/decl.c:10594 #, c-format msgid "long or short specified with char for `%s'" msgstr "" -#: c-decl.c:4053 cp/decl.c:10317 +#: c-decl.c:3671 cp/decl.c:10598 #, c-format msgid "long or short specified with floating type for `%s'" msgstr "" -#: c-decl.c:4056 +#: c-decl.c:3674 msgid "the only valid combination is `long double'" msgstr "" -#: c-decl.c:4062 +#: c-decl.c:3680 #, c-format msgid "both signed and unsigned specified for `%s'" msgstr "" -#: c-decl.c:4064 cp/decl.c:10306 +#: c-decl.c:3682 cp/decl.c:10587 #, c-format msgid "long, short, signed or unsigned invalid for `%s'" msgstr "" -#: c-decl.c:4070 cp/decl.c:10326 +#: c-decl.c:3688 cp/decl.c:10607 #, c-format msgid "long, short, signed or unsigned used invalidly for `%s'" msgstr "" -#: c-decl.c:4089 cp/decl.c:10347 +#: c-decl.c:3706 cp/decl.c:10628 #, c-format msgid "complex invalid for `%s'" msgstr "" -#: c-decl.c:4131 -msgid "ISO C89 does not support complex types" +#: c-decl.c:3748 +msgid "ISO C90 does not support complex types" msgstr "" -#: c-decl.c:4143 +#: c-decl.c:3760 msgid "ISO C does not support plain `complex' meaning `double complex'" msgstr "" -#: c-decl.c:4149 c-decl.c:4161 +#: c-decl.c:3766 c-decl.c:3778 msgid "ISO C does not support complex integer types" msgstr "" -#: c-decl.c:4176 c-decl.c:4608 cp/decl.c:10962 +#: c-decl.c:3793 c-decl.c:4246 cp/decl.c:11241 msgid "duplicate `const'" msgstr "" -#: c-decl.c:4178 c-decl.c:4612 cp/decl.c:10966 +#: c-decl.c:3795 c-decl.c:4250 cp/decl.c:11245 msgid "duplicate `restrict'" msgstr "" -#: c-decl.c:4180 c-decl.c:4610 cp/decl.c:10964 +#: c-decl.c:3797 c-decl.c:4248 cp/decl.c:11243 msgid "duplicate `volatile'" msgstr "" -#: c-decl.c:4202 cp/decl.c:10502 +#: c-decl.c:3825 cp/decl.c:10791 #, c-format msgid "multiple storage classes in declaration of `%s'" msgstr "" -#: c-decl.c:4211 +#: c-decl.c:3835 msgid "function definition declared `auto'" msgstr "" -#: c-decl.c:4213 +#: c-decl.c:3837 msgid "function definition declared `register'" msgstr "" -#: c-decl.c:4215 +#: c-decl.c:3839 msgid "function definition declared `typedef'" msgstr "" -#: c-decl.c:4228 +#: c-decl.c:3841 +msgid "function definition declared `__thread'" +msgstr "" + +#: c-decl.c:3854 #, c-format msgid "storage class specified for structure field `%s'" msgstr "" -#: c-decl.c:4232 cp/decl.c:10549 +#: c-decl.c:3858 cp/decl.c:10838 #, c-format msgid "storage class specified for parameter `%s'" msgstr "" -#: c-decl.c:4235 cp/decl.c:10551 +#: c-decl.c:3861 cp/decl.c:10840 msgid "storage class specified for typename" msgstr "" -#: c-decl.c:4247 cp/decl.c:10565 +#: c-decl.c:3873 cp/decl.c:10855 #, c-format msgid "`%s' initialized and declared `extern'" msgstr "" -#: c-decl.c:4249 cp/decl.c:10568 +#: c-decl.c:3875 cp/decl.c:10858 #, c-format msgid "`%s' has both `extern' and initializer" msgstr "" -#: c-decl.c:4253 cp/decl.c:10572 +#: c-decl.c:3880 cp/decl.c:10866 +#, c-format +msgid "top-level declaration of `%s' specifies `auto'" +msgstr "" + +#: c-decl.c:3885 cp/decl.c:10862 #, c-format msgid "nested function `%s' declared `extern'" msgstr "" -#: c-decl.c:4256 cp/decl.c:10576 +#: c-decl.c:3891 cp/decl.c:10872 #, c-format -msgid "top-level declaration of `%s' specifies `auto'" +msgid "function-scope `%s' implicitly auto and declared `__thread'" msgstr "" #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) #. may have static or type qualifiers. -#: c-decl.c:4291 c-decl.c:4480 +#: c-decl.c:3930 c-decl.c:4118 msgid "static or type qualifiers in non-parameter array declarator" msgstr "" -#: c-decl.c:4335 +#: c-decl.c:3974 #, c-format msgid "declaration of `%s' as array of voids" msgstr "" -#: c-decl.c:4341 +#: c-decl.c:3980 #, c-format msgid "declaration of `%s' as array of functions" msgstr "" -#: c-decl.c:4362 +#: c-decl.c:3985 c-decl.c:5250 +msgid "invalid use of structure with flexible array member" +msgstr "" + +#: c-decl.c:4004 #, c-format msgid "size of array `%s' has non-integer type" msgstr "" -#: c-decl.c:4367 +#: c-decl.c:4009 #, c-format msgid "ISO C forbids zero-size array `%s'" msgstr "" -#: c-decl.c:4374 +#: c-decl.c:4016 #, c-format msgid "size of array `%s' is negative" msgstr "" -#: c-decl.c:4387 +#: c-decl.c:4029 #, c-format -msgid "ISO C89 forbids array `%s' whose size can't be evaluated" +msgid "ISO C90 forbids array `%s' whose size can't be evaluated" msgstr "" -#: c-decl.c:4390 +#: c-decl.c:4032 #, c-format -msgid "ISO C89 forbids variable-size array `%s'" +msgid "ISO C90 forbids variable-size array `%s'" msgstr "" -#: c-decl.c:4420 c-decl.c:4634 cp/decl.c:11172 +#: c-decl.c:4062 c-decl.c:4272 cp/decl.c:11450 #, c-format msgid "size of array `%s' is too large" msgstr "" -#: c-decl.c:4437 -msgid "ISO C89 does not support flexible array members" +#: c-decl.c:4075 +msgid "ISO C90 does not support flexible array members" msgstr "" -#: c-decl.c:4447 +#: c-decl.c:4085 msgid "array type has incomplete element type" msgstr "" -#: c-decl.c:4454 c-decl.c:4684 +#: c-decl.c:4092 c-decl.c:4322 msgid "ISO C forbids const or volatile function types" msgstr "" -#: c-decl.c:4500 cp/decl.c:10713 +#: c-decl.c:4138 cp/decl.c:10998 #, c-format msgid "`%s' declared as function returning a function" msgstr "" -#: c-decl.c:4505 cp/decl.c:10718 +#: c-decl.c:4143 cp/decl.c:11003 #, c-format msgid "`%s' declared as function returning an array" msgstr "" -#: c-decl.c:4533 +#: c-decl.c:4171 msgid "ISO C forbids qualified void function return type" msgstr "" -#: c-decl.c:4537 +#: c-decl.c:4175 msgid "type qualifiers ignored on function return type" msgstr "" -#: c-decl.c:4566 c-decl.c:4649 c-decl.c:4773 c-decl.c:4863 +#: c-decl.c:4204 c-decl.c:4287 c-decl.c:4411 c-decl.c:4503 msgid "ISO C forbids qualified function types" msgstr "" -#: c-decl.c:4606 cp/decl.c:10958 +#: c-decl.c:4244 cp/decl.c:11237 msgid "invalid type modifier within pointer declarator" msgstr "" -#: c-decl.c:4704 cp/decl.c:11450 +#: c-decl.c:4342 cp/decl.c:11732 #, c-format msgid "variable or field `%s' declared void" msgstr "" -#: c-decl.c:4737 +#: c-decl.c:4375 msgid "attributes in parameter array declarator ignored" msgstr "" -#: c-decl.c:4762 +#: c-decl.c:4400 msgid "invalid type modifier within array declarator" msgstr "" -#: c-decl.c:4807 +#: c-decl.c:4445 #, c-format msgid "field `%s' declared as a function" msgstr "" -#: c-decl.c:4813 +#: c-decl.c:4451 #, c-format msgid "field `%s' has incomplete type" msgstr "" -#: c-decl.c:4845 c-decl.c:4847 c-decl.c:4854 +#: c-decl.c:4483 c-decl.c:4485 c-decl.c:4487 c-decl.c:4494 #, c-format msgid "invalid storage class for function `%s'" msgstr "" -#: c-decl.c:4869 +#: c-decl.c:4509 msgid "`noreturn' function returns non-void value" msgstr "" -#: c-decl.c:4884 +#: c-decl.c:4524 msgid "cannot inline function `main'" msgstr "" -#: c-decl.c:4937 +#: c-decl.c:4577 #, c-format msgid "variable `%s' declared `inline'" msgstr "" -#: c-decl.c:5010 c-decl.c:6051 +#. A mere warning is sure to result in improper semantics +#. at runtime. Don't bother to allow this to compile. +#: c-decl.c:4605 cp/decl.c:9511 +msgid "thread-local storage not supported for this target" +msgstr "" + +#: c-decl.c:4660 c-decl.c:5746 msgid "function declaration isn't a prototype" msgstr "" -#: c-decl.c:5016 +#: c-decl.c:4666 msgid "parameter names (without types) in function declaration" msgstr "" -#: c-decl.c:5048 c-decl.c:6431 +#: c-decl.c:4698 c-decl.c:6116 #, c-format msgid "parameter `%s' has incomplete type" msgstr "" -#: c-decl.c:5051 +#: c-decl.c:4701 msgid "parameter has incomplete type" msgstr "" -#: c-decl.c:5072 +#: c-decl.c:4722 #, c-format msgid "parameter `%s' points to incomplete type" msgstr "" -#: c-decl.c:5075 +#: c-decl.c:4725 msgid "parameter points to incomplete type" msgstr "" -#: c-decl.c:5140 +#: c-decl.c:4790 #, c-format msgid "parameter `%s' has just a forward declaration" msgstr "" -#: c-decl.c:5181 +#: c-decl.c:4831 msgid "`void' in parameter list must be the entire list" msgstr "" -#: c-decl.c:5212 +#: c-decl.c:4862 #, c-format msgid "`struct %s' declared inside parameter list" msgstr "" -#: c-decl.c:5215 +#: c-decl.c:4865 #, c-format msgid "`union %s' declared inside parameter list" msgstr "" -#: c-decl.c:5218 +#: c-decl.c:4868 #, c-format msgid "`enum %s' declared inside parameter list" msgstr "" -#: c-decl.c:5225 +#: c-decl.c:4875 msgid "anonymous struct declared inside parameter list" msgstr "" -#: c-decl.c:5227 +#: c-decl.c:4877 msgid "anonymous union declared inside parameter list" msgstr "" -#: c-decl.c:5229 +#: c-decl.c:4879 msgid "anonymous enum declared inside parameter list" msgstr "" -#: c-decl.c:5233 +#: c-decl.c:4883 msgid "" "its scope is only this definition or declaration, which is probably not what " "you want" msgstr "" -#: c-decl.c:5312 +#: c-decl.c:4960 #, c-format msgid "redefinition of `union %s'" msgstr "" -#: c-decl.c:5315 +#: c-decl.c:4962 #, c-format msgid "redefinition of `struct %s'" msgstr "" -#: c-decl.c:5354 -msgid "unnamed fields of type other than struct or union are not allowed" +#: c-decl.c:5033 cp/decl.c:7125 +msgid "declaration does not declare anything" msgstr "" -#: c-decl.c:5395 c-decl.c:5398 +#: c-decl.c:5075 c-decl.c:5078 #, c-format msgid "%s defined inside parms" msgstr "" -#: c-decl.c:5396 c-decl.c:5399 c-decl.c:5410 +#: c-decl.c:5076 c-decl.c:5079 c-decl.c:5090 msgid "union" msgstr "" -#: c-decl.c:5396 c-decl.c:5399 +#: c-decl.c:5076 c-decl.c:5079 msgid "structure" msgstr "" -#: c-decl.c:5409 +#: c-decl.c:5089 #, c-format msgid "%s has no %s" msgstr "" -#: c-decl.c:5410 +#: c-decl.c:5090 msgid "struct" msgstr "" -#: c-decl.c:5411 +#: c-decl.c:5091 msgid "named members" msgstr "" -#: c-decl.c:5411 +#: c-decl.c:5091 msgid "members" msgstr "" -#: c-decl.c:5450 +#: c-decl.c:5130 #, c-format msgid "nested redefinition of `%s'" msgstr "" -#: c-decl.c:5463 +#: c-decl.c:5143 #, c-format msgid "bit-field `%s' width not an integer constant" msgstr "" -#: c-decl.c:5474 +#: c-decl.c:5154 #, c-format msgid "bit-field `%s' has invalid type" msgstr "" -#: c-decl.c:5486 +#: c-decl.c:5166 #, c-format msgid "bit-field `%s' type invalid in ISO C" msgstr "" -#: c-decl.c:5497 +#: c-decl.c:5177 #, c-format msgid "negative width in bit-field `%s'" msgstr "" -#: c-decl.c:5499 +#: c-decl.c:5179 #, c-format msgid "width of `%s' exceeds its type" msgstr "" -#: c-decl.c:5501 +#: c-decl.c:5181 #, c-format msgid "zero width for bit-field `%s'" msgstr "" -#: c-decl.c:5515 +#: c-decl.c:5195 #, c-format msgid "`%s' is narrower than values of its type" msgstr "" -#: c-decl.c:5561 +#: c-decl.c:5241 msgid "flexible array member in union" msgstr "" -#: c-decl.c:5563 +#: c-decl.c:5243 msgid "flexible array member not at end of struct" msgstr "" -#: c-decl.c:5565 +#: c-decl.c:5245 msgid "flexible array member in otherwise empty struct" msgstr "" -#: c-decl.c:5590 +#: c-decl.c:5275 #, c-format msgid "duplicate member `%s'" msgstr "" -#: c-decl.c:5634 +#: c-decl.c:5319 msgid "union cannot be made transparent" msgstr "" #. This enum is a named one that has been declared already. -#: c-decl.c:5728 +#: c-decl.c:5424 #, c-format msgid "redeclaration of `enum %s'" msgstr "" -#: c-decl.c:5762 +#: c-decl.c:5458 msgid "enum defined inside parms" msgstr "" -#: c-decl.c:5795 +#: c-decl.c:5491 msgid "enumeration values exceed range of largest integer" msgstr "" -#: c-decl.c:5904 +#: c-decl.c:5600 #, c-format msgid "enumerator value for `%s' not integer constant" msgstr "" -#: c-decl.c:5917 +#: c-decl.c:5613 msgid "overflow in enumeration values" msgstr "" -#: c-decl.c:5922 +#: c-decl.c:5618 msgid "ISO C restricts enumerator values to range of `int'" msgstr "" -#: c-decl.c:6005 +#: c-decl.c:5700 msgid "return type is an incomplete type" msgstr "" -#: c-decl.c:6013 +#: c-decl.c:5708 msgid "return type defaults to `int'" msgstr "" -#: c-decl.c:6060 +#: c-decl.c:5755 #, c-format msgid "no previous prototype for `%s'" msgstr "" -#: c-decl.c:6067 +#: c-decl.c:5762 #, c-format msgid "`%s' was used with no prototype before its definition" msgstr "" -#: c-decl.c:6073 +#: c-decl.c:5768 #, c-format msgid "no previous declaration for `%s'" msgstr "" -#: c-decl.c:6080 +#: c-decl.c:5775 #, c-format msgid "`%s' was used with no declaration before its definition" msgstr "" -#: c-decl.c:6104 c-decl.c:6667 +#: c-decl.c:5799 c-decl.c:6352 #, c-format msgid "return type of `%s' is not `int'" msgstr "" -#: c-decl.c:6120 +#: c-decl.c:5815 #, c-format msgid "first argument of `%s' should be `int'" msgstr "" -#: c-decl.c:6129 +#: c-decl.c:5824 #, c-format msgid "second argument of `%s' should be `char **'" msgstr "" -#: c-decl.c:6138 +#: c-decl.c:5833 #, c-format msgid "third argument of `%s' should probably be `char **'" msgstr "" -#: c-decl.c:6147 +#: c-decl.c:5842 #, c-format msgid "`%s' takes only zero or two arguments" msgstr "" -#: c-decl.c:6150 +#: c-decl.c:5845 #, c-format msgid "`%s' is normally a non-static function" msgstr "" -#: c-decl.c:6258 +#: c-decl.c:5943 msgid "parm types given both in parmlist and separately" msgstr "" -#: c-decl.c:6279 +#: c-decl.c:5964 msgid "parameter name omitted" msgstr "" -#: c-decl.c:6283 c-decl.c:6385 +#: c-decl.c:5968 c-decl.c:6070 #, c-format msgid "parameter `%s' declared void" msgstr "" -#: c-decl.c:6359 +#: c-decl.c:6044 msgid "parameter name missing from parameter list" msgstr "" -#: c-decl.c:6378 +#: c-decl.c:6063 #, c-format msgid "multiple parameters named `%s'" msgstr "" -#: c-decl.c:6400 c-decl.c:6402 +#: c-decl.c:6085 c-decl.c:6087 #, c-format msgid "type of `%s' defaults to `int'" msgstr "" -#: c-decl.c:6438 +#: c-decl.c:6123 #, c-format msgid "declaration for parameter `%s' but no such parameter" msgstr "" -#: c-decl.c:6486 +#: c-decl.c:6171 msgid "number of arguments doesn't match prototype" msgstr "" -#: c-decl.c:6516 +#: c-decl.c:6201 #, c-format msgid "promoted argument `%s' doesn't match prototype" msgstr "" -#: c-decl.c:6526 +#: c-decl.c:6211 #, c-format msgid "argument `%s' doesn't match prototype" msgstr "" -#: c-decl.c:6699 cp/decl.c:14311 +#: c-decl.c:6384 cp/decl.c:14547 msgid "no return statement in function returning non-void" msgstr "" -#: c-decl.c:6855 +#: c-decl.c:6536 msgid "this function may return with or without a value" msgstr "" -#: c-decl.c:6875 +#: c-decl.c:6556 #, c-format msgid "size of return value of `%s' is %u bytes" msgstr "" -#: c-decl.c:6879 +#: c-decl.c:6560 #, c-format msgid "size of return value of `%s' is larger than %d bytes" msgstr "" @@ -1457,889 +1524,946 @@ msgstr "" #. If we get here, declarations have been used in a for loop without #. the C99 for loop scope. This doesn't make much sense, so don't #. allow it. -#: c-decl.c:6934 +#: c-decl.c:6615 msgid "`for' loop initial declaration used outside C99 mode" msgstr "" -#: c-decl.c:6958 +#: c-decl.c:6639 #, c-format msgid "`struct %s' declared in `for' loop initial declaration" msgstr "" -#: c-decl.c:6961 +#: c-decl.c:6642 #, c-format msgid "`union %s' declared in `for' loop initial declaration" msgstr "" -#: c-decl.c:6964 +#: c-decl.c:6645 #, c-format msgid "`enum %s' declared in `for' loop initial declaration" msgstr "" -#: c-decl.c:6972 +#: c-decl.c:6653 #, c-format msgid "declaration of non-variable `%s' in `for' loop initial declaration" msgstr "" -#: c-decl.c:6974 +#: c-decl.c:6655 #, c-format msgid "declaration of static variable `%s' in `for' loop initial declaration" msgstr "" -#: c-decl.c:6976 +#: c-decl.c:6657 #, c-format msgid "declaration of `extern' variable `%s' in `for' loop initial declaration" msgstr "" -#: c-format.c:128 c-format.c:210 +#: c-format.c:109 c-format.c:191 msgid "format string arg not a string type" msgstr "" -#: c-format.c:143 +#: c-format.c:124 msgid "args to be formatted is not '...'" msgstr "" -#: c-format.c:152 +#: c-format.c:133 msgid "strftime formats cannot format arguments" msgstr "" -#: c-format.c:187 c-format.c:289 +#: c-format.c:168 c-format.c:270 msgid "format string has invalid operand number" msgstr "" -#: c-format.c:221 +#: c-format.c:202 msgid "function does not return string type" msgstr "" -#: c-format.c:252 +#: c-format.c:233 msgid "unrecognized format specifier" msgstr "" -#: c-format.c:265 +#: c-format.c:246 #, c-format msgid "`%s' is an unrecognized format function type" msgstr "" -#: c-format.c:299 +#: c-format.c:280 msgid "format string arg follows the args to be formatted" msgstr "" -#: c-format.c:620 +#: c-format.c:601 msgid "` ' flag" msgstr "" -#: c-format.c:620 +#: c-format.c:601 msgid "the ` ' printf flag" msgstr "" -#: c-format.c:621 c-format.c:692 +#: c-format.c:602 c-format.c:673 msgid "`+' flag" msgstr "" -#: c-format.c:621 +#: c-format.c:602 msgid "the `+' printf flag" msgstr "" -#: c-format.c:622 c-format.c:668 +#: c-format.c:603 c-format.c:649 msgid "`#' flag" msgstr "" -#: c-format.c:622 +#: c-format.c:603 msgid "the `#' printf flag" msgstr "" -#: c-format.c:623 c-format.c:666 +#: c-format.c:604 c-format.c:647 msgid "`0' flag" msgstr "" -#: c-format.c:623 +#: c-format.c:604 msgid "the `0' printf flag" msgstr "" -#: c-format.c:624 c-format.c:665 c-format.c:695 +#: c-format.c:605 c-format.c:646 c-format.c:676 msgid "`-' flag" msgstr "" -#: c-format.c:624 +#: c-format.c:605 msgid "the `-' printf flag" msgstr "" -#: c-format.c:625 c-format.c:649 +#: c-format.c:606 c-format.c:630 msgid "`'' flag" msgstr "" -#: c-format.c:625 +#: c-format.c:606 msgid "the `'' printf flag" msgstr "" -#: c-format.c:626 c-format.c:650 +#: c-format.c:607 c-format.c:631 msgid "`I' flag" msgstr "" -#: c-format.c:626 +#: c-format.c:607 msgid "the `I' printf flag" msgstr "" -#: c-format.c:627 c-format.c:647 c-format.c:669 c-format.c:696 c-format.c:1790 +#: c-format.c:608 c-format.c:628 c-format.c:650 c-format.c:677 c-format.c:1702 msgid "field width" msgstr "" -#: c-format.c:627 +#: c-format.c:608 msgid "field width in printf format" msgstr "" -#: c-format.c:628 +#: c-format.c:609 msgid "precision" msgstr "" -#: c-format.c:628 +#: c-format.c:609 msgid "precision in printf format" msgstr "" -#: c-format.c:629 c-format.c:648 c-format.c:699 +#: c-format.c:610 c-format.c:629 c-format.c:680 msgid "length modifier" msgstr "" -#: c-format.c:629 +#: c-format.c:610 msgid "length modifier in printf format" msgstr "" -#: c-format.c:645 +#: c-format.c:626 msgid "assignment suppression" msgstr "" -#: c-format.c:645 +#: c-format.c:626 msgid "the assignment suppression scanf feature" msgstr "" -#: c-format.c:646 +#: c-format.c:627 msgid "`a' flag" msgstr "" -#: c-format.c:646 +#: c-format.c:627 msgid "the `a' scanf flag" msgstr "" -#: c-format.c:647 +#: c-format.c:628 msgid "field width in scanf format" msgstr "" -#: c-format.c:648 +#: c-format.c:629 msgid "length modifier in scanf format" msgstr "" -#: c-format.c:649 +#: c-format.c:630 msgid "the `'' scanf flag" msgstr "" -#: c-format.c:650 +#: c-format.c:631 msgid "the `I' scanf flag" msgstr "" -#: c-format.c:664 +#: c-format.c:645 msgid "`_' flag" msgstr "" -#: c-format.c:664 +#: c-format.c:645 msgid "the `_' strftime flag" msgstr "" -#: c-format.c:665 +#: c-format.c:646 msgid "the `-' strftime flag" msgstr "" -#: c-format.c:666 +#: c-format.c:647 msgid "the `0' strftime flag" msgstr "" -#: c-format.c:667 c-format.c:691 +#: c-format.c:648 c-format.c:672 msgid "`^' flag" msgstr "" -#: c-format.c:667 +#: c-format.c:648 msgid "the `^' strftime flag" msgstr "" -#: c-format.c:668 +#: c-format.c:649 msgid "the `#' strftime flag" msgstr "" -#: c-format.c:669 +#: c-format.c:650 msgid "field width in strftime format" msgstr "" -#: c-format.c:670 +#: c-format.c:651 msgid "`E' modifier" msgstr "" -#: c-format.c:670 +#: c-format.c:651 msgid "the `E' strftime modifier" msgstr "" -#: c-format.c:671 +#: c-format.c:652 msgid "`O' modifier" msgstr "" -#: c-format.c:671 +#: c-format.c:652 msgid "the `O' strftime modifier" msgstr "" -#: c-format.c:672 +#: c-format.c:653 msgid "the `O' modifier" msgstr "" -#: c-format.c:690 +#: c-format.c:671 msgid "fill character" msgstr "" -#: c-format.c:690 +#: c-format.c:671 msgid "fill character in strfmon format" msgstr "" -#: c-format.c:691 +#: c-format.c:672 msgid "the `^' strfmon flag" msgstr "" -#: c-format.c:692 +#: c-format.c:673 msgid "the `+' strfmon flag" msgstr "" -#: c-format.c:693 +#: c-format.c:674 msgid "`(' flag" msgstr "" -#: c-format.c:693 +#: c-format.c:674 msgid "the `(' strfmon flag" msgstr "" -#: c-format.c:694 +#: c-format.c:675 msgid "`!' flag" msgstr "" -#: c-format.c:694 +#: c-format.c:675 msgid "the `!' strfmon flag" msgstr "" -#: c-format.c:695 +#: c-format.c:676 msgid "the `-' strfmon flag" msgstr "" -#: c-format.c:696 +#: c-format.c:677 msgid "field width in strfmon format" msgstr "" -#: c-format.c:697 +#: c-format.c:678 msgid "left precision" msgstr "" -#: c-format.c:697 +#: c-format.c:678 msgid "left precision in strfmon format" msgstr "" -#: c-format.c:698 +#: c-format.c:679 msgid "right precision" msgstr "" -#: c-format.c:698 +#: c-format.c:679 msgid "right precision in strfmon format" msgstr "" -#: c-format.c:699 +#: c-format.c:680 msgid "length modifier in strfmon format" msgstr "" -#: c-format.c:998 +#: c-format.c:983 #, c-format msgid "function might be possible candidate for `%s' format attribute" msgstr "" -#: c-format.c:1122 c-format.c:1143 c-format.c:2200 +#: c-format.c:1107 c-format.c:1128 c-format.c:2112 msgid "missing $ operand number in format" msgstr "" -#: c-format.c:1153 +#: c-format.c:1138 #, c-format msgid "%s does not support %%n$ operand number formats" msgstr "" -#: c-format.c:1160 +#: c-format.c:1145 msgid "operand number out of range in format" msgstr "" -#: c-format.c:1183 +#: c-format.c:1168 #, c-format msgid "format argument %d used more than once in %s format" msgstr "" -#: c-format.c:1233 +#: c-format.c:1218 #, c-format msgid "format argument %d unused before used argument %d in $-style format" msgstr "" -#: c-format.c:1330 +#: c-format.c:1322 msgid "format not a string literal, format string not checked" msgstr "" -#: c-format.c:1344 +#: c-format.c:1336 msgid "format not a string literal and no format arguments" msgstr "" -#: c-format.c:1346 +#: c-format.c:1338 msgid "format not a string literal, argument types not checked" msgstr "" -#: c-format.c:1359 +#: c-format.c:1351 msgid "too many arguments for format" msgstr "" -#: c-format.c:1362 +#: c-format.c:1354 msgid "unused arguments in $-style format" msgstr "" -#: c-format.c:1365 -msgid "zero-length format string" +#: c-format.c:1357 +#, c-format +msgid "zero-length %s format string" msgstr "" -#: c-format.c:1368 +#: c-format.c:1361 msgid "format is a wide character string" msgstr "" -#: c-format.c:1371 +#: c-format.c:1364 msgid "unterminated format string" msgstr "" -#. FIXME: this warning should go away once Marc Espie's -#. __attribute__((nonnull)) patch is in. Instead, checking for -#. nonnull attributes should probably change this function to act -#. specially if info == NULL and add a res->number_null entry for -#. that case, or maybe add a function pointer to be called at -#. the end instead of hardcoding check_format_info_main. -#: c-format.c:1478 -msgid "null format string" -msgstr "" - -#: c-format.c:1669 +#: c-format.c:1581 msgid "embedded `\\0' in format" msgstr "" -#: c-format.c:1684 +#: c-format.c:1596 #, c-format msgid "spurious trailing `%%' in format" msgstr "" -#: c-format.c:1723 c-format.c:1960 +#: c-format.c:1635 c-format.c:1872 #, c-format msgid "repeated %s in format" msgstr "" -#: c-format.c:1736 +#: c-format.c:1648 msgid "missing fill character at end of strfmon format" msgstr "" -#: c-format.c:1756 c-format.c:1874 c-format.c:2154 c-format.c:2207 +#: c-format.c:1687 c-format.c:1786 c-format.c:2066 c-format.c:2119 msgid "too few arguments for format" msgstr "" -#: c-format.c:1816 +#: c-format.c:1728 #, c-format msgid "zero width in %s format" msgstr "" -#: c-format.c:1835 +#: c-format.c:1747 #, c-format msgid "empty left precision in %s format" msgstr "" -#: c-format.c:1889 +#: c-format.c:1801 msgid "field precision" msgstr "" -#: c-format.c:1904 +#: c-format.c:1816 #, c-format msgid "empty precision in %s format" msgstr "" -#: c-format.c:1944 +#: c-format.c:1856 #, c-format msgid "%s does not support the `%s' %s length modifier" msgstr "" -#: c-format.c:1994 +#: c-format.c:1906 msgid "conversion lacks type at end of format" msgstr "" -#: c-format.c:2005 +#: c-format.c:1917 #, c-format msgid "unknown conversion type character `%c' in format" msgstr "" -#: c-format.c:2008 +#: c-format.c:1920 #, c-format msgid "unknown conversion type character 0x%x in format" msgstr "" -#: c-format.c:2015 +#: c-format.c:1927 #, c-format msgid "%s does not support the `%%%c' %s format" msgstr "" -#: c-format.c:2031 +#: c-format.c:1943 #, c-format msgid "%s used with `%%%c' %s format" msgstr "" -#: c-format.c:2040 +#: c-format.c:1952 #, c-format msgid "%s does not support %s" msgstr "" -#: c-format.c:2049 +#: c-format.c:1961 #, c-format msgid "%s does not support %s with the `%%%c' %s format" msgstr "" -#: c-format.c:2082 +#: c-format.c:1994 #, c-format msgid "%s ignored with %s and `%%%c' %s format" msgstr "" -#: c-format.c:2086 +#: c-format.c:1998 #, c-format msgid "%s ignored with %s in %s format" msgstr "" -#: c-format.c:2092 +#: c-format.c:2004 #, c-format msgid "use of %s and %s together with `%%%c' %s format" msgstr "" -#: c-format.c:2096 +#: c-format.c:2008 #, c-format msgid "use of %s and %s together in %s format" msgstr "" -#: c-format.c:2115 +#: c-format.c:2027 #, c-format msgid "`%%%c' yields only last 2 digits of year in some locales" msgstr "" -#: c-format.c:2118 +#: c-format.c:2030 #, c-format msgid "`%%%c' yields only last 2 digits of year" msgstr "" #. The end of the format string was reached. -#: c-format.c:2134 +#: c-format.c:2046 #, c-format msgid "no closing `]' for `%%[' format" msgstr "" -#: c-format.c:2147 +#: c-format.c:2059 #, c-format msgid "use of `%s' length modifier with `%c' type character" msgstr "" -#: c-format.c:2168 +#: c-format.c:2080 #, c-format msgid "%s does not support the `%%%s%c' %s format" msgstr "" -#: c-format.c:2183 +#: c-format.c:2095 msgid "operand number specified with suppressed assignment" msgstr "" -#: c-format.c:2185 +#: c-format.c:2097 msgid "operand number specified for format taking no argument" msgstr "" -#: c-format.c:2299 +#: c-format.c:2211 #, c-format msgid "writing through null pointer (arg %d)" msgstr "" -#: c-format.c:2308 +#: c-format.c:2220 #, c-format msgid "reading through null pointer (arg %d)" msgstr "" -#: c-format.c:2328 +#: c-format.c:2240 #, c-format msgid "writing into constant object (arg %d)" msgstr "" -#: c-format.c:2338 +#: c-format.c:2250 #, c-format msgid "extra type qualifiers in format argument (arg %d)" msgstr "" -#: c-format.c:2345 +#: c-format.c:2257 #, c-format msgid "format argument is not a pointer (arg %d)" msgstr "" -#: c-format.c:2347 +#: c-format.c:2259 #, c-format msgid "format argument is not a pointer to a pointer (arg %d)" msgstr "" -#: c-format.c:2418 +#: c-format.c:2330 msgid "pointer" msgstr "" -#: c-format.c:2420 +#: c-format.c:2332 msgid "different type" msgstr "" -#: c-format.c:2441 +#: c-format.c:2353 #, c-format msgid "%s is not type %s (arg %d)" msgstr "" -#: c-format.c:2444 +#: c-format.c:2356 #, c-format msgid "%s format, %s arg (arg %d)" msgstr "" -#: c-lex.c:298 -msgid "badly nested C headers from preprocessor" +#: c-lex.c:153 +msgid "YYDEBUG not defined" msgstr "" -#: c-lex.c:348 -#, c-format -msgid "ignoring #pragma %s %s" +#: c-lex.c:290 +msgid "badly nested C headers from preprocessor" msgstr "" -#: c-lex.c:350 +#: c-lex.c:333 #, c-format -msgid "ignoring #pragma %s" +msgid "ignoring #pragma %s %s" msgstr "" -#: c-lex.c:400 +#: c-lex.c:383 #, c-format msgid "universal-character-name '\\U%08x' not valid in identifier" msgstr "" -#: c-lex.c:646 +#: c-lex.c:629 #, c-format msgid "universal-character-name '\\u%04x' not valid in identifier" msgstr "" -#: c-lex.c:732 +#: c-lex.c:692 #, c-format msgid "stray '%c' in program" msgstr "" -#: c-lex.c:734 +#: c-lex.c:694 #, c-format msgid "stray '\\%o' in program" msgstr "" -#: c-lex.c:832 -msgid "too many decimal points in floating constant" +#: c-lex.c:850 +msgid "this decimal constant is unsigned only in ISO C90" msgstr "" -#: c-lex.c:834 -msgid "decimal point in exponent - impossible!" +#: c-lex.c:853 +msgid "this decimal constant would be unsigned in ISO C90" msgstr "" -#. Possible future extension: silently ignore _ in numbers, -#. permitting cosmetic grouping - e.g. 0x8000_0000 == 0x80000000 -#. but somewhat easier to read. Ada has this? -#: c-lex.c:845 -msgid "underscore in number" +#: c-lex.c:869 +#, c-format +msgid "integer constant is too large for \"%s\" type" msgstr "" -#: c-lex.c:907 -msgid "numeric constant with no digits" +#: c-lex.c:937 +#, c-format +msgid "floating constant exceeds range of \"%s\"" msgstr "" -#: c-lex.c:910 -msgid "numeric constant contains digits beyond the radix" +#: c-lex.c:973 cpplex.c:330 cpplex.c:668 cpplex.c:1942 +msgid "ignoring invalid multibyte character" msgstr "" -#: c-lex.c:921 -msgid "hexadecimal floating constant has no exponent" +#: c-opts.c:353 +#, c-format +msgid "missing argument to \"-%s\"" msgstr "" -#: c-lex.c:933 -msgid "floating constant exponent has no digits" +#: c-opts.c:357 +#, c-format +msgid "no class name specified with \"-%s\"" msgstr "" -#: c-lex.c:953 -msgid "more than one 'f' suffix on floating constant" +#: c-opts.c:364 +#, c-format +msgid "missing filename after \"-%s\"" msgstr "" -#: c-lex.c:956 -msgid "traditional C rejects the 'f' suffix" +#: c-opts.c:369 +#, c-format +msgid "missing target after \"-%s\"" msgstr "" -#: c-lex.c:963 -msgid "more than one 'l' suffix on floating constant" +#: c-opts.c:503 +#, c-format +msgid "options array incorrectly sorted: %s is before %s" msgstr "" -#: c-lex.c:966 -msgid "traditional C rejects the 'l' suffix" +#: c-opts.c:548 +#, c-format +msgid "too many filenames given. Type %s --help for usage" msgstr "" -#: c-lex.c:974 -msgid "more than one 'i' or 'j' suffix on floating constant" +#: c-opts.c:934 +msgid "-Wno-strict-prototypes is not supported in C++" msgstr "" -#: c-lex.c:976 c-lex.c:1081 -msgid "ISO C forbids imaginary numeric constants" +#: c-opts.c:1014 +#, c-format +msgid "switch \"%s\" is no longer supported" msgstr "" -#: c-lex.c:981 -msgid "invalid suffix on floating constant" +#: c-opts.c:1030 +#, c-format +msgid "switch \"%s\" is deprecated, please see documentation for details" msgstr "" -#: c-lex.c:990 -msgid "both 'f' and 'l' suffixes on floating constant" +#: c-opts.c:1143 +msgid "" +"-fhandle-exceptions has been renamed to -fexceptions (and is now on by " +"default)" msgstr "" -#: c-lex.c:1008 -msgid "hexadecimal floating constants are only valid in C99" +#: c-opts.c:1263 +msgid "output filename specified twice" msgstr "" -#: c-lex.c:1022 -msgid "floating point number exceeds range of 'double'" +#: c-opts.c:1377 +msgid "-Wformat-y2k ignored without -Wformat" msgstr "" -#: c-lex.c:1050 -msgid "two 'u' suffixes on integer constant" +#: c-opts.c:1379 +msgid "-Wformat-extra-args ignored without -Wformat" msgstr "" -#: c-lex.c:1053 -msgid "traditional C rejects the 'u' suffix" +#: c-opts.c:1381 +msgid "-Wformat-zero-length ignored without -Wformat" msgstr "" -#: c-lex.c:1064 -msgid "three 'l' suffixes on integer constant" +#: c-opts.c:1383 +msgid "-Wformat-nonliteral ignored without -Wformat" msgstr "" -#: c-lex.c:1066 -msgid "'lul' is not a valid integer suffix" +#: c-opts.c:1385 +msgid "-Wformat-security ignored without -Wformat" msgstr "" -#: c-lex.c:1068 -msgid "'Ll' and 'lL' are not valid integer suffixes" +#: c-opts.c:1387 +msgid "-Wmissing-format-attribute ignored without -Wformat" msgstr "" -#: c-lex.c:1071 -msgid "ISO C89 forbids long long integer constants" +#: c-opts.c:1409 +#, c-format +msgid "opening output file %s" msgstr "" -#: c-lex.c:1079 -msgid "more than one 'i' or 'j' suffix on integer constant" +#: c-opts.c:1464 +#, c-format +msgid "opening dependency file %s" msgstr "" -#: c-lex.c:1086 -msgid "invalid suffix on integer constant" +#: c-opts.c:1474 +#, c-format +msgid "closing dependency file %s" msgstr "" -#: c-lex.c:1094 +#: c-opts.c:1477 #, c-format -msgid "" -"integer constant is too large for this configuration of the compiler - " -"truncated to %d bits" +msgid "when writing output to %s" msgstr "" -#: c-lex.c:1178 -msgid "width of integer constant is different in traditional C" +#: c-opts.c:1557 +msgid "to generate dependencies you must specify either -M or -MM" msgstr "" -#: c-lex.c:1180 -msgid "integer constant is unsigned in ISO C, signed in traditional C" +#: c-opts.c:1704 +#, c-format +msgid "\"-%s\" is valid for %s but not for %s" msgstr "" -#: c-lex.c:1182 -msgid "width of integer constant may change on other systems in traditional C" +#. To keep the lines from getting too long for some compilers, limit +#. to about 500 characters (6 lines) per chunk. +#: c-opts.c:1714 +msgid "" +"Switches:\n" +" -include <file> Include the contents of <file> before other " +"files\n" +" -imacros <file> Accept definition of macros in <file>\n" +" -iprefix <path> Specify <path> as a prefix for next two options\n" +" -iwithprefix <dir> Add <dir> to the end of the system include path\n" +" -iwithprefixbefore <dir> Add <dir> to the end of the main include path\n" +" -isystem <dir> Add <dir> to the start of the system include " +"path\n" msgstr "" -#: c-lex.c:1192 -#, c-format -msgid "integer constant larger than the maximum value of %s" +#: c-opts.c:1723 +msgid "" +" -idirafter <dir> Add <dir> to the end of the system include path\n" +" -I <dir> Add <dir> to the end of the main include path\n" +" -I- Fine-grained include path control; see info " +"docs\n" +" -nostdinc Do not search system include directories\n" +" (dirs specified with -isystem will still be " +"used)\n" +" -nostdinc++ Do not search system include directories for C+" +"+\n" +" -o <file> Put output into <file>\n" msgstr "" -#: c-lex.c:1195 -msgid "an unsigned long long int" +#: c-opts.c:1732 +msgid "" +" -trigraphs Support ISO C trigraphs\n" +" -std=<std name> Specify the conformance standard; one of:\n" +" gnu89, gnu99, c89, c99, iso9899:1990,\n" +" iso9899:199409, iso9899:1999, c++98\n" +" -w Inhibit warning messages\n" +" -W[no-]trigraphs Warn if trigraphs are encountered\n" +" -W[no-]comment{s} Warn if one comment starts inside another\n" msgstr "" -#: c-lex.c:1196 -msgid "a long long int" +#: c-opts.c:1741 +msgid "" +" -W[no-]traditional Warn about features not present in traditional " +"C\n" +" -W[no-]undef Warn if an undefined macro is used by #if\n" +" -W[no-]import Warn about the use of the #import directive\n" msgstr "" -#: c-lex.c:1197 -msgid "an unsigned long int" +#: c-opts.c:1746 +msgid "" +" -W[no-]error Treat all warnings as errors\n" +" -W[no-]system-headers Do not suppress warnings from system headers\n" +" -W[no-]all Enable most preprocessor warnings\n" msgstr "" -#: c-lex.c:1201 -msgid "decimal constant is so large that it is unsigned" +#: c-opts.c:1751 +msgid "" +" -M Generate make dependencies\n" +" -MM As -M, but ignore system header files\n" +" -MD Generate make dependencies and compile\n" +" -MMD As -MD, but ignore system header files\n" +" -MF <file> Write dependency output to the given file\n" +" -MG Treat missing header file as generated files\n" msgstr "" -#: c-lex.c:1210 -msgid "complex integer constant is too wide for 'complex int'" +#: c-opts.c:1759 +msgid "" +" -MP\t\t\t Generate phony targets for all headers\n" +" -MQ <target> Add a MAKE-quoted target\n" +" -MT <target> Add an unquoted target\n" msgstr "" -#: c-lex.c:1221 -msgid "integer constant is larger than the maximum value for its type" +#: c-opts.c:1764 +msgid "" +" -D<macro> Define a <macro> with string '1' as its value\n" +" -D<macro>=<val> Define a <macro> with <val> as its value\n" +" -A<question>=<answer> Assert the <answer> to <question>\n" +" -A-<question>=<answer> Disable the <answer> to <question>\n" +" -U<macro> Undefine <macro> \n" +" -v Display the version number\n" msgstr "" -#: c-lex.c:1225 -#, c-format -msgid "missing white space after number '%.*s'" +#: c-opts.c:1772 +msgid "" +" -H Print the name of header files as they are used\n" +" -C Do not discard comments\n" +" -dM Display a list of macro definitions active at " +"end\n" +" -dD Preserve macro definitions in output\n" +" -dN As -dD except that only the names are preserved\n" +" -dI Include #include directives in the output\n" msgstr "" -#: c-lex.c:1261 cpplex.c:1850 -msgid "ignoring invalid multibyte character" +#: c-opts.c:1780 +msgid "" +" -f[no-]preprocessed Treat the input file as already preprocessed\n" +" -ftabstop=<number> Distance between tab stops for column reporting\n" +" -P Do not generate #line directives\n" +" -remap Remap file names when including files\n" +" --help Display this information\n" msgstr "" #. Like YYERROR but do call yyerror. -#: c-parse.y:56 parse.y:51 objc-parse.y:57 +#: c-parse.y:55 parse.y:48 objc-parse.y:56 msgid "syntax error" msgstr "" -#: /usr/share/bison/bison.simple:176 /usr/share/bison.simple:112 +#: /usr/share/bison/bison.simple:179 msgid "syntax error: cannot back up" msgstr "" -#: c-parse.y:286 objc-parse.y:308 +#: c-parse.y:325 objc-parse.y:347 msgid "ISO C forbids an empty source file" msgstr "" -#: c-parse.y:322 c-typeck.c:6861 objc-parse.y:345 +#: c-parse.y:366 c-typeck.c:6867 objc-parse.y:389 msgid "argument of `asm' is not a constant string" msgstr "" -#: c-parse.y:330 objc-parse.y:353 +#: c-parse.y:374 objc-parse.y:397 msgid "ISO C forbids data definition with no type or storage class" msgstr "" -#: c-parse.y:332 objc-parse.y:355 +#: c-parse.y:376 objc-parse.y:399 msgid "data definition has no type or storage class" msgstr "" -#: c-parse.y:345 objc-parse.y:368 +#: c-parse.y:389 objc-parse.y:412 msgid "ISO C does not allow extra `;' outside of a function" msgstr "" -#: c-parse.y:405 cppexp.c:697 +#: c-parse.y:449 cppexp.c:1312 msgid "traditional C rejects the unary plus operator" msgstr "" -#: c-parse.y:467 objc-parse.y:490 +#: c-parse.y:496 objc-parse.y:519 msgid "`sizeof' applied to a bit-field" msgstr "" -#: c-parse.y:550 objc-parse.y:573 +#: c-parse.y:583 objc-parse.y:606 msgid "ISO C forbids omitting the middle term of a ?: expression" msgstr "" -#: c-parse.y:599 objc-parse.y:622 +#: c-parse.y:632 objc-parse.y:655 msgid "ISO C89 forbids compound literals" msgstr "" -#: c-parse.y:613 objc-parse.y:636 +#: c-parse.y:646 objc-parse.y:669 msgid "ISO C forbids braced-groups within expressions" msgstr "" -#: c-parse.y:644 objc-parse.y:667 +#: c-parse.y:677 objc-parse.y:700 msgid "first argument to __builtin_choose_expr not a constant" msgstr "" -#: c-parse.y:687 -msgid "traditional C rejects string concatenation" -msgstr "" - -#: c-parse.y:702 objc-parse.y:739 -msgid "ISO C does not permit use of `varargs.h'" +#: c-parse.y:721 objc-parse.y:768 +msgid "traditional C rejects ISO C style function definitions" msgstr "" -#: c-parse.y:963 c-parse.y:969 c-parse.y:975 c-parse.y:981 c-parse.y:1002 -#: c-parse.y:1008 c-parse.y:1014 c-parse.y:1020 c-parse.y:1053 c-parse.y:1059 -#: c-parse.y:1065 c-parse.y:1071 c-parse.y:1116 c-parse.y:1122 c-parse.y:1128 -#: c-parse.y:1134 parse.y:1904 parse.y:1911 parse.y:1946 objc-parse.y:1000 -#: objc-parse.y:1006 objc-parse.y:1012 objc-parse.y:1018 objc-parse.y:1039 -#: objc-parse.y:1045 objc-parse.y:1051 objc-parse.y:1057 objc-parse.y:1090 -#: objc-parse.y:1096 objc-parse.y:1102 objc-parse.y:1108 objc-parse.y:1153 -#: objc-parse.y:1159 objc-parse.y:1165 objc-parse.y:1171 +#: c-parse.y:985 c-parse.y:991 c-parse.y:997 c-parse.y:1003 c-parse.y:1024 +#: c-parse.y:1030 c-parse.y:1036 c-parse.y:1042 c-parse.y:1075 c-parse.y:1081 +#: c-parse.y:1087 c-parse.y:1093 c-parse.y:1138 c-parse.y:1144 c-parse.y:1150 +#: c-parse.y:1156 parse.y:1915 parse.y:1922 parse.y:1957 objc-parse.y:1032 +#: objc-parse.y:1038 objc-parse.y:1044 objc-parse.y:1050 objc-parse.y:1071 +#: objc-parse.y:1077 objc-parse.y:1083 objc-parse.y:1089 objc-parse.y:1122 +#: objc-parse.y:1128 objc-parse.y:1134 objc-parse.y:1140 objc-parse.y:1185 +#: objc-parse.y:1191 objc-parse.y:1197 objc-parse.y:1203 #, c-format msgid "`%s' is not at beginning of declaration" msgstr "" -#: c-parse.y:1421 objc-parse.y:1467 +#: c-parse.y:1441 objc-parse.y:1497 msgid "ISO C forbids empty initializer braces" msgstr "" -#: c-parse.y:1435 objc-parse.y:1481 +#: c-parse.y:1455 objc-parse.y:1511 msgid "ISO C89 forbids specifying subobject to initialize" msgstr "" -#: c-parse.y:1438 objc-parse.y:1484 +#: c-parse.y:1458 objc-parse.y:1514 msgid "obsolete use of designated initializer without `='" msgstr "" -#: c-parse.y:1442 objc-parse.y:1488 +#: c-parse.y:1462 objc-parse.y:1518 msgid "obsolete use of designated initializer with `:'" msgstr "" -#: c-parse.y:1471 +#: c-parse.y:1489 objc-parse.y:1545 msgid "ISO C forbids specifying range of elements to initialize" msgstr "" -#: c-parse.y:1479 c-parse.y:1509 objc-parse.y:1519 objc-parse.y:1549 +#: c-parse.y:1497 c-parse.y:1528 objc-parse.y:1553 objc-parse.y:1584 msgid "ISO C forbids nested functions" msgstr "" -#: c-parse.y:1683 objc-parse.y:1725 +#: c-parse.y:1703 objc-parse.y:1761 msgid "ISO C forbids forward references to `enum' types" msgstr "" -#: c-parse.y:1695 parse.y:2361 objc-parse.y:1737 +#: c-parse.y:1715 parse.y:2385 objc-parse.y:1773 msgid "comma at end of enumerator list" msgstr "" -#: c-parse.y:1703 objc-parse.y:1745 +#: c-parse.y:1723 objc-parse.y:1781 msgid "no semicolon at end of struct or union" msgstr "" -#: c-parse.y:1712 objc-parse.y:1754 objc-parse.y:2824 +#: c-parse.y:1732 objc-parse.y:1790 objc-parse.y:2865 msgid "extra semicolon in struct or union specified" msgstr "" -#: c-parse.y:1725 objc-parse.y:1781 +#: c-parse.y:1745 objc-parse.y:1817 msgid "ISO C doesn't support unnamed structs/unions" msgstr "" -#: c-parse.y:1734 objc-parse.y:1790 +#: c-parse.y:1754 objc-parse.y:1826 msgid "ISO C forbids member declarations with no members" msgstr "" -#: c-parse.y:1893 objc-parse.y:1949 +#: c-parse.y:1913 objc-parse.y:1985 msgid "deprecated use of label at end of compound statement" msgstr "" -#: c-parse.y:1910 objc-parse.y:1966 +#: c-parse.y:1930 objc-parse.y:2002 msgid "ISO C89 forbids mixed declarations and code" msgstr "" -#: c-parse.y:1985 objc-parse.y:2045 +#: c-parse.y:2005 objc-parse.y:2081 msgid "ISO C forbids label declarations" msgstr "" -#: c-parse.y:2035 parse.y:1604 objc-parse.y:2095 +#: c-parse.y:2055 parse.y:1627 objc-parse.y:2131 msgid "braced-group within expression allowed only inside a function" msgstr "" -#: c-parse.y:2162 objc-parse.y:2222 +#: c-parse.y:2182 objc-parse.y:2258 msgid "empty body in an else-statement" msgstr "" -#: c-parse.y:2283 objc-parse.y:2343 +#: c-parse.y:2303 objc-parse.y:2379 msgid "ISO C forbids `goto *expr;'" msgstr "" -#: c-parse.y:2383 objc-parse.y:2443 +#: c-parse.y:2403 objc-parse.y:2479 msgid "ISO C forbids forward parameter declarations" msgstr "" @@ -2349,175 +2473,181 @@ msgstr "" #. it caused problems with the code in expand_builtin which #. tries to verify that BUILT_IN_NEXT_ARG is being used #. correctly. -#: c-parse.y:2409 objc-parse.y:2469 +#: c-parse.y:2429 objc-parse.y:2505 msgid "ISO C requires a named argument before `...'" msgstr "" -#: c-parse.y:2504 objc-parse.y:2564 +#: c-parse.y:2526 objc-parse.y:2602 msgid "`...' in old-style identifier list" msgstr "" -#: /usr/share/bison/bison.simple:821 +#: /usr/share/bison/bison.simple:795 msgid "parse error; also virtual memory exhausted" msgstr "" -#: /usr/share/bison/bison.simple:825 /usr/share/bison.simple:654 cp/spew.c:343 +#: /usr/share/bison/bison.simple:799 cp/spew.c:364 msgid "parse error" msgstr "" -#: /usr/share/bison/bison.simple:950 /usr/share/bison.simple:367 +#: /usr/share/bison/bison.simple:924 msgid "parser stack overflow" msgstr "" -#: c-parse.y:2826 cp/spew.c:1477 objc-parse.y:3514 +#: c-parse.y:2838 cp/spew.c:1521 objc-parse.y:3538 #, c-format msgid "%s at end of input" msgstr "" -#: c-parse.y:2832 cp/spew.c:1483 objc-parse.y:3520 +#: c-parse.y:2844 cp/spew.c:1527 objc-parse.y:3544 #, c-format msgid "%s before %s'%c'" msgstr "" -#: c-parse.y:2834 cp/spew.c:1485 objc-parse.y:3522 +#: c-parse.y:2846 cp/spew.c:1529 objc-parse.y:3546 #, c-format msgid "%s before %s'\\x%x'" msgstr "" -#: c-parse.y:2838 cp/spew.c:1489 objc-parse.y:3526 +#: c-parse.y:2850 cp/spew.c:1533 objc-parse.y:3550 #, c-format msgid "%s before string constant" msgstr "" -#: c-parse.y:2840 cp/spew.c:1491 objc-parse.y:3528 +#: c-parse.y:2852 cp/spew.c:1535 objc-parse.y:3552 #, c-format msgid "%s before numeric constant" msgstr "" -#: c-parse.y:2842 objc-parse.y:3530 +#: c-parse.y:2854 objc-parse.y:3554 #, c-format msgid "%s before \"%s\"" msgstr "" -#: c-parse.y:2844 objc-parse.y:3532 +#: c-parse.y:2856 objc-parse.y:3556 #, c-format msgid "%s before '%s' token" msgstr "" -#: c-parse.y:2980 objc-parse.y:3711 -#, c-format -msgid "syntax error at '%s' token" +#: c-parse.y:2921 +msgid "traditional C rejects string concatenation" msgstr "" -#: c-parse.y:3010 cp/lex.c:861 objc-parse.y:3741 -msgid "YYDEBUG not defined" +#: c-parse.y:3047 objc-parse.y:3780 +#, c-format +msgid "syntax error at '%s' token" msgstr "" -#: c-pragma.c:109 +#: c-pragma.c:107 msgid "" "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)" msgstr "" -#: c-pragma.c:127 +#: c-pragma.c:125 #, c-format msgid "" "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, " "<n>)" msgstr "" -#: c-pragma.c:162 +#: c-pragma.c:145 msgid "#pragma pack(push[, id], <n>) is not supported on this target" msgstr "" -#: c-pragma.c:164 +#: c-pragma.c:147 msgid "#pragma pack(pop[, id], <n>) is not supported on this target" msgstr "" -#: c-pragma.c:184 +#: c-pragma.c:167 msgid "missing '(' after '#pragma pack' - ignored" msgstr "" -#: c-pragma.c:197 c-pragma.c:247 +#: c-pragma.c:180 c-pragma.c:230 msgid "malformed '#pragma pack' - ignored" msgstr "" -#: c-pragma.c:202 +#: c-pragma.c:185 msgid "malformed '#pragma pack(push[, id], <n>)' - ignored" msgstr "" -#: c-pragma.c:204 +#: c-pragma.c:187 msgid "malformed '#pragma pack(pop[, id])' - ignored" msgstr "" -#: c-pragma.c:213 +#: c-pragma.c:196 #, c-format msgid "unknown action '%s' for '#pragma pack' - ignored" msgstr "" -#: c-pragma.c:250 +#: c-pragma.c:233 msgid "junk at end of '#pragma pack'" msgstr "" -#: c-pragma.c:264 +#: c-pragma.c:247 #, c-format msgid "alignment must be a small power of two, not %d" msgstr "" -#: c-pragma.c:329 c-pragma.c:334 +#: c-pragma.c:280 +#, c-format +msgid "" +"applying #pragma weak `%s' after first use results in unspecified behavior" +msgstr "" + +#: c-pragma.c:321 c-pragma.c:326 msgid "malformed #pragma weak, ignored" msgstr "" -#: c-pragma.c:338 +#: c-pragma.c:330 msgid "junk at end of #pragma weak" msgstr "" -#: c-pragma.c:369 c-pragma.c:374 +#: c-pragma.c:365 c-pragma.c:370 msgid "malformed #pragma redefine_extname, ignored" msgstr "" -#: c-pragma.c:379 +#: c-pragma.c:375 msgid "junk at end of #pragma redefine_extname" msgstr "" -#: c-pragma.c:386 c-pragma.c:461 +#: c-pragma.c:382 c-pragma.c:463 msgid "#pragma redefine_extname conflicts with declaration" msgstr "" -#: c-pragma.c:410 +#: c-pragma.c:413 msgid "malformed #pragma extern_prefix, ignored" msgstr "" -#: c-pragma.c:415 +#: c-pragma.c:418 msgid "junk at end of #pragma extern_prefix" msgstr "" -#: c-pragma.c:447 +#: c-pragma.c:450 msgid "asm declaration conficts with previous rename" msgstr "" -#: c-semantics.c:563 +#: c-semantics.c:565 msgid "break statement not within loop or switch" msgstr "" -#: c-semantics.c:581 +#: c-semantics.c:583 msgid "continue statement not within a loop" msgstr "" -#: c-semantics.c:676 +#: c-semantics.c:678 msgid "destructor needed for `%#D'" msgstr "" -#: c-semantics.c:677 +#: c-semantics.c:679 msgid "where case label appears here" msgstr "" -#: c-semantics.c:680 +#: c-semantics.c:682 msgid "" "(enclose actions of previous case statements requiring destructors in their " "own scope.)" msgstr "" -#: c-semantics.c:723 c-typeck.c:6889 cp/semantics.c:872 +#: c-semantics.c:725 c-typeck.c:6893 cp/semantics.c:897 #, c-format msgid "%s qualifier ignored on asm" msgstr "" @@ -2527,7 +2657,7 @@ msgstr "" msgid "`%s' has an incomplete type" msgstr "" -#: c-typeck.c:145 cp/call.c:2592 +#: c-typeck.c:145 cp/call.c:2740 msgid "invalid use of void expression" msgstr "" @@ -2535,7 +2665,7 @@ msgstr "" msgid "invalid use of flexible array member" msgstr "" -#: c-typeck.c:159 cp/typeck2.c:227 +#: c-typeck.c:159 msgid "invalid use of array with unspecified bounds" msgstr "" @@ -2554,1280 +2684,1327 @@ msgstr "" msgid "function types not truly compatible in ISO C" msgstr "" -#: c-typeck.c:598 +#: c-typeck.c:603 msgid "types are not quite compatible" msgstr "" -#: c-typeck.c:751 -msgid "sizeof applied to a function type" -msgstr "" - -#: c-typeck.c:757 -msgid "sizeof applied to a void type" -msgstr "" - -#: c-typeck.c:764 -msgid "sizeof applied to an incomplete type" -msgstr "" - -#: c-typeck.c:817 c-typeck.c:2706 +#: c-typeck.c:757 c-typeck.c:2673 msgid "arithmetic on pointer to an incomplete type" msgstr "" -#: c-typeck.c:1196 +#: c-typeck.c:1136 #, c-format msgid "%s has no member named `%s'" msgstr "" -#: c-typeck.c:1229 +#: c-typeck.c:1169 #, c-format msgid "request for member `%s' in something not a structure or union" msgstr "" -#: c-typeck.c:1261 +#: c-typeck.c:1201 msgid "dereferencing pointer to incomplete type" msgstr "" -#: c-typeck.c:1265 +#: c-typeck.c:1205 msgid "dereferencing `void *' pointer" msgstr "" -#: c-typeck.c:1282 cp/typeck.c:2357 +#: c-typeck.c:1222 cp/typeck.c:2357 #, c-format msgid "invalid type argument of `%s'" msgstr "" -#: c-typeck.c:1301 cp/typeck.c:2383 +#: c-typeck.c:1241 cp/typeck.c:2383 msgid "subscript missing in array reference" msgstr "" -#: c-typeck.c:1322 cp/typeck.c:2425 +#: c-typeck.c:1262 cp/typeck.c:2425 msgid "array subscript has type `char'" msgstr "" -#: c-typeck.c:1330 c-typeck.c:1419 cp/typeck.c:2432 cp/typeck.c:2511 +#: c-typeck.c:1270 c-typeck.c:1359 cp/typeck.c:2432 cp/typeck.c:2511 msgid "array subscript is not an integer" msgstr "" -#: c-typeck.c:1363 +#: c-typeck.c:1303 msgid "ISO C forbids subscripting `register' array" msgstr "" -#: c-typeck.c:1365 -msgid "ISO C89 forbids subscripting non-lvalue array" +#: c-typeck.c:1305 +msgid "ISO C90 forbids subscripting non-lvalue array" msgstr "" -#: c-typeck.c:1398 +#: c-typeck.c:1338 msgid "subscript has type `char'" msgstr "" -#: c-typeck.c:1414 cp/typeck.c:2506 +#: c-typeck.c:1354 cp/typeck.c:2506 msgid "subscripted value is neither array nor pointer" msgstr "" -#: c-typeck.c:1468 +#: c-typeck.c:1408 #, c-format msgid "`%s' undeclared here (not in a function)" msgstr "" -#: c-typeck.c:1475 +#: c-typeck.c:1415 #, c-format msgid "`%s' undeclared (first use in this function)" msgstr "" -#: c-typeck.c:1480 +#: c-typeck.c:1420 msgid "(Each undeclared identifier is reported only once" msgstr "" -#: c-typeck.c:1481 +#: c-typeck.c:1421 msgid "for each function it appears in.)" msgstr "" -#: c-typeck.c:1498 +#: c-typeck.c:1438 #, c-format msgid "local declaration of `%s' hides instance variable" msgstr "" -#: c-typeck.c:1563 +#: c-typeck.c:1504 msgid "called object is not a function" msgstr "" -#: c-typeck.c:1650 cp/typeck.c:3145 +#: c-typeck.c:1590 cp/typeck.c:2831 msgid "too many arguments to function" msgstr "" -#: c-typeck.c:1671 +#: c-typeck.c:1611 #, c-format msgid "type of formal parameter %d is incomplete" msgstr "" -#: c-typeck.c:1684 +#: c-typeck.c:1624 #, c-format msgid "%s as integer rather than floating due to prototype" msgstr "" -#: c-typeck.c:1687 +#: c-typeck.c:1627 #, c-format msgid "%s as integer rather than complex due to prototype" msgstr "" -#: c-typeck.c:1690 +#: c-typeck.c:1630 #, c-format msgid "%s as complex rather than floating due to prototype" msgstr "" -#: c-typeck.c:1693 +#: c-typeck.c:1633 #, c-format msgid "%s as floating rather than integer due to prototype" msgstr "" -#: c-typeck.c:1696 +#: c-typeck.c:1636 #, c-format msgid "%s as complex rather than integer due to prototype" msgstr "" -#: c-typeck.c:1699 +#: c-typeck.c:1639 #, c-format msgid "%s as floating rather than complex due to prototype" msgstr "" -#: c-typeck.c:1709 +#: c-typeck.c:1649 #, c-format msgid "%s as `float' rather than `double' due to prototype" msgstr "" -#: c-typeck.c:1727 +#: c-typeck.c:1667 #, c-format msgid "%s with different width due to prototype" msgstr "" -#: c-typeck.c:1761 +#: c-typeck.c:1701 #, c-format msgid "%s as unsigned due to prototype" msgstr "" -#: c-typeck.c:1763 +#: c-typeck.c:1703 #, c-format msgid "%s as signed due to prototype" msgstr "" -#: c-typeck.c:1797 cp/typeck.c:3253 +#: c-typeck.c:1737 cp/typeck.c:2935 msgid "too few arguments to function" msgstr "" -#: c-typeck.c:1839 +#: c-typeck.c:1779 msgid "suggest parentheses around + or - inside shift" msgstr "" -#: c-typeck.c:1846 +#: c-typeck.c:1786 msgid "suggest parentheses around && within ||" msgstr "" -#: c-typeck.c:1855 +#: c-typeck.c:1795 msgid "suggest parentheses around arithmetic in operand of |" msgstr "" -#: c-typeck.c:1858 +#: c-typeck.c:1798 msgid "suggest parentheses around comparison in operand of |" msgstr "" -#: c-typeck.c:1867 +#: c-typeck.c:1807 msgid "suggest parentheses around arithmetic in operand of ^" msgstr "" -#: c-typeck.c:1870 +#: c-typeck.c:1810 msgid "suggest parentheses around comparison in operand of ^" msgstr "" -#: c-typeck.c:1877 +#: c-typeck.c:1817 msgid "suggest parentheses around + or - in operand of &" msgstr "" -#: c-typeck.c:1880 +#: c-typeck.c:1820 msgid "suggest parentheses around comparison in operand of &" msgstr "" -#: c-typeck.c:1887 +#: c-typeck.c:1827 msgid "comparisons like X<=Y<=Z do not have their mathematical meaning" msgstr "" -#: c-typeck.c:2047 c-typeck.c:2080 +#: c-typeck.c:1987 c-typeck.c:2022 msgid "division by zero" msgstr "" -#: c-typeck.c:2125 cp/typeck.c:3514 +#: c-typeck.c:2067 cp/typeck.c:3196 msgid "right shift count is negative" msgstr "" -#: c-typeck.c:2132 cp/typeck.c:3520 +#: c-typeck.c:2074 cp/typeck.c:3202 msgid "right shift count >= width of type" msgstr "" -#: c-typeck.c:2153 cp/typeck.c:3539 +#: c-typeck.c:2095 cp/typeck.c:3221 msgid "left shift count is negative" msgstr "" -#: c-typeck.c:2156 cp/typeck.c:3541 +#: c-typeck.c:2098 cp/typeck.c:3223 msgid "left shift count >= width of type" msgstr "" -#: c-typeck.c:2177 +#: c-typeck.c:2119 msgid "shift count is negative" msgstr "" -#: c-typeck.c:2179 +#: c-typeck.c:2121 msgid "shift count >= width of type" msgstr "" -#: c-typeck.c:2196 cp/typeck.c:3576 +#: c-typeck.c:2138 cp/typeck.c:3258 msgid "comparing floating point with == or != is unsafe" msgstr "" -#: c-typeck.c:2220 c-typeck.c:2226 +#: c-typeck.c:2164 c-typeck.c:2170 msgid "ISO C forbids comparison of `void *' with function pointer" msgstr "" -#: c-typeck.c:2229 c-typeck.c:2269 c-typeck.c:2297 +#: c-typeck.c:2173 c-typeck.c:2213 c-typeck.c:2241 msgid "comparison of distinct pointer types lacks a cast" msgstr "" -#: c-typeck.c:2243 c-typeck.c:2248 c-typeck.c:2317 c-typeck.c:2322 +#: c-typeck.c:2187 c-typeck.c:2192 c-typeck.c:2261 c-typeck.c:2266 msgid "comparison between pointer and integer" msgstr "" -#: c-typeck.c:2264 c-typeck.c:2292 +#: c-typeck.c:2208 c-typeck.c:2236 msgid "ISO C forbids ordered comparisons of pointers to functions" msgstr "" -#: c-typeck.c:2289 +#: c-typeck.c:2233 msgid "comparison of complete and incomplete pointers" msgstr "" -#: c-typeck.c:2305 c-typeck.c:2312 +#: c-typeck.c:2249 c-typeck.c:2256 msgid "ordered comparison of pointer with integer zero" msgstr "" -#: c-typeck.c:2336 cp/typeck.c:3709 +#: c-typeck.c:2280 cp/typeck.c:3391 msgid "unordered comparison on non-floating point argument" msgstr "" -#: c-typeck.c:2545 +#: c-typeck.c:2491 msgid "comparison between signed and unsigned" msgstr "" -#: c-typeck.c:2591 cp/typeck.c:3953 +#: c-typeck.c:2537 cp/typeck.c:3635 msgid "comparison of promoted ~unsigned with constant" msgstr "" -#: c-typeck.c:2599 cp/typeck.c:3961 +#: c-typeck.c:2545 cp/typeck.c:3643 msgid "comparison of promoted ~unsigned with unsigned" msgstr "" -#: c-typeck.c:2658 +#: c-typeck.c:2625 msgid "pointer of type `void *' used in subtraction" msgstr "" -#: c-typeck.c:2660 +#: c-typeck.c:2627 msgid "pointer to a function used in subtraction" msgstr "" -#: c-typeck.c:2757 +#: c-typeck.c:2724 msgid "wrong type argument to unary plus" msgstr "" -#: c-typeck.c:2768 +#: c-typeck.c:2737 msgid "wrong type argument to unary minus" msgstr "" -#: c-typeck.c:2780 +#: c-typeck.c:2754 msgid "ISO C does not support `~' for complex conjugation" msgstr "" -#: c-typeck.c:2786 +#: c-typeck.c:2760 msgid "wrong type argument to bit-complement" msgstr "" -#: c-typeck.c:2797 +#: c-typeck.c:2769 msgid "wrong type argument to abs" msgstr "" -#: c-typeck.c:2809 +#: c-typeck.c:2781 msgid "wrong type argument to conjugation" msgstr "" -#: c-typeck.c:2823 +#: c-typeck.c:2795 msgid "wrong type argument to unary exclamation mark" msgstr "" -#: c-typeck.c:2866 +#: c-typeck.c:2838 msgid "ISO C does not support `++' and `--' on complex types" msgstr "" -#: c-typeck.c:2881 c-typeck.c:2913 +#: c-typeck.c:2853 c-typeck.c:2885 msgid "wrong type argument to increment" msgstr "" -#: c-typeck.c:2883 c-typeck.c:2915 +#: c-typeck.c:2855 c-typeck.c:2887 msgid "wrong type argument to decrement" msgstr "" -#: c-typeck.c:2904 +#: c-typeck.c:2876 msgid "increment of pointer to unknown structure" msgstr "" -#: c-typeck.c:2906 +#: c-typeck.c:2878 msgid "decrement of pointer to unknown structure" msgstr "" -#: c-typeck.c:3043 +#: c-typeck.c:3015 msgid "ISO C forbids the address of a cast expression" msgstr "" -#: c-typeck.c:3053 +#: c-typeck.c:3025 msgid "invalid lvalue in unary `&'" msgstr "" -#: c-typeck.c:3085 +#: c-typeck.c:3057 #, c-format msgid "attempt to take address of bit-field structure member `%s'" msgstr "" -#: c-typeck.c:3194 c-typeck.c:4624 c-typeck.c:4640 c-typeck.c:4656 -#: final.c:2975 final.c:2977 gcc.c:4466 rtl-error.c:121 tradcif.y:532 -#: tradcpp.c:4138 config/cris/cris.c:515 cp/typeck.c:4661 java/expr.c:386 -#: java/verify.c:1464 java/verify.c:1465 java/verify.c:1480 +#: c-typeck.c:3166 c-typeck.c:4632 c-typeck.c:4648 c-typeck.c:4664 +#: final.c:3146 final.c:3148 gcc.c:4397 rtl-error.c:122 toplev.c:1694 +#: config/cris/cris.c:529 cp/typeck.c:4341 java/expr.c:364 java/verify.c:1467 +#: java/verify.c:1468 java/verify.c:1483 #, c-format msgid "%s" msgstr "" -#: c-typeck.c:3255 +#: c-typeck.c:3227 msgid "ISO C forbids use of conditional expressions as lvalues" msgstr "" -#: c-typeck.c:3258 +#: c-typeck.c:3230 msgid "ISO C forbids use of compound expressions as lvalues" msgstr "" -#: c-typeck.c:3261 +#: c-typeck.c:3233 msgid "ISO C forbids use of cast expressions as lvalues" msgstr "" -#: c-typeck.c:3278 +#: c-typeck.c:3250 #, c-format msgid "%s of read-only member `%s'" msgstr "" -#: c-typeck.c:3282 +#: c-typeck.c:3254 #, c-format msgid "%s of read-only variable `%s'" msgstr "" -#: c-typeck.c:3285 +#: c-typeck.c:3257 #, c-format msgid "%s of read-only location" msgstr "" -#: c-typeck.c:3304 +#: c-typeck.c:3276 #, c-format msgid "cannot take address of bit-field `%s'" msgstr "" -#: c-typeck.c:3332 +#: c-typeck.c:3304 #, c-format msgid "global register variable `%s' used in nested function" msgstr "" -#: c-typeck.c:3336 +#: c-typeck.c:3308 #, c-format msgid "register variable `%s' used in nested function" msgstr "" -#: c-typeck.c:3343 +#: c-typeck.c:3315 #, c-format msgid "address of global register variable `%s' requested" msgstr "" -#: c-typeck.c:3355 +#: c-typeck.c:3327 msgid "cannot put object with volatile field into register" msgstr "" -#: c-typeck.c:3359 +#: c-typeck.c:3331 #, c-format msgid "address of register variable `%s' requested" msgstr "" -#: c-typeck.c:3467 +#: c-typeck.c:3439 msgid "signed and unsigned type in conditional expression" msgstr "" -#: c-typeck.c:3474 +#: c-typeck.c:3446 msgid "ISO C forbids conditional expr with only one void side" msgstr "" -#: c-typeck.c:3490 c-typeck.c:3497 +#: c-typeck.c:3462 c-typeck.c:3469 msgid "ISO C forbids conditional expr between `void *' and function pointer" msgstr "" -#: c-typeck.c:3503 +#: c-typeck.c:3475 msgid "pointer type mismatch in conditional expression" msgstr "" -#: c-typeck.c:3510 c-typeck.c:3520 +#: c-typeck.c:3482 c-typeck.c:3492 msgid "pointer/integer type mismatch in conditional expression" msgstr "" -#: c-typeck.c:3534 +#: c-typeck.c:3506 msgid "type mismatch in conditional expression" msgstr "" -#: c-typeck.c:3605 cp/typeck.c:4918 +#: c-typeck.c:3577 cp/typeck.c:4597 msgid "left-hand operand of comma expression has no effect" msgstr "" -#: c-typeck.c:3644 +#: c-typeck.c:3621 msgid "cast specifies array type" msgstr "" -#: c-typeck.c:3650 +#: c-typeck.c:3627 msgid "cast specifies function type" msgstr "" -#: c-typeck.c:3660 +#: c-typeck.c:3637 msgid "ISO C forbids casting nonscalar to the same type" msgstr "" -#: c-typeck.c:3679 +#: c-typeck.c:3656 msgid "ISO C forbids casts to union type" msgstr "" -#: c-typeck.c:3694 +#: c-typeck.c:3671 msgid "cast to union type from type not present in union" msgstr "" -#: c-typeck.c:3745 +#: c-typeck.c:3722 msgid "cast adds new qualifiers to function type" msgstr "" #. There are qualifiers present in IN_OTYPE that are not #. present in IN_TYPE. -#: c-typeck.c:3750 +#: c-typeck.c:3727 msgid "cast discards qualifiers from pointer target type" msgstr "" -#: c-typeck.c:3765 +#: c-typeck.c:3742 msgid "cast increases required alignment of target type" msgstr "" -#: c-typeck.c:3771 cp/typeck.c:5348 +#: c-typeck.c:3748 cp/typeck.c:5027 msgid "cast from pointer to integer of different size" msgstr "" -#: c-typeck.c:3776 +#: c-typeck.c:3753 msgid "cast does not match function type" msgstr "" -#: c-typeck.c:3783 cp/typeck.c:5355 +#: c-typeck.c:3760 cp/typeck.c:5034 msgid "cast to pointer from integer of different size" msgstr "" +#: c-typeck.c:3772 +msgid "type-punning to incomplete type might break strict-aliasing rules" +msgstr "" + +#: c-typeck.c:3776 +msgid "dereferencing type-punned pointer will break strict-aliasing rules" +msgstr "" + #. Now we have handled acceptable kinds of LHS that are not truly lvalues. #. Reject anything strange now. -#: c-typeck.c:3941 +#: c-typeck.c:3935 msgid "invalid lvalue in assignment" msgstr "" #. Convert new value to destination type. -#: c-typeck.c:3950 c-typeck.c:3975 c-typeck.c:3992 cp/typeck.c:5465 -#: cp/typeck.c:5616 +#: c-typeck.c:3944 c-typeck.c:3969 c-typeck.c:3986 cp/typeck.c:5145 +#: cp/typeck.c:5294 msgid "assignment" msgstr "" -#: c-typeck.c:4060 +#: c-typeck.c:4056 msgid "cannot pass rvalue to reference parameter" msgstr "" -#: c-typeck.c:4164 c-typeck.c:4231 +#: c-typeck.c:4160 c-typeck.c:4227 #, c-format msgid "%s makes qualified function pointer from unqualified" msgstr "" -#: c-typeck.c:4168 c-typeck.c:4211 +#: c-typeck.c:4164 c-typeck.c:4207 #, c-format msgid "%s discards qualifiers from pointer target type" msgstr "" -#: c-typeck.c:4174 +#: c-typeck.c:4170 msgid "ISO C prohibits argument conversion to union type" msgstr "" -#: c-typeck.c:4203 +#: c-typeck.c:4199 #, c-format msgid "ISO C forbids %s between function pointer and `void *'" msgstr "" -#: c-typeck.c:4220 +#: c-typeck.c:4216 #, c-format msgid "pointer targets in %s differ in signedness" msgstr "" -#: c-typeck.c:4236 +#: c-typeck.c:4232 #, c-format msgid "%s from incompatible pointer type" msgstr "" -#: c-typeck.c:4252 +#: c-typeck.c:4248 #, c-format msgid "%s makes pointer from integer without a cast" msgstr "" -#: c-typeck.c:4260 +#: c-typeck.c:4256 #, c-format msgid "%s makes integer from pointer without a cast" msgstr "" -#: c-typeck.c:4274 c-typeck.c:4277 +#: c-typeck.c:4270 c-typeck.c:4273 #, c-format msgid "incompatible type for argument %d of `%s'" msgstr "" -#: c-typeck.c:4281 +#: c-typeck.c:4277 #, c-format msgid "incompatible type for argument %d of indirect function call" msgstr "" -#: c-typeck.c:4285 +#: c-typeck.c:4281 #, c-format msgid "incompatible types in %s" msgstr "" #. Function name is known; supply it. -#: c-typeck.c:4340 +#: c-typeck.c:4339 +#, c-format +msgid "passing arg of `%s'" +msgstr "" + +#. Function name unknown (call through ptr). +#: c-typeck.c:4349 +msgid "passing arg of pointer to function" +msgstr "" + +#. Function name is known; supply it. +#: c-typeck.c:4357 #, c-format msgid "passing arg %d of `%s'" msgstr "" #. Function name unknown (call through ptr); just give arg number. -#: c-typeck.c:4350 +#: c-typeck.c:4367 #, c-format msgid "passing arg %d of pointer to function" msgstr "" -#: c-typeck.c:4416 +#: c-typeck.c:4433 msgid "initializer for static variable is not constant" msgstr "" -#: c-typeck.c:4422 +#: c-typeck.c:4439 msgid "initializer for static variable uses complicated arithmetic" msgstr "" -#: c-typeck.c:4430 +#: c-typeck.c:4447 msgid "aggregate initializer is not constant" msgstr "" -#: c-typeck.c:4432 +#: c-typeck.c:4449 msgid "aggregate initializer uses complicated arithmetic" msgstr "" -#: c-typeck.c:4439 +#: c-typeck.c:4456 msgid "traditional C rejects automatic aggregate initialization" msgstr "" -#: c-typeck.c:4627 c-typeck.c:4643 c-typeck.c:4659 +#: c-typeck.c:4635 c-typeck.c:4651 c-typeck.c:4667 #, c-format msgid "(near initialization for `%s')" msgstr "" -#: c-typeck.c:4710 cp/typeck2.c:513 +#: c-typeck.c:4718 cp/typeck2.c:505 msgid "char-array initialized from wide string" msgstr "" -#: c-typeck.c:4717 cp/typeck2.c:520 +#: c-typeck.c:4725 cp/typeck2.c:512 msgid "int-array initialized from non-wide string" msgstr "" -#: c-typeck.c:4735 cp/typeck2.c:536 +#: c-typeck.c:4743 cp/typeck2.c:528 msgid "initializer-string for array of chars is too long" msgstr "" -#: c-typeck.c:4773 +#: c-typeck.c:4781 msgid "array initialized from non-constant array expression" msgstr "" -#: c-typeck.c:4790 c-typeck.c:4792 c-typeck.c:4808 c-typeck.c:4829 -#: c-typeck.c:6229 +#: c-typeck.c:4798 c-typeck.c:4800 c-typeck.c:4816 c-typeck.c:4837 +#: c-typeck.c:6237 msgid "initializer element is not constant" msgstr "" -#: c-typeck.c:4824 +#: c-typeck.c:4832 msgid "initialization" msgstr "" -#: c-typeck.c:4835 c-typeck.c:6234 +#: c-typeck.c:4843 c-typeck.c:6242 msgid "initializer element is not computable at load time" msgstr "" -#: c-typeck.c:4850 cp/typeck2.c:613 +#: c-typeck.c:4858 cp/typeck2.c:605 msgid "invalid initializer" msgstr "" -#: c-typeck.c:5343 +#: c-typeck.c:5351 msgid "extra brace group at end of initializer" msgstr "" -#: c-typeck.c:5363 +#: c-typeck.c:5371 msgid "missing braces around initializer" msgstr "" -#: c-typeck.c:5423 +#: c-typeck.c:5431 msgid "braces around scalar initializer" msgstr "" -#: c-typeck.c:5471 +#: c-typeck.c:5479 msgid "initialization of flexible array member in a nested context" msgstr "" -#: c-typeck.c:5473 +#: c-typeck.c:5481 msgid "initialization of a flexible array member" msgstr "" -#: c-typeck.c:5504 +#: c-typeck.c:5512 msgid "missing initializer" msgstr "" -#: c-typeck.c:5530 +#: c-typeck.c:5538 msgid "empty scalar initializer" msgstr "" -#: c-typeck.c:5535 +#: c-typeck.c:5543 msgid "extra elements in scalar initializer" msgstr "" -#: c-typeck.c:5621 +#: c-typeck.c:5629 msgid "initialization designators may not nest" msgstr "" -#: c-typeck.c:5642 c-typeck.c:5713 +#: c-typeck.c:5650 c-typeck.c:5721 msgid "array index in non-array initializer" msgstr "" -#: c-typeck.c:5647 c-typeck.c:5765 +#: c-typeck.c:5655 c-typeck.c:5773 msgid "field name not in record or union initializer" msgstr "" -#: c-typeck.c:5709 c-typeck.c:5711 +#: c-typeck.c:5717 c-typeck.c:5719 msgid "nonconstant array index in initializer" msgstr "" -#: c-typeck.c:5716 +#: c-typeck.c:5724 msgid "array index in initializer exceeds array bounds" msgstr "" -#: c-typeck.c:5727 +#: c-typeck.c:5735 msgid "empty index range in initializer" msgstr "" -#: c-typeck.c:5736 +#: c-typeck.c:5744 msgid "array index range in initializer exceeds array bounds" msgstr "" -#: c-typeck.c:5777 +#: c-typeck.c:5785 #, c-format msgid "unknown field `%s' specified in initializer" msgstr "" -#: c-typeck.c:5814 c-typeck.c:5835 c-typeck.c:6296 +#: c-typeck.c:5822 c-typeck.c:5843 c-typeck.c:6304 msgid "initialized field with side-effects overwritten" msgstr "" -#: c-typeck.c:6506 +#: c-typeck.c:6514 msgid "excess elements in char array initializer" msgstr "" -#: c-typeck.c:6513 c-typeck.c:6559 +#: c-typeck.c:6521 c-typeck.c:6567 msgid "excess elements in struct initializer" msgstr "" -#: c-typeck.c:6574 +#: c-typeck.c:6582 msgid "non-static initialization of a flexible array member" msgstr "" -#: c-typeck.c:6636 +#: c-typeck.c:6644 msgid "excess elements in union initializer" msgstr "" -#: c-typeck.c:6657 +#: c-typeck.c:6665 msgid "traditional C rejects initialization of unions" msgstr "" -#: c-typeck.c:6720 +#: c-typeck.c:6728 msgid "excess elements in array initializer" msgstr "" -#: c-typeck.c:6749 +#: c-typeck.c:6757 msgid "excess elements in vector initializer" msgstr "" -#: c-typeck.c:6771 +#: c-typeck.c:6779 msgid "excess elements in scalar initializer" msgstr "" -#: c-typeck.c:6882 +#: c-typeck.c:6886 msgid "asm template is not a string constant" msgstr "" -#: c-typeck.c:6914 +#: c-typeck.c:6918 msgid "invalid lvalue in asm statement" msgstr "" -#: c-typeck.c:6985 +#: c-typeck.c:6993 msgid "modification by `asm'" msgstr "" -#: c-typeck.c:7004 cp/typeck.c:6464 +#: c-typeck.c:7012 cp/typeck.c:6152 msgid "function declared `noreturn' has a `return' statement" msgstr "" -#: c-typeck.c:7011 +#: c-typeck.c:7019 msgid "`return' with no value, in function returning non-void" msgstr "" -#: c-typeck.c:7017 +#: c-typeck.c:7025 msgid "`return' with a value, in function returning void" msgstr "" -#: c-typeck.c:7021 +#: c-typeck.c:7029 msgid "return" msgstr "" -#: c-typeck.c:7073 +#: c-typeck.c:7081 msgid "function returns address of local variable" msgstr "" -#: c-typeck.c:7129 cp/semantics.c:527 +#: c-typeck.c:7137 cp/semantics.c:555 msgid "switch quantity not an integer" msgstr "" -#: c-typeck.c:7139 +#: c-typeck.c:7147 msgid "`long' switch expression not converted to `int' in ISO C" msgstr "" -#: c-typeck.c:7174 cp/decl.c:5229 +#: c-typeck.c:7182 cp/decl.c:5173 msgid "case label not within a switch statement" msgstr "" -#: c-typeck.c:7176 cp/decl.c:5234 +#: c-typeck.c:7184 cp/decl.c:5178 msgid "`default' label not within a switch statement" msgstr "" -#: calls.c:1903 +#: calls.c:1921 #, c-format msgid "inlining failed in call to `%s'" msgstr "" -#: calls.c:1904 calls.c:2210 +#: calls.c:1922 calls.c:2228 msgid "called from here" msgstr "" -#: calls.c:2209 +#: calls.c:2227 #, c-format msgid "can't inline call to `%s'" msgstr "" -#: calls.c:2239 +#: calls.c:2257 msgid "function call has aggregate value" msgstr "" -#: calls.c:4551 +#: calls.c:4614 msgid "variable offset is passed partially in stack and in reg" msgstr "" -#: calls.c:4553 +#: calls.c:4616 msgid "variable size is passed partially in stack and in reg" msgstr "" -#: cfgrtl.c:1723 +#: cfgloop.c:1106 +#, c-format +msgid "Size of loop %d should be %d, not %d." +msgstr "" + +#: cfgloop.c:1125 +#, c-format +msgid "Bb %d do not belong to loop %d." +msgstr "" + +#: cfgloop.c:1143 +#, c-format +msgid "Loop %d's header does not have exactly 2 entries." +msgstr "" + +#: cfgloop.c:1151 +#, c-format +msgid "Loop %d's latch does not have exactly 1 successor." +msgstr "" + +#: cfgloop.c:1156 +#, c-format +msgid "Loop %d's latch does not have header as successor." +msgstr "" + +#: cfgloop.c:1161 +#, c-format +msgid "Loop %d's latch does not belong directly to it." +msgstr "" + +#: cfgloop.c:1167 +#, c-format +msgid "Loop %d's header does not belong directly to it." +msgstr "" + +#: cfgrtl.c:1704 +#, c-format +msgid "bb %d on wrong place" +msgstr "" + +#: cfgrtl.c:1710 +#, c-format +msgid "prev_bb of %d should be %d, not %d" +msgstr "" + +#: cfgrtl.c:1730 #, c-format msgid "end insn %d for block %d not found in the insn stream" msgstr "" -#: cfgrtl.c:1737 +#: cfgrtl.c:1744 #, c-format msgid "insn %d is in multiple basic blocks (%d and %d)" msgstr "" -#: cfgrtl.c:1749 +#: cfgrtl.c:1756 #, c-format msgid "head insn %d for block %d not found in the insn stream" msgstr "" -#: cfgrtl.c:1771 +#: cfgrtl.c:1778 #, c-format msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i" msgstr "" -#: cfgrtl.c:1778 +#: cfgrtl.c:1785 #, c-format msgid "verify_flow_info: Wrong count of block %i %i" msgstr "" -#: cfgrtl.c:1784 +#: cfgrtl.c:1791 #, c-format msgid "verify_flow_info: Wrong frequency of block %i %i" msgstr "" -#: cfgrtl.c:1792 +#: cfgrtl.c:1799 #, c-format msgid "verify_flow_info: Duplicate edge %i->%i" msgstr "" -#: cfgrtl.c:1798 +#: cfgrtl.c:1805 #, c-format msgid "verify_flow_info: Wrong probability of edge %i->%i %i" msgstr "" -#: cfgrtl.c:1804 +#: cfgrtl.c:1811 #, c-format msgid "verify_flow_info: Wrong count of edge %i->%i %i" msgstr "" -#: cfgrtl.c:1834 +#: cfgrtl.c:1841 #, c-format msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i" msgstr "" -#: cfgrtl.c:1849 +#: cfgrtl.c:1856 #, c-format msgid "verify_flow_info: Incorrect fallthru %i->%i" msgstr "" -#: cfgrtl.c:1851 +#: cfgrtl.c:1858 msgid "wrong insn in the fallthru edge" msgstr "" -#: cfgrtl.c:1858 +#: cfgrtl.c:1865 #, c-format msgid "verify_flow_info: Basic block %d succ edge is corrupted" msgstr "" -#: cfgrtl.c:1874 +#: cfgrtl.c:1881 #, c-format msgid "Missing REG_EH_REGION note in the end of bb %i" msgstr "" -#: cfgrtl.c:1882 +#: cfgrtl.c:1889 #, c-format msgid "Too many outgoing branch edges from bb %i" msgstr "" -#: cfgrtl.c:1887 +#: cfgrtl.c:1894 #, c-format msgid "Fallthru edge after unconditional jump %i" msgstr "" -#: cfgrtl.c:1892 +#: cfgrtl.c:1899 #, c-format msgid "Wrong amount of branch edges after unconditional jump %i" msgstr "" -#: cfgrtl.c:1898 +#: cfgrtl.c:1905 #, c-format msgid "Wrong amount of branch edges after conditional jump %i" msgstr "" -#: cfgrtl.c:1903 +#: cfgrtl.c:1910 #, c-format msgid "Call edges for non-call insn in bb %i" msgstr "" -#: cfgrtl.c:1912 +#: cfgrtl.c:1919 #, c-format msgid "Abnormal edges for no purpose in bb %i" msgstr "" -#: cfgrtl.c:1927 +#: cfgrtl.c:1934 #, c-format msgid "missing barrier after block %i" msgstr "" -#: cfgrtl.c:1937 +#: cfgrtl.c:1944 #, c-format msgid "basic block %d pred edge is corrupted" msgstr "" -#: cfgrtl.c:1954 +#: cfgrtl.c:1961 #, c-format msgid "insn %d inside basic block %d but block_for_insn is NULL" msgstr "" -#: cfgrtl.c:1958 +#: cfgrtl.c:1965 #, c-format msgid "insn %d inside basic block %d but block_for_insn is %i" msgstr "" -#: cfgrtl.c:1972 cfgrtl.c:1982 +#: cfgrtl.c:1979 cfgrtl.c:1989 #, c-format msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d" msgstr "" -#: cfgrtl.c:1995 +#: cfgrtl.c:2002 #, c-format msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d" msgstr "" -#: cfgrtl.c:2007 +#: cfgrtl.c:2014 #, c-format msgid "in basic block %d:" msgstr "" -#: cfgrtl.c:2008 +#: cfgrtl.c:2015 msgid "flow control insn inside a basic block" msgstr "" -#: cfgrtl.c:2027 +#: cfgrtl.c:2034 #, c-format msgid "basic block %i edge lists are corrupted" msgstr "" -#: cfgrtl.c:2041 +#: cfgrtl.c:2049 msgid "basic blocks not numbered consecutively" msgstr "" -#: cfgrtl.c:2066 +#: cfgrtl.c:2074 msgid "insn outside basic block" msgstr "" -#: cfgrtl.c:2074 +#: cfgrtl.c:2082 msgid "return not followed by barrier" msgstr "" -#: cfgrtl.c:2079 +#: cfgrtl.c:2087 #, c-format msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)" msgstr "" -#: cfgrtl.c:2083 +#: cfgrtl.c:2091 msgid "verify_flow_info failed" msgstr "" -#: collect2.c:439 +#: collect2.c:425 msgid "internal error" msgstr "" -#: collect2.c:940 +#: collect2.c:934 msgid "no arguments" msgstr "" -#: collect2.c:1269 collect2.c:1417 collect2.c:1450 +#: collect2.c:1263 collect2.c:1411 collect2.c:1444 #, c-format msgid "fopen %s" msgstr "" -#: collect2.c:1272 collect2.c:1422 collect2.c:1453 +#: collect2.c:1266 collect2.c:1416 collect2.c:1447 #, c-format msgid "fclose %s" msgstr "" -#: collect2.c:1281 +#: collect2.c:1275 #, c-format msgid "collect2 version %s" msgstr "" -#: collect2.c:1371 +#: collect2.c:1365 #, c-format msgid "%d constructor(s) found\n" msgstr "" -#: collect2.c:1372 +#: collect2.c:1366 #, c-format msgid "%d destructor(s) found\n" msgstr "" -#: collect2.c:1373 +#: collect2.c:1367 #, c-format msgid "%d frame table(s) found\n" msgstr "" -#: collect2.c:1514 +#: collect2.c:1508 #, c-format msgid "%s terminated with signal %d [%s]%s" msgstr "" -#: collect2.c:1533 +#: collect2.c:1527 #, c-format msgid "%s returned %d exit status" msgstr "" -#: collect2.c:1561 +#: collect2.c:1555 #, c-format msgid "[cannot find %s]" msgstr "" -#: collect2.c:1576 +#: collect2.c:1570 #, c-format msgid "cannot find `%s'" msgstr "" -#: collect2.c:1587 collect2.c:1590 +#: collect2.c:1581 collect2.c:1584 #, c-format msgid "redirecting stdout: %s" msgstr "" -#: collect2.c:1633 +#: collect2.c:1627 #, c-format msgid "[Leaving %s]\n" msgstr "" -#: collect2.c:1876 +#: collect2.c:1870 #, c-format msgid "" "\n" "write_c_file - output name is %s, prefix is %s\n" msgstr "" -#: collect2.c:2089 +#: collect2.c:2083 msgid "cannot find `nm'" msgstr "" -#: collect2.c:2099 collect2.c:2541 +#: collect2.c:2093 collect2.c:2535 msgid "pipe" msgstr "" -#: collect2.c:2103 collect2.c:2545 +#: collect2.c:2097 collect2.c:2539 msgid "fdopen" msgstr "" -#: collect2.c:2129 collect2.c:2571 +#: collect2.c:2123 collect2.c:2565 #, c-format msgid "dup2 %d 1" msgstr "" -#: collect2.c:2132 collect2.c:2135 collect2.c:2148 collect2.c:2574 -#: collect2.c:2577 collect2.c:2590 +#: collect2.c:2126 collect2.c:2129 collect2.c:2142 collect2.c:2568 +#: collect2.c:2571 collect2.c:2584 #, c-format msgid "close %d" msgstr "" -#: collect2.c:2138 +#: collect2.c:2132 collect2.c:2574 #, c-format -msgid "execvp %s" +msgid "execv %s" msgstr "" -#: collect2.c:2192 +#: collect2.c:2186 #, c-format msgid "init function found in object %s" msgstr "" -#: collect2.c:2200 +#: collect2.c:2194 #, c-format msgid "fini function found in object %s" msgstr "" -#: collect2.c:2223 collect2.c:2629 +#: collect2.c:2217 collect2.c:2623 msgid "fclose" msgstr "" -#: collect2.c:2268 +#: collect2.c:2262 #, c-format msgid "unable to open file '%s'" msgstr "" -#: collect2.c:2270 +#: collect2.c:2264 #, c-format msgid "unable to stat file '%s'" msgstr "" -#: collect2.c:2276 +#: collect2.c:2270 #, c-format msgid "unable to mmap file '%s'" msgstr "" -#: collect2.c:2429 +#: collect2.c:2423 msgid "not found\n" msgstr "" -#: collect2.c:2431 collect2.c:2608 +#: collect2.c:2425 collect2.c:2602 #, c-format msgid "dynamic dependency %s not found" msgstr "" -#: collect2.c:2451 +#: collect2.c:2445 #, c-format msgid "bad magic number in file '%s'" msgstr "" -#: collect2.c:2473 +#: collect2.c:2467 msgid "dynamic dependencies.\n" msgstr "" -#: collect2.c:2532 +#: collect2.c:2526 msgid "cannot find `ldd'" msgstr "" -#: collect2.c:2580 -#, c-format -msgid "execv %s" -msgstr "" - -#: collect2.c:2593 +#: collect2.c:2587 msgid "" "\n" "ldd output with constructors/destructors.\n" msgstr "" -#: collect2.c:2620 +#: collect2.c:2614 #, c-format msgid "unable to open dynamic dependency '%s'" msgstr "" -#: collect2.c:2734 +#: collect2.c:2728 #, c-format msgid "%s: not a COFF file" msgstr "" -#: collect2.c:2853 +#: collect2.c:2847 #, c-format msgid "%s: cannot open as COFF file" msgstr "" -#: collect2.c:2909 +#: collect2.c:2903 #, c-format msgid "library lib%s not found" msgstr "" -#: collect2.c:3036 +#: collect2.c:3030 #, c-format msgid "open %s" msgstr "" -#: collect2.c:3059 +#: collect2.c:3053 msgid "incompatibilities between object file & expected values" msgstr "" -#: collect2.c:3132 +#: collect2.c:3126 #, c-format msgid "" "\n" "Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n" msgstr "" -#: collect2.c:3141 +#: collect2.c:3135 msgid "string section missing" msgstr "" -#: collect2.c:3144 +#: collect2.c:3138 msgid "section pointer missing" msgstr "" -#: collect2.c:3192 +#: collect2.c:3186 msgid "no symbol table found" msgstr "" -#: collect2.c:3205 +#: collect2.c:3199 msgid "no cmd_strings found" msgstr "" -#: collect2.c:3217 +#: collect2.c:3211 msgid "" "\n" "Updating header and load commands.\n" "\n" msgstr "" -#: collect2.c:3224 +#: collect2.c:3218 #, c-format msgid "load command map, %d cmds, new size %ld.\n" msgstr "" -#: collect2.c:3255 +#: collect2.c:3249 msgid "" "writing load commands.\n" "\n" msgstr "" -#: collect2.c:3275 +#: collect2.c:3269 #, c-format msgid "close %s" msgstr "" -#: collect2.c:3349 +#: collect2.c:3343 msgid "could not convert 0x%l.8x into a region" msgstr "" -#: collect2.c:3353 +#: collect2.c:3347 #, c-format msgid "%s function, region %d, offset = %ld (0x%.8lx)\n" msgstr "" -#: collect2.c:3480 +#: collect2.c:3474 msgid "bad magic number" msgstr "" -#: collect2.c:3481 +#: collect2.c:3475 msgid "bad header version" msgstr "" -#: collect2.c:3482 +#: collect2.c:3476 msgid "bad raw header version" msgstr "" -#: collect2.c:3483 +#: collect2.c:3477 msgid "raw header buffer too small" msgstr "" -#: collect2.c:3484 +#: collect2.c:3478 msgid "old raw header file" msgstr "" -#: collect2.c:3485 +#: collect2.c:3479 msgid "unsupported version" msgstr "" -#: collect2.c:3487 +#: collect2.c:3481 #, c-format msgid "unknown {de,en}code_mach_o_hdr return value %d" msgstr "" -#: collect2.c:3507 +#: collect2.c:3501 #, c-format msgid "fstat %s" msgstr "" -#: collect2.c:3544 collect2.c:3592 +#: collect2.c:3538 collect2.c:3586 #, c-format msgid "lseek %s 0" msgstr "" -#: collect2.c:3548 +#: collect2.c:3542 #, c-format msgid "read %s" msgstr "" -#: collect2.c:3551 +#: collect2.c:3545 #, c-format msgid "read %ld bytes, expected %ld, from %s" msgstr "" -#: collect2.c:3572 +#: collect2.c:3566 #, c-format msgid "msync %s" msgstr "" -#: collect2.c:3579 +#: collect2.c:3573 #, c-format msgid "munmap %s" msgstr "" -#: collect2.c:3596 +#: collect2.c:3590 #, c-format msgid "write %s" msgstr "" -#: collect2.c:3599 +#: collect2.c:3593 #, c-format msgid "wrote %ld bytes, expected %ld, to %s" msgstr "" -#: combine.c:12783 +#: combine.c:12966 #, c-format msgid "" ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new " @@ -3836,7 +4013,7 @@ msgid "" "\n" msgstr "" -#: combine.c:12793 +#: combine.c:12976 #, c-format msgid "" "\n" @@ -3860,203 +4037,231 @@ msgstr "" msgid "conversion to incomplete type" msgstr "" -#: convert.c:396 convert.c:476 +#: convert.c:414 convert.c:494 msgid "can't convert between vector values of different size" msgstr "" -#: convert.c:402 +#: convert.c:420 msgid "aggregate value used where an integer was expected" msgstr "" -#: convert.c:454 f/com.c:1081 +#: convert.c:472 f/com.c:1100 msgid "pointer value used where a complex was expected" msgstr "" -#: convert.c:458 f/com.c:1083 +#: convert.c:476 f/com.c:1102 msgid "aggregate value used where a complex was expected" msgstr "" -#: convert.c:482 +#: convert.c:500 msgid "can't convert value to a vector" msgstr "" -#: cpperror.c:118 tradcpp.c:4694 +#: cpperror.c:113 msgid "warning: " msgstr "" -#: cpperror.c:120 +#: cpperror.c:115 msgid "internal error: " msgstr "" -#: cpperror.c:183 +#: cpperror.c:189 msgid "stdout" msgstr "" -#: cpperror.c:185 gcc.c:6311 tradcpp.c:4732 +#: cpperror.c:191 gcc.c:6444 #, c-format msgid "%s: %s" msgstr "" -#: cppexp.c:151 -msgid "floating point numbers are not valid in #if" +#: cppexp.c:199 +msgid "too many decimal points in number" msgstr "" -#: cppexp.c:173 -msgid "traditional C rejects the `U' suffix" +#: cppexp.c:219 +#, c-format +msgid "invalid digit \"%c\" in octal constant" msgstr "" -#: cppexp.c:177 -msgid "too many 'l' suffixes in integer constant" +#: cppexp.c:225 +msgid "use of C99 hexadecimal floating constant" msgstr "" -#: cppexp.c:182 -msgid "integer constant contains digits beyond the radix" +#: cppexp.c:234 +msgid "exponent has no digits" msgstr "" -#: cppexp.c:185 -msgid "integer constant out of range" +#: cppexp.c:241 +msgid "hexadecimal floating constants require an exponent" msgstr "" -#: cppexp.c:192 -msgid "integer constant is so large that it is unsigned" +#: cppexp.c:247 +#, c-format +msgid "invalid suffix \"%.*s\" on floating constant" msgstr "" -#: cppexp.c:201 +#: cppexp.c:257 cppexp.c:282 #, c-format -msgid "invalid suffix '%.*s' on integer constant" +msgid "traditional C rejects the \"%.*s\" suffix" msgstr "" -#: cppexp.c:234 +#: cppexp.c:268 +#, c-format +msgid "invalid suffix \"%.*s\" on integer constant" +msgstr "" + +#: cppexp.c:289 +msgid "use of C99 long long integer constant" +msgstr "" + +#: cppexp.c:295 +msgid "imaginary constants are a GCC extension" +msgstr "" + +#: cppexp.c:383 +msgid "integer constant is too large for its type" +msgstr "" + +#: cppexp.c:395 +msgid "integer constant is so large that it is unsigned" +msgstr "" + +#: cppexp.c:482 msgid "missing ')' after \"defined\"" msgstr "" -#: cppexp.c:241 +#: cppexp.c:489 msgid "operator \"defined\" requires an identifier" msgstr "" -#: cppexp.c:249 +#: cppexp.c:497 #, c-format msgid "(\"%s\" is an alternative token for \"%s\" in C++)" msgstr "" -#: cppexp.c:261 +#: cppexp.c:507 msgid "this use of \"defined\" may not be portable" msgstr "" -#: cppexp.c:309 -msgid "string constants are not valid in #if" +#: cppexp.c:545 +msgid "floating constant in preprocessor expression" msgstr "" -#: cppexp.c:313 -#, c-format -msgid "invalid character '%c' in #if" +#: cppexp.c:551 +msgid "imaginary number in preprocessor expression" msgstr "" -#: cppexp.c:315 +#: cppexp.c:596 #, c-format -msgid "invalid character '\\%03o' in #if" +msgid "ISO C++ does not permit \"%s\" in #if" msgstr "" -#: cppexp.c:333 +#: cppexp.c:604 #, c-format -msgid "ISO C++ does not permit \"%s\" in #if" +msgid "\"%s\" is not defined" msgstr "" -#: cppexp.c:344 +#: cppexp.c:737 cppexp.c:772 #, c-format -msgid "\"%s\" is not defined" +msgid "missing binary operator before token \"%s\"" msgstr "" -#: cppexp.c:370 +#: cppexp.c:756 #, c-format -msgid "\"%s\" is not valid in #if expressions" +msgid "invalid character '%c' in #if" msgstr "" -#: cppexp.c:386 -msgid "integer overflow in preprocessor expression" +#: cppexp.c:758 +#, c-format +msgid "invalid character '\\%03o' in #if" msgstr "" -#: cppexp.c:616 -msgid "missing binary operator" +#: cppexp.c:763 +#, c-format +msgid "token \"%s\" is not valid in preprocessor expressions" msgstr "" -#: cppexp.c:651 +#: cppexp.c:782 msgid "void expression between '(' and ')'" msgstr "" -#: cppexp.c:653 +#: cppexp.c:785 +msgid "#if with no expression" +msgstr "" + +#: cppexp.c:787 #, c-format msgid "operator '%s' has no right operand" msgstr "" -#: cppexp.c:665 -#, c-format -msgid "impossible operator '%s'" +#: cppexp.c:813 +msgid " ':' without preceding '?'" msgstr "" -#: cppexp.c:741 tradcif.y:111 tradcif.y:122 -msgid "division by zero in #if" +#: cppexp.c:840 +msgid "unbalanced stack in #if" msgstr "" -#: cppexp.c:776 -msgid "comma operator in operand of #if" +#: cppexp.c:862 +#, c-format +msgid "impossible operator '%u'" msgstr "" -#: cppexp.c:781 -msgid "syntax error '?' without following ':'" +#: cppexp.c:954 +msgid "missing ')' in expression" msgstr "" -#: cppexp.c:784 -msgid "syntax error ':' without preceding '?'" +#: cppexp.c:975 +msgid "'?' without following ':'" msgstr "" -#: cppexp.c:792 -msgid "missing ')' in expression" +#: cppexp.c:985 +msgid "integer overflow in preprocessor expression" msgstr "" -#: cppexp.c:799 +#: cppexp.c:990 msgid "missing '(' in expression" msgstr "" -#: cppexp.c:825 +#: cppexp.c:1026 #, c-format -msgid "missing binary operator before '%s'" +msgid "the left operand of \"%s\" changes sign when promoted" msgstr "" -#: cppexp.c:831 +#: cppexp.c:1031 #, c-format -msgid "operator '%s' has no left operand" +msgid "the right operand of \"%s\" changes sign when promoted" msgstr "" -#: cppexp.c:870 -msgid "unbalanced stack in #if" +#: cppexp.c:1414 +msgid "comma operator in operand of #if" msgstr "" -#: cppexp.c:875 -msgid "#if with no expression" +#: cppexp.c:1551 +msgid "division by zero in #if" msgstr "" -#: cppfiles.c:395 +#: cppfiles.c:411 #, c-format msgid "%s is too large" msgstr "" -#: cppfiles.c:426 +#: cppfiles.c:447 #, c-format msgid "%s is shorter than expected" msgstr "" -#: cppfiles.c:440 +#: cppfiles.c:461 #, c-format msgid "%s is a block device" msgstr "" -#: cppfiles.c:566 +#: cppfiles.c:594 #, c-format msgid "no include path in which to find %s" msgstr "" -#: cppfiles.c:640 +#: cppfiles.c:668 msgid "Multiple include guards may be useful for:\n" msgstr "" @@ -4064,723 +4269,593 @@ msgstr "" msgid "absolute file name in remap_filename" msgstr "" -#: cppinit.c:230 +#: cppinit.c:224 #, c-format msgid "ignoring nonexistent directory \"%s\"\n" msgstr "" -#: cppinit.c:237 +#: cppinit.c:231 #, c-format msgid "%s: Not a directory" msgstr "" -#: cppinit.c:284 +#: cppinit.c:287 #, c-format msgid "ignoring duplicate directory \"%s\"\n" msgstr "" -#: cppinit.c:312 -#, c-format -msgid "changing search order for system directory \"%s\"" +#: cppinit.c:325 +msgid " as it is a non-system directory that duplicates a system directory\n" +msgstr "" + +#: cppinit.c:891 +msgid "cppchar_t must be an unsigned type" msgstr "" -#: cppinit.c:316 +#: cppinit.c:895 #, c-format -msgid " as it is the same as non-system directory \"%s\"" +msgid "" +"preprocessor arithmetic has maximum precision of %lu bits; target requires %" +"lu bits" msgstr "" -#: cppinit.c:320 -msgid " as it has already been specified as a non-system directory" +#: cppinit.c:901 +msgid "CPP arithmetic must be at least as precise as a target int" msgstr "" -#: cppinit.c:940 +#: cppinit.c:904 +msgid "target char is less than 8 bits wide" +msgstr "" + +#: cppinit.c:908 +msgid "target wchar_t is narrower than target char" +msgstr "" + +#: cppinit.c:912 +msgid "target int is narrower than target char" +msgstr "" + +#: cppinit.c:916 +msgid "CPP half-integer narrower than CPP character" +msgstr "" + +#: cppinit.c:920 +#, c-format +msgid "" +"CPP on this host cannot handle wide character constants over %lu bits, but " +"the target requires %lu bits" +msgstr "" + +#: cppinit.c:972 msgid "#include \"...\" search starts here:\n" msgstr "" -#: cppinit.c:944 +#: cppinit.c:976 msgid "#include <...> search starts here:\n" msgstr "" -#: cppinit.c:947 +#: cppinit.c:979 msgid "End of search list.\n" msgstr "" -#: cppinit.c:1014 +#: cppinit.c:1055 msgid "<built-in>" msgstr "" -#: cppinit.c:1016 +#: cppinit.c:1057 msgid "<command line>" msgstr "" -#: cppinit.c:1091 tradcpp.c:983 tradcpp.c:993 tradcpp.c:1084 -msgid "I/O error on output" -msgstr "" - #. Irix6 "cc -n32" and OSF4 cc have problems with char foo[] = ("string"); #. I.e. a const string initializer with parens around it. That is #. what N_("string") resolves to, so we make no_* be macros instead. -#: cppinit.c:1139 -#, c-format -msgid "argument missing after %s" -msgstr "" - -#: cppinit.c:1140 +#: cppinit.c:1162 #, c-format msgid "assertion missing after %s" msgstr "" -#: cppinit.c:1141 +#: cppinit.c:1163 #, c-format msgid "directory name missing after %s" msgstr "" -#: cppinit.c:1142 +#: cppinit.c:1164 #, c-format msgid "file name missing after %s" msgstr "" -#: cppinit.c:1143 +#: cppinit.c:1165 #, c-format msgid "macro name missing after %s" msgstr "" -#: cppinit.c:1144 +#: cppinit.c:1166 #, c-format msgid "path name missing after %s" msgstr "" -#: cppinit.c:1145 -#, c-format -msgid "number missing after %s" -msgstr "" - -#: cppinit.c:1146 -#, c-format -msgid "target missing after %s" -msgstr "" - -#: cppinit.c:1336 -#, c-format -msgid "too many filenames. Type %s --help for usage info" -msgstr "" - -#: cppinit.c:1532 tradcpp.c:610 -msgid "output filename specified twice" -msgstr "" - -#: cppinit.c:1644 +#: cppinit.c:1368 msgid "-I- specified twice" msgstr "" -#: cppinit.c:1789 -#, c-format -msgid "GNU CPP version %s (cpplib)" -msgstr "" - -#: cppinit.c:1831 tradcpp.c:807 -msgid "you must additionally specify either -M or -MM" -msgstr "" - -#. To keep the lines from getting too long for some compilers, limit -#. to about 500 characters (6 lines) per chunk. -#: cppinit.c:1892 -msgid "" -"Switches:\n" -" -include <file> Include the contents of <file> before other " -"files\n" -" -imacros <file> Accept definition of macros in <file>\n" -" -iprefix <path> Specify <path> as a prefix for next two options\n" -" -iwithprefix <dir> Add <dir> to the end of the system include path\n" -" -iwithprefixbefore <dir> Add <dir> to the end of the main include path\n" -" -isystem <dir> Add <dir> to the start of the system include " -"path\n" -msgstr "" - -#: cppinit.c:1901 -msgid "" -" -idirafter <dir> Add <dir> to the end of the system include path\n" -" -I <dir> Add <dir> to the end of the main include path\n" -" -I- Fine-grained include path control; see info " -"docs\n" -" -nostdinc Do not search system include directories\n" -" (dirs specified with -isystem will still be " -"used)\n" -" -nostdinc++ Do not search system include directories for C+" -"+\n" -" -o <file> Put output into <file>\n" -msgstr "" - -#: cppinit.c:1910 -msgid "" -" -pedantic Issue all warnings demanded by strict ISO C\n" -" -pedantic-errors Issue -pedantic warnings as errors instead\n" -" -trigraphs Support ISO C trigraphs\n" -" -lang-c Assume that the input sources are in C\n" -" -lang-c89 Assume that the input sources are in C89\n" -msgstr "" - -#: cppinit.c:1917 -msgid "" -" -lang-c++ Assume that the input sources are in C++\n" -" -lang-objc Assume that the input sources are in ObjectiveC\n" -" -lang-objc++ Assume that the input sources are in ObjectiveC+" -"+\n" -" -lang-asm Assume that the input sources are in assembler\n" -msgstr "" - -#: cppinit.c:1923 -msgid "" -" -std=<std name> Specify the conformance standard; one of:\n" -" gnu89, gnu99, c89, c99, iso9899:1990,\n" -" iso9899:199409, iso9899:1999\n" -" -+ Allow parsing of C++ style features\n" -" -w Inhibit warning messages\n" -" -Wtrigraphs Warn if trigraphs are encountered\n" -" -Wno-trigraphs Do not warn about trigraphs\n" -" -Wcomment{s} Warn if one comment starts inside another\n" -msgstr "" - -#: cppinit.c:1933 -msgid "" -" -Wno-comment{s} Do not warn about comments\n" -" -Wtraditional Warn about features not present in traditional " -"C\n" -" -Wno-traditional Do not warn about traditional C\n" -" -Wundef Warn if an undefined macro is used by #if\n" -" -Wno-undef Do not warn about testing undefined macros\n" -" -Wimport Warn about the use of the #import directive\n" -msgstr "" - -#: cppinit.c:1941 -msgid "" -" -Wno-import Do not warn about the use of #import\n" -" -Werror Treat all warnings as errors\n" -" -Wno-error Do not treat warnings as errors\n" -" -Wsystem-headers Do not suppress warnings from system headers\n" -" -Wno-system-headers Suppress warnings from system headers\n" -" -Wall Enable all preprocessor warnings\n" -msgstr "" - -#: cppinit.c:1949 -msgid "" -" -M Generate make dependencies\n" -" -MM As -M, but ignore system header files\n" -" -MD Generate make dependencies and compile\n" -" -MMD As -MD, but ignore system header files\n" -" -MF <file> Write dependency output to the given file\n" -" -MG Treat missing header file as generated files\n" -msgstr "" - -#: cppinit.c:1957 -msgid "" -" -MP\t\t\t Generate phony targets for all headers\n" -" -MQ <target> Add a MAKE-quoted target\n" -" -MT <target> Add an unquoted target\n" -msgstr "" - -#: cppinit.c:1962 -msgid "" -" -D<macro> Define a <macro> with string '1' as its value\n" -" -D<macro>=<val> Define a <macro> with <val> as its value\n" -" -A<question>=<answer> Assert the <answer> to <question>\n" -" -A-<question>=<answer> Disable the <answer> to <question>\n" -" -U<macro> Undefine <macro> \n" -" -v Display the version number\n" -msgstr "" - -#: cppinit.c:1970 -msgid "" -" -H Print the name of header files as they are used\n" -" -C Do not discard comments\n" -" -dM Display a list of macro definitions active at " -"end\n" -" -dD Preserve macro definitions in output\n" -" -dN As -dD except that only the names are preserved\n" -" -dI Include #include directives in the output\n" -msgstr "" - -#: cppinit.c:1978 -msgid "" -" -fpreprocessed Treat the input file as already preprocessed\n" -" -ftabstop=<number> Distance between tab stops for column reporting\n" -" -P Do not generate #line directives\n" -" -$ Do not allow '$' in identifiers\n" -" -remap Remap file names when including files\n" -" --version Display version information\n" -" -h or --help Display this information\n" -msgstr "" - -#: cpplex.c:155 +#: cpplex.c:149 #, c-format msgid "trigraph ??%c converted to %c" msgstr "" -#: cpplex.c:163 +#: cpplex.c:157 #, c-format msgid "trigraph ??%c ignored" msgstr "" -#: cpplex.c:220 +#: cpplex.c:214 msgid "backslash and newline separated by space" msgstr "" -#: cpplex.c:227 +#: cpplex.c:221 cpptrad.c:158 msgid "backslash-newline at end of file" msgstr "" -#: cpplex.c:293 +#: cpplex.c:287 cpptrad.c:199 msgid "\"/*\" within comment" msgstr "" -#: cpplex.c:376 +#: cpplex.c:395 msgid "null character(s) ignored" msgstr "" -#: cpplex.c:383 +#: cpplex.c:402 #, c-format msgid "%s in preprocessing directive" msgstr "" -#: cpplex.c:456 +#: cpplex.c:475 #, c-format msgid "attempt to use poisoned \"%s\"" msgstr "" -#: cpplex.c:464 +#: cpplex.c:483 msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro" msgstr "" -#: cpplex.c:536 +#: cpplex.c:555 msgid "'$' character(s) in identifier or number" msgstr "" -#: cpplex.c:653 +#: cpplex.c:698 #, c-format msgid "missing terminating %c character" msgstr "" -#: cpplex.c:666 +#: cpplex.c:711 msgid "null character(s) preserved in literal" msgstr "" -#: cpplex.c:889 +#: cpplex.c:915 cpptrad.c:487 msgid "no newline at end of file" msgstr "" -#: cpplex.c:1009 tradcpp.c:1471 +#: cpplex.c:1092 cpptrad.c:213 msgid "unterminated comment" msgstr "" -#: cpplex.c:1020 -msgid "C++ style comments are not allowed in ISO C89" +#: cpplex.c:1103 +msgid "C++ style comments are not allowed in ISO C90" msgstr "" -#: cpplex.c:1022 +#: cpplex.c:1105 msgid "(this will be reported only once per input file)" msgstr "" -#: cpplex.c:1027 +#: cpplex.c:1110 msgid "multi-line comment" msgstr "" -#: cpplex.c:1342 +#: cpplex.c:1425 #, c-format msgid "unknown string token %s\n" msgstr "" -#: cpplex.c:1355 +#: cpplex.c:1438 #, c-format msgid "unspellable token %s" msgstr "" -#: cpplex.c:1612 +#: cpplex.c:1695 #, c-format msgid "the meaning of '\\%c' is different in traditional C" msgstr "" -#: cpplex.c:1618 +#: cpplex.c:1701 msgid "incomplete universal-character-name" msgstr "" -#: cpplex.c:1632 +#: cpplex.c:1715 #, c-format msgid "non-hex digit '%c' in universal-character-name" msgstr "" -#: cpplex.c:1640 +#: cpplex.c:1723 msgid "universal-character-name on EBCDIC target" msgstr "" -#: cpplex.c:1654 +#: cpplex.c:1737 msgid "universal-character-name out of range" msgstr "" -#: cpplex.c:1698 +#: cpplex.c:1791 msgid "the meaning of '\\a' is different in traditional C" msgstr "" -#: cpplex.c:1705 +#: cpplex.c:1798 #, c-format msgid "non-ISO-standard escape sequence, '\\%c'" msgstr "" -#: cpplex.c:1716 +#: cpplex.c:1809 msgid "the meaning of '\\x' is different in traditional C" msgstr "" -#: cpplex.c:1735 f/lex.c:585 +#: cpplex.c:1828 f/lex.c:585 msgid "\\x used with no following hex digits" msgstr "" -#: cpplex.c:1740 +#: cpplex.c:1833 msgid "hex escape sequence out of range" msgstr "" -#: cpplex.c:1765 +#: cpplex.c:1858 msgid "octal escape sequence out of range" msgstr "" -#: cpplex.c:1780 +#: cpplex.c:1874 #, c-format msgid "unknown escape sequence '\\%c'" msgstr "" -#: cpplex.c:1782 +#: cpplex.c:1877 #, c-format msgid "unknown escape sequence: '\\%03o'" msgstr "" -#: cpplex.c:1786 -msgid "escape sequence out of range for type" +#: cpplex.c:1882 +msgid "escape sequence out of range for its type" msgstr "" -#: cpplex.c:1881 +#: cpplex.c:1973 msgid "empty character constant" msgstr "" -#: cpplex.c:1885 -msgid "character constant too long" +#: cpplex.c:1983 +msgid "character constant too long for its type" msgstr "" -#: cpplex.c:1888 +#: cpplex.c:1986 msgid "multi-character character constant" msgstr "" -#: cpplib.c:228 +#: cpplib.c:225 #, c-format msgid "extra tokens at end of #%s directive" msgstr "" -#: cpplib.c:281 +#: cpplib.c:315 #, c-format msgid "#%s is a GCC extension" msgstr "" -#: cpplib.c:293 +#: cpplib.c:327 msgid "suggest not using #elif in traditional C" msgstr "" -#: cpplib.c:296 +#: cpplib.c:330 #, c-format msgid "traditional C ignores #%s with the # indented" msgstr "" -#: cpplib.c:300 +#: cpplib.c:334 #, c-format msgid "suggest hiding #%s from traditional C with an indented #" msgstr "" -#: cpplib.c:324 +#: cpplib.c:358 msgid "embedding a directive within macro arguments is not portable" msgstr "" -#: cpplib.c:344 +#: cpplib.c:378 msgid "style of line directive is a GCC extension" msgstr "" -#: cpplib.c:393 +#: cpplib.c:427 #, c-format msgid "invalid preprocessing directive #%s" msgstr "" -#: cpplib.c:471 -#, c-format -msgid "no macro name given in #%s directive" +#: cpplib.c:499 +msgid "\"defined\" cannot be used as a macro name" msgstr "" -#: cpplib.c:475 +#: cpplib.c:505 #, c-format msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" msgstr "" -#: cpplib.c:478 -msgid "macro names must be identifiers" +#: cpplib.c:508 +#, c-format +msgid "no macro name given in #%s directive" msgstr "" -#: cpplib.c:489 -#, c-format -msgid "\"%s\" cannot be used as a macro name" +#: cpplib.c:511 +msgid "macro names must be identifiers" msgstr "" -#: cpplib.c:527 +#: cpplib.c:551 #, c-format msgid "undefining \"%s\"" msgstr "" -#: cpplib.c:570 +#: cpplib.c:597 msgid "missing terminating > character" msgstr "" -#: cpplib.c:609 +#: cpplib.c:636 #, c-format msgid "#%s expects \"FILENAME\" or <FILENAME>" msgstr "" -#: cpplib.c:620 +#: cpplib.c:647 #, c-format msgid "empty file name in #%s" msgstr "" -#: cpplib.c:639 +#: cpplib.c:666 msgid "#include_next in primary source file" msgstr "" -#: cpplib.c:646 +#: cpplib.c:673 msgid "#import is obsolete, use an #ifndef wrapper in the header file" msgstr "" -#: cpplib.c:654 +#: cpplib.c:681 msgid "#include nested too deeply" msgstr "" -#: cpplib.c:712 +#: cpplib.c:738 #, c-format msgid "invalid flag \"%s\" in line directive" msgstr "" -#: cpplib.c:795 +#: cpplib.c:813 #, c-format msgid "\"%s\" after #line is not a positive integer" msgstr "" -#: cpplib.c:801 +#: cpplib.c:819 msgid "line number out of range" msgstr "" -#: cpplib.c:812 cpplib.c:883 +#: cpplib.c:830 cpplib.c:901 #, c-format msgid "\"%s\" is not a valid filename" msgstr "" -#: cpplib.c:847 +#: cpplib.c:865 #, c-format msgid "\"%s\" after # is not a positive integer" msgstr "" -#: cpplib.c:954 +#: cpplib.c:972 msgid "invalid #ident directive" msgstr "" -#: cpplib.c:1042 +#: cpplib.c:1060 #, c-format msgid "registering \"%s\" as both a pragma and a pragma namespace" msgstr "" -#: cpplib.c:1045 +#: cpplib.c:1063 #, c-format msgid "#pragma %s %s is already registered" msgstr "" -#: cpplib.c:1048 +#: cpplib.c:1066 #, c-format msgid "#pragma %s is already registered" msgstr "" -#: cpplib.c:1123 +#: cpplib.c:1140 msgid "#pragma once is obsolete" msgstr "" -#: cpplib.c:1126 +#: cpplib.c:1143 msgid "#pragma once in main file" msgstr "" -#: cpplib.c:1150 +#: cpplib.c:1167 msgid "invalid #pragma GCC poison directive" msgstr "" -#: cpplib.c:1159 +#: cpplib.c:1176 #, c-format msgid "poisoning existing macro \"%s\"" msgstr "" -#: cpplib.c:1181 +#: cpplib.c:1198 msgid "#pragma system_header ignored outside include file" msgstr "" -#: cpplib.c:1206 +#: cpplib.c:1223 #, c-format msgid "cannot find source %s" msgstr "" -#: cpplib.c:1210 +#: cpplib.c:1227 #, c-format msgid "current file is older than %s" msgstr "" -#: cpplib.c:1286 +#: cpplib.c:1343 msgid "_Pragma takes a parenthesized string literal" msgstr "" -#: cpplib.c:1385 +#: cpplib.c:1426 msgid "#else without #if" msgstr "" -#: cpplib.c:1390 tradcpp.c:3875 +#: cpplib.c:1431 msgid "#else after #else" msgstr "" -#: cpplib.c:1392 cpplib.c:1426 +#: cpplib.c:1433 cpplib.c:1467 msgid "the conditional began here" msgstr "" -#: cpplib.c:1419 +#: cpplib.c:1460 msgid "#elif without #if" msgstr "" -#: cpplib.c:1424 tradcpp.c:3570 +#: cpplib.c:1465 msgid "#elif after #else" msgstr "" -#: cpplib.c:1455 +#: cpplib.c:1496 msgid "#endif without #if" msgstr "" -#: cpplib.c:1538 tradcpp.c:3267 +#: cpplib.c:1579 msgid "missing '(' after predicate" msgstr "" -#: cpplib.c:1553 tradcpp.c:3281 +#: cpplib.c:1594 msgid "missing ')' to complete answer" msgstr "" -#: cpplib.c:1573 tradcpp.c:3287 +#: cpplib.c:1614 msgid "predicate's answer is empty" msgstr "" -#: cpplib.c:1603 tradcpp.c:3335 +#: cpplib.c:1644 msgid "assertion without predicate" msgstr "" -#: cpplib.c:1605 tradcpp.c:3337 +#: cpplib.c:1646 msgid "predicate must be an identifier" msgstr "" -#: cpplib.c:1687 tradcpp.c:3434 +#: cpplib.c:1735 #, c-format msgid "\"%s\" re-asserted" msgstr "" -#: cpplib.c:1917 +#: cpplib.c:1965 #, c-format msgid "unterminated #%s" msgstr "" -#: cppmacro.c:146 +#: cppmacro.c:94 +#, c-format +msgid "macro \"%s\" is not used" +msgstr "" + +#: cppmacro.c:139 cppmacro.c:294 #, c-format msgid "invalid built-in macro \"%s\"" msgstr "" -#: cppmacro.c:349 -msgid "invalid string literal, ignoring final '\\'" +#: cppmacro.c:234 +msgid "could not determine date and time" msgstr "" -#: cppmacro.c:441 -#, c-format -msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" +#: cppmacro.c:407 +msgid "invalid string literal, ignoring final '\\'" msgstr "" -#: cppmacro.c:561 +#: cppmacro.c:504 #, c-format -msgid "unterminated argument list invoking macro \"%s\"" +msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" msgstr "" -#: cppmacro.c:579 +#: cppmacro.c:546 msgid "ISO C99 requires rest arguments to be used" msgstr "" -#: cppmacro.c:584 +#: cppmacro.c:551 #, c-format msgid "macro \"%s\" requires %u arguments, but only %u given" msgstr "" -#: cppmacro.c:595 +#: cppmacro.c:556 #, c-format msgid "macro \"%s\" passed %u arguments, but takes just %u" msgstr "" -#: cppmacro.c:683 +#: cppmacro.c:669 cpptrad.c:774 +#, c-format +msgid "unterminated argument list invoking macro \"%s\"" +msgstr "" + +#: cppmacro.c:776 #, c-format msgid "function-like macro \"%s\" must be used with arguments in traditional C" msgstr "" -#: cppmacro.c:1185 +#: cppmacro.c:1312 #, c-format msgid "duplicate macro parameter \"%s\"" msgstr "" -#: cppmacro.c:1221 +#: cppmacro.c:1349 #, c-format msgid "\"%s\" may not appear in macro parameter list" msgstr "" -#: cppmacro.c:1229 +#: cppmacro.c:1357 msgid "macro parameters must be comma-separated" msgstr "" -#: cppmacro.c:1246 +#: cppmacro.c:1374 msgid "parameter name missing" msgstr "" -#: cppmacro.c:1260 +#: cppmacro.c:1389 msgid "anonymous variadic macros were introduced in C99" msgstr "" -#: cppmacro.c:1264 +#: cppmacro.c:1393 msgid "ISO C does not permit named variadic macros" msgstr "" -#: cppmacro.c:1273 +#: cppmacro.c:1402 msgid "missing ')' in macro parameter list" msgstr "" -#: cppmacro.c:1352 +#: cppmacro.c:1470 msgid "ISO C requires whitespace after the macro name" msgstr "" -#: cppmacro.c:1383 +#: cppmacro.c:1498 msgid "'#' is not followed by a macro parameter" msgstr "" -#: cppmacro.c:1403 +#: cppmacro.c:1517 msgid "'##' cannot appear at either end of a macro expansion" msgstr "" -#: cppmacro.c:1439 +#: cppmacro.c:1599 #, c-format msgid "\"%s\" redefined" msgstr "" -#: cppmacro.c:1443 +#: cppmacro.c:1604 msgid "this is the location of the previous definition" msgstr "" -#: cppmacro.c:1507 +#: cppmacro.c:1655 #, c-format msgid "macro argument \"%s\" would be stringified in traditional C" msgstr "" -#: cppmacro.c:1532 +#: cppmacro.c:1680 #, c-format msgid "invalid hash type %d in cpp_macro_definition" msgstr "" @@ -4794,73 +4869,64 @@ msgstr "" msgid "too many input files" msgstr "" -#: cse.c:7113 +#: cpptrad.c:841 #, c-format -msgid ";; Processing block from %d to %d, %d sets.\n" +msgid "detected recursion whilst expanding macro \"%s\"" msgstr "" -#: diagnostic.c:777 +#: cse.c:7187 #, c-format -msgid "%s:%d: warning: " -msgstr "" - -#: diagnostic.c:784 -#, c-format -msgid "%s: warning: " +msgid ";; Processing block from %d to %d, %d sets.\n" msgstr "" -#: diagnostic.c:864 +#: diagnostic.c:700 msgid "((anonymous))" msgstr "" -#: diagnostic.c:934 +#: diagnostic.c:914 #, c-format msgid "%s: warnings being treated as errors\n" msgstr "" -#: diagnostic.c:971 +#: diagnostic.c:949 #, c-format msgid "%s: %s: " msgstr "" -#: diagnostic.c:1050 -msgid "sorry, not implemented: " -msgstr "" - -#: diagnostic.c:1069 +#: diagnostic.c:1040 #, c-format msgid "%s " msgstr "" -#: diagnostic.c:1071 +#: diagnostic.c:1042 #, c-format msgid " %s" msgstr "" -#: diagnostic.c:1095 +#: diagnostic.c:1064 msgid "At top level:" msgstr "" -#: diagnostic.c:1100 +#: diagnostic.c:1069 #, c-format msgid "In member function `%s':" msgstr "" -#: diagnostic.c:1104 +#: diagnostic.c:1073 #, c-format msgid "In function `%s':" msgstr "" -#: diagnostic.c:1188 +#: diagnostic.c:1161 msgid "compilation terminated.\n" msgstr "" -#: diagnostic.c:1220 +#: diagnostic.c:1179 #, c-format msgid "%s:%d: confused by earlier errors, bailing out\n" msgstr "" -#: diagnostic.c:1235 diagnostic.c:1385 +#: diagnostic.c:1194 diagnostic.c:1302 #, c-format msgid "" "Please submit a full bug report,\n" @@ -4868,73 +4934,82 @@ msgid "" "See %s for instructions.\n" msgstr "" -#: diagnostic.c:1383 +#: diagnostic.c:1300 msgid "Internal compiler error: Error reporting routines re-entered.\n" msgstr "" -#: diagnostic.c:1445 +#: diagnostic.c:1362 #, c-format -msgid "Internal compiler error in %s, at %s:%d" +msgid "in %s, at %s:%d" msgstr "" -#: diagnostic.c:1490 +#: diagnostic.c:1383 #, c-format msgid "In file included from %s:%d" msgstr "" -#: diagnostic.c:1493 +#: diagnostic.c:1386 #, c-format msgid "" ",\n" " from %s:%d" msgstr "" -#: diagnostic.c:1494 +#: diagnostic.c:1387 msgid ":\n" msgstr "" -#: diagnostic.c:1527 diagnostic.c:1544 +#: diagnostic.c:1431 diagnostic.c:1448 #, c-format msgid "`%s' is deprecated (declared at %s:%d)" msgstr "" -#: diagnostic.c:1547 +#: diagnostic.c:1451 #, c-format msgid "`%s' is deprecated" msgstr "" -#: diagnostic.c:1550 +#: diagnostic.c:1454 #, c-format msgid "type is deprecated (declared at %s:%d)" msgstr "" -#: diagnostic.c:1553 +#: diagnostic.c:1457 msgid "type is deprecated" msgstr "" -#: dwarf2out.c:3075 +#: dominance.c:728 +#, c-format +msgid "dominator of %d should be %d, not %d" +msgstr "" + +#: dwarf2out.c:3124 #, c-format msgid "DW_LOC_OP %s not implemented\n" msgstr "" -#: dwarfout.c:2087 +#: dwarfout.c:2066 #, c-format -msgid "internal regno botch: regno = %d\n" +msgid "internal regno botch: `%s' has regno = %d\n" msgstr "" -#: dwarfout.c:6287 +#: dwarfout.c:6181 +msgid "support for the DWARF1 debugging format is deprecated" +msgstr "" + +#: dwarfout.c:6278 msgid "can't get current directory" msgstr "" -#: emit-rtl.c:1018 +#: emit-rtl.c:1151 msgid "can't access real part of complex value in hard register" msgstr "" -#: emit-rtl.c:1040 +#: emit-rtl.c:1173 msgid "can't access imaginary part of complex value in hard register" msgstr "" -#: emit-rtl.c:3145 +#: emit-rtl.c:3418 msgid "ICE: emit_insn used where emit_jump_insn needed:\n" msgstr "" @@ -4943,251 +5018,251 @@ msgstr "" msgid "abort in %s, at %s:%d" msgstr "" -#: except.c:377 +#: except.c:371 msgid "exception handling disabled, use -fexceptions to enable" msgstr "" -#: except.c:3183 +#: except.c:2969 msgid "argument of `__builtin_eh_return_regno' must be constant" msgstr "" -#: except.c:3294 except.c:3316 +#: except.c:3090 except.c:3112 msgid "__builtin_eh_return not supported on this target" msgstr "" -#: explow.c:1369 +#: explow.c:1398 msgid "stack limits not supported on this target" msgstr "" -#: expr.c:2948 +#: expr.c:3323 msgid "function using short complex types cannot be inline" msgstr "" -#: expr.c:5815 expr.c:5824 expr.c:5833 expr.c:5838 expr.c:6125 expr.c:6141 +#: expr.c:6197 expr.c:6206 expr.c:6215 expr.c:6220 expr.c:6522 expr.c:6538 msgid "unsupported wide integer operation" msgstr "" -#: expr.c:6190 +#: expr.c:6587 #, c-format msgid "prior parameter's size depends on `%s'" msgstr "" -#: expr.c:6537 +#: expr.c:6932 msgid "returned value in block_exit_expr" msgstr "" -#: final.c:1205 +#: final.c:1342 msgid "negative insn length" msgstr "" -#: final.c:2622 +#: final.c:2793 msgid "could not split insn" msgstr "" -#: final.c:2970 +#: final.c:3141 msgid "invalid `asm': " msgstr "" -#: final.c:3154 +#: final.c:3328 msgid "nested assembly dialect alternatives" msgstr "" -#: final.c:3171 final.c:3183 +#: final.c:3345 final.c:3357 msgid "unterminated assembly dialect alternative" msgstr "" -#: final.c:3227 +#: final.c:3401 #, c-format msgid "operand number missing after %%-letter" msgstr "" -#: final.c:3230 final.c:3269 +#: final.c:3404 final.c:3443 msgid "operand number out of range" msgstr "" -#: final.c:3288 +#: final.c:3462 #, c-format msgid "invalid %%-code" msgstr "" -#: final.c:3319 +#: final.c:3493 #, c-format msgid "`%%l' operand isn't a label" msgstr "" #. We can't handle floating point constants; #. PRINT_OPERAND must handle them. -#: final.c:3426 vmsdbgout.c:475 config/i386/i386.c:5337 -#: config/pdp11/pdp11.c:1570 +#: final.c:3600 vmsdbgout.c:466 config/i386/i386.c:6104 +#: config/pdp11/pdp11.c:1573 msgid "floating constant misused" msgstr "" -#: final.c:3482 vmsdbgout.c:532 config/i386/i386.c:5391 -#: config/pdp11/pdp11.c:1617 +#: final.c:3656 vmsdbgout.c:523 config/i386/i386.c:6182 +#: config/pdp11/pdp11.c:1620 msgid "invalid expression as operand" msgstr "" -#: flow.c:356 +#: flow.c:352 msgid "function might be possible candidate for attribute `noreturn'" msgstr "" -#: flow.c:361 +#: flow.c:357 msgid "`noreturn' function does return" msgstr "" -#: flow.c:380 +#: flow.c:378 msgid "control reaches end of non-void function" msgstr "" -#: flow.c:1655 +#: flow.c:1641 msgid "Attempt to delete prologue/epilogue insn:" msgstr "" -#: fold-const.c:2476 fold-const.c:2489 +#: fold-const.c:2545 fold-const.c:2558 #, c-format msgid "comparison is always %d due to width of bit-field" msgstr "" -#: fold-const.c:3532 fold-const.c:3549 +#: fold-const.c:3752 fold-const.c:3769 #, c-format msgid "comparison is always %d" msgstr "" -#: fold-const.c:3680 +#: fold-const.c:3900 msgid "`or' of unmatched not-equal tests is always 1" msgstr "" -#: fold-const.c:3685 +#: fold-const.c:3905 msgid "`and' of mutually exclusive equal-tests is always 0" msgstr "" -#: function.c:901 varasm.c:1531 +#: function.c:881 varasm.c:1503 #, c-format msgid "size of variable `%s' is too large" msgstr "" -#: function.c:5492 +#: function.c:5470 #, c-format msgid "`%s' might be used uninitialized in this function" msgstr "" -#: function.c:5499 +#: function.c:5477 #, c-format msgid "variable `%s' might be clobbered by `longjmp' or `vfork'" msgstr "" -#: function.c:5518 +#: function.c:5496 #, c-format msgid "argument `%s' might be clobbered by `longjmp' or `vfork'" msgstr "" -#: function.c:6383 +#: function.c:6363 msgid "function returns an aggregate" msgstr "" -#: function.c:6905 +#: function.c:6868 #, c-format msgid "unused parameter `%s'" msgstr "" -#: gcc.c:1101 +#: gcc.c:1126 #, c-format msgid "ambiguous abbreviation %s" msgstr "" -#: gcc.c:1128 +#: gcc.c:1153 #, c-format msgid "incomplete `%s' option" msgstr "" -#: gcc.c:1139 +#: gcc.c:1164 #, c-format msgid "missing argument to `%s' option" msgstr "" -#: gcc.c:1152 +#: gcc.c:1177 #, c-format msgid "extraneous argument to `%s' option" msgstr "" -#: gcc.c:1459 +#: gcc.c:1505 msgid "Using built-in specs.\n" msgstr "" -#: gcc.c:1633 +#: gcc.c:1683 #, c-format msgid "" "Setting spec %s to '%s'\n" "\n" msgstr "" -#: gcc.c:1731 +#: gcc.c:1790 #, c-format msgid "Reading specs from %s\n" msgstr "" -#: gcc.c:1829 gcc.c:1848 +#: gcc.c:1888 gcc.c:1907 #, c-format msgid "specs %%include syntax malformed after %ld characters" msgstr "" -#: gcc.c:1856 +#: gcc.c:1915 #, c-format msgid "could not find specs file %s\n" msgstr "" -#: gcc.c:1873 gcc.c:1881 gcc.c:1890 gcc.c:1899 +#: gcc.c:1932 gcc.c:1940 gcc.c:1949 gcc.c:1958 #, c-format msgid "specs %%rename syntax malformed after %ld characters" msgstr "" -#: gcc.c:1908 +#: gcc.c:1967 #, c-format msgid "specs %s spec was not found to be renamed" msgstr "" -#: gcc.c:1915 +#: gcc.c:1974 #, c-format msgid "%s: attempt to rename spec '%s' to already defined spec '%s'" msgstr "" -#: gcc.c:1920 +#: gcc.c:1979 #, c-format msgid "rename spec %s to %s\n" msgstr "" -#: gcc.c:1922 +#: gcc.c:1981 #, c-format msgid "" "spec is '%s'\n" "\n" msgstr "" -#: gcc.c:1935 +#: gcc.c:1994 #, c-format msgid "specs unknown %% command after %ld characters" msgstr "" -#: gcc.c:1946 gcc.c:1959 +#: gcc.c:2005 gcc.c:2018 #, c-format msgid "specs file malformed after %ld characters" msgstr "" -#: gcc.c:2013 +#: gcc.c:2072 msgid "spec file has no spec for linking" msgstr "" -#: gcc.c:2725 +#: gcc.c:2570 msgid "-pipe not supported" msgstr "" -#: gcc.c:2779 +#: gcc.c:2625 msgid "" "\n" "Go ahead? (y or n) " msgstr "" -#: gcc.c:2878 +#: gcc.c:2751 #, c-format msgid "" "Internal error: %s (program %s)\n" @@ -5195,172 +5270,176 @@ msgid "" "See %s for instructions." msgstr "" -#: gcc.c:2896 +#: gcc.c:2769 #, c-format msgid "# %s %.2f %.2f\n" msgstr "" -#: gcc.c:3029 +#: gcc.c:2899 #, c-format msgid "Usage: %s [options] file...\n" msgstr "" -#: gcc.c:3030 +#: gcc.c:2900 msgid "Options:\n" msgstr "" -#: gcc.c:3032 +#: gcc.c:2902 msgid " -pass-exit-codes Exit with highest error code from a phase\n" msgstr "" -#: gcc.c:3033 +#: gcc.c:2903 msgid " --help Display this information\n" msgstr "" -#: gcc.c:3034 +#: gcc.c:2904 msgid "" " --target-help Display target specific command line options\n" msgstr "" -#: gcc.c:3036 +#: gcc.c:2906 msgid " (Use '-v --help' to display command line options of sub-processes)\n" msgstr "" -#: gcc.c:3037 +#: gcc.c:2907 msgid " -dumpspecs Display all of the built in spec strings\n" msgstr "" -#: gcc.c:3038 +#: gcc.c:2908 msgid " -dumpversion Display the version of the compiler\n" msgstr "" -#: gcc.c:3039 +#: gcc.c:2909 msgid " -dumpmachine Display the compiler's target processor\n" msgstr "" -#: gcc.c:3040 +#: gcc.c:2910 msgid "" " -print-search-dirs Display the directories in the compiler's search " "path\n" msgstr "" -#: gcc.c:3041 +#: gcc.c:2911 msgid "" " -print-libgcc-file-name Display the name of the compiler's companion " "library\n" msgstr "" -#: gcc.c:3042 +#: gcc.c:2912 msgid " -print-file-name=<lib> Display the full path to library <lib>\n" msgstr "" -#: gcc.c:3043 +#: gcc.c:2913 msgid "" " -print-prog-name=<prog> Display the full path to compiler component " "<prog>\n" msgstr "" -#: gcc.c:3044 +#: gcc.c:2914 msgid "" " -print-multi-directory Display the root directory for versions of " "libgcc\n" msgstr "" -#: gcc.c:3045 +#: gcc.c:2915 msgid "" " -print-multi-lib Display the mapping between command line options " "and\n" " multiple library search directories\n" msgstr "" -#: gcc.c:3048 +#: gcc.c:2918 +msgid " -print-multi-os-directory Display the relative path to OS libraries\n" +msgstr "" + +#: gcc.c:2919 msgid "" " -Wa,<options> Pass comma-separated <options> on to the " "assembler\n" msgstr "" -#: gcc.c:3049 +#: gcc.c:2920 msgid "" " -Wp,<options> Pass comma-separated <options> on to the " "preprocessor\n" msgstr "" -#: gcc.c:3050 +#: gcc.c:2921 msgid "" " -Wl,<options> Pass comma-separated <options> on to the linker\n" msgstr "" -#: gcc.c:3051 +#: gcc.c:2922 msgid " -Xlinker <arg> Pass <arg> on to the linker\n" msgstr "" -#: gcc.c:3052 +#: gcc.c:2923 msgid " -save-temps Do not delete intermediate files\n" msgstr "" -#: gcc.c:3053 +#: gcc.c:2924 msgid " -pipe Use pipes rather than intermediate files\n" msgstr "" -#: gcc.c:3054 +#: gcc.c:2925 msgid " -time Time the execution of each subprocess\n" msgstr "" -#: gcc.c:3055 +#: gcc.c:2926 msgid "" " -specs=<file> Override built-in specs with the contents of " "<file>\n" msgstr "" -#: gcc.c:3056 +#: gcc.c:2927 msgid "" " -std=<standard> Assume that the input sources are for <standard>\n" msgstr "" -#: gcc.c:3057 +#: gcc.c:2928 msgid "" " -B <directory> Add <directory> to the compiler's search paths\n" msgstr "" -#: gcc.c:3058 +#: gcc.c:2929 msgid " -b <machine> Run gcc for target <machine>, if installed\n" msgstr "" -#: gcc.c:3059 +#: gcc.c:2930 msgid "" " -V <version> Run gcc version number <version>, if installed\n" msgstr "" -#: gcc.c:3060 +#: gcc.c:2931 msgid "" " -v Display the programs invoked by the compiler\n" msgstr "" -#: gcc.c:3061 +#: gcc.c:2932 msgid "" " -### Like -v but options quoted and commands not " "executed\n" msgstr "" -#: gcc.c:3062 +#: gcc.c:2933 msgid "" " -E Preprocess only; do not compile, assemble or " "link\n" msgstr "" -#: gcc.c:3063 +#: gcc.c:2934 msgid " -S Compile only; do not assemble or link\n" msgstr "" -#: gcc.c:3064 +#: gcc.c:2935 msgid " -c Compile and assemble, but do not link\n" msgstr "" -#: gcc.c:3065 +#: gcc.c:2936 msgid " -o <file> Place the output into <file>\n" msgstr "" -#: gcc.c:3066 +#: gcc.c:2937 msgid "" " -x <language> Specify the language of the following input " "files\n" @@ -5371,7 +5450,7 @@ msgid "" "extension\n" msgstr "" -#: gcc.c:3073 +#: gcc.c:2944 #, c-format msgid "" "\n" @@ -5380,86 +5459,89 @@ msgid "" " other options on to these processes the -W<letter> options must be used.\n" msgstr "" +#: gcc.c:3079 +#, c-format +msgid "`-%c' option must have argument" +msgstr "" + +#: gcc.c:3101 +#, c-format +msgid "couldn't run `%s': %s" +msgstr "" + #. translate_options () has turned --version into -fversion. -#: gcc.c:3353 +#: gcc.c:3278 #, c-format msgid "%s (GCC) %s\n" msgstr "" -#: gcc.c:3354 +#: gcc.c:3279 msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n" msgstr "" -#: gcc.c:3356 gcov.c:320 +#: gcc.c:3281 gcov.c:364 msgid "" "This is free software; see the source for copying conditions. There is NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" "\n" msgstr "" -#: gcc.c:3455 +#: gcc.c:3382 msgid "argument to `-Xlinker' is missing" msgstr "" -#: gcc.c:3463 +#: gcc.c:3390 msgid "argument to `-l' is missing" msgstr "" -#: gcc.c:3480 +#: gcc.c:3407 msgid "argument to `-specs' is missing" msgstr "" -#: gcc.c:3495 +#: gcc.c:3422 msgid "argument to `-specs=' is missing" msgstr "" -#: gcc.c:3526 -msgid "argument to `-b' is missing" +#: gcc.c:3452 +#, c-format +msgid "`-%c' must come at the start of the command line" msgstr "" -#: gcc.c:3541 +#: gcc.c:3461 msgid "argument to `-B' is missing" msgstr "" -#: gcc.c:3611 -msgid "argument to `-V' is missing" -msgstr "" - -#: gcc.c:3632 gcc.c:3639 gcc.c:3646 -msgid "invalid version number format" -msgstr "" - -#: gcc.c:3756 +#: gcc.c:3634 msgid "cannot specify -o with -c or -S and multiple compilations" msgstr "" -#: gcc.c:3927 +#: gcc.c:3807 msgid "warning: -pipe ignored because -save-temps specified" msgstr "" -#: gcc.c:3931 +#: gcc.c:3811 msgid "warning: -pipe ignored because -time specified" msgstr "" -#: gcc.c:3943 +#: gcc.c:3823 msgid "argument to `-x' is missing" msgstr "" -#: gcc.c:3971 +#: gcc.c:3851 #, c-format msgid "argument to `-%s' is missing" msgstr "" -#: gcc.c:4032 +#: gcc.c:3912 #, c-format msgid "warning: `-x %s' after last input file has no effect" msgstr "" -#: gcc.c:4331 +#: gcc.c:4257 msgid "invalid specification! Bug in cc" msgstr "" -#: gcc.c:4480 +#: gcc.c:4411 #, c-format msgid "%s\n" msgstr "" @@ -5467,153 +5549,182 @@ msgstr "" #. Catch the case where a spec string contains something like #. '%{foo:%*}'. ie there is no * in the pattern on the left #. hand side of the :. -#: gcc.c:5033 +#: gcc.c:4971 #, c-format msgid "spec failure: '%%*' has not been initialized by pattern match" msgstr "" -#: gcc.c:5042 +#: gcc.c:4980 #, c-format msgid "warning: use of obsolete %%[ operator in specs" msgstr "" -#: gcc.c:5060 +#: gcc.c:4998 #, c-format msgid "Processing spec %c%s%c, which is '%s'\n" msgstr "" -#: gcc.c:5185 +#: gcc.c:5123 #, c-format msgid "spec failure: unrecognized spec option '%c'" msgstr "" -#: gcc.c:5295 +#: gcc.c:5204 +#, c-format +msgid "unknown spec function `%s'" +msgstr "" + +#: gcc.c:5223 +#, c-format +msgid "error in args to spec function `%s'" +msgstr "" + +#: gcc.c:5272 +msgid "malformed spec function name" +msgstr "" + +#. ) +#: gcc.c:5275 +msgid "no arguments for spec function" +msgstr "" + +#: gcc.c:5294 +msgid "malformed spec function arguments" +msgstr "" + +#: gcc.c:5402 msgid "mismatched braces in specs" msgstr "" -#: gcc.c:5973 +#: gcc.c:6097 #, c-format msgid "unrecognized option `-%s'" msgstr "" -#: gcc.c:5979 +#: gcc.c:6103 #, c-format msgid "install: %s%s\n" msgstr "" -#: gcc.c:5980 +#: gcc.c:6104 #, c-format msgid "programs: %s\n" msgstr "" -#: gcc.c:5981 +#: gcc.c:6105 #, c-format msgid "libraries: %s\n" msgstr "" -#: gcc.c:6029 +#: gcc.c:6162 msgid "" "\n" "For bug reporting instructions, please see:\n" msgstr "" -#: gcc.c:6045 +#: gcc.c:6178 #, c-format msgid "Configured with: %s\n" msgstr "" -#: gcc.c:6059 +#: gcc.c:6192 #, c-format msgid "Thread model: %s\n" msgstr "" -#: gcc.c:6070 +#: gcc.c:6203 #, c-format msgid "gcc version %s\n" msgstr "" -#: gcc.c:6072 +#: gcc.c:6205 #, c-format msgid "gcc driver version %s executing gcc version %s\n" msgstr "" -#: gcc.c:6080 +#: gcc.c:6213 msgid "no input files" msgstr "" -#: gcc.c:6118 +#: gcc.c:6251 #, c-format msgid "%s: %s compiler not installed on this system" msgstr "" -#: gcc.c:6193 +#: gcc.c:6326 #, c-format msgid "%s: linker input file unused because linking not done" msgstr "" -#: gcc.c:6236 +#: gcc.c:6369 #, c-format msgid "language %s not recognized" msgstr "" -#: gcc.c:6339 +#: gcc.c:6472 msgid "internal gcc abort" msgstr "" -#: gcov.c:282 +#: gcov.c:325 msgid "Internal gcov abort.\n" msgstr "" -#: gcov.c:295 +#: gcov.c:338 msgid "" "Usage: gcov [OPTION]... SOURCEFILE\n" "\n" msgstr "" -#: gcov.c:296 +#: gcov.c:339 msgid "" "Print code coverage information.\n" "\n" msgstr "" -#: gcov.c:297 +#: gcov.c:340 msgid " -h, --help Print this help, then exit\n" msgstr "" -#: gcov.c:298 +#: gcov.c:341 msgid " -v, --version Print version number, then exit\n" msgstr "" -#: gcov.c:299 +#: gcov.c:342 msgid "" " -b, --branch-probabilities Include branch probabilities in output\n" msgstr "" -#: gcov.c:300 +#: gcov.c:343 msgid "" " -c, --branch-counts Given counts of branches taken\n" " rather than percentages\n" msgstr "" -#: gcov.c:302 +#: gcov.c:345 msgid " -n, --no-output Do not create an output file\n" msgstr "" -#: gcov.c:303 +#: gcov.c:346 msgid "" " -l, --long-file-names Use long output file names for included\n" " source files\n" msgstr "" -#: gcov.c:305 +#: gcov.c:348 msgid " -f, --function-summaries Output summaries for each function\n" msgstr "" -#: gcov.c:306 -msgid " -o, --object-directory OBJDIR Search for object files in OBJDIR\n" +#: gcov.c:349 +msgid "" +" -o, --object-directory DIR|FILE Search for object files in DIR or called " +"FILE\n" msgstr "" -#: gcov.c:307 +#: gcov.c:350 +msgid " -p, --preserve-paths Preserve all pathname components\n" +msgstr "" + +#: gcov.c:351 #, c-format msgid "" "\n" @@ -5621,265 +5732,463 @@ msgid "" "%s.\n" msgstr "" -#: gcov.c:317 +#: gcov.c:361 #, c-format msgid "gcov (GCC) %s\n" msgstr "" -#: gcov.c:318 +#: gcov.c:362 msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n" msgstr "" -#: gcov.c:462 +#: gcov.c:500 #, c-format msgid "Could not open basic block file %s.\n" msgstr "" -#: gcov.c:471 +#: gcov.c:507 +#, c-format +msgid "Could not open program flow graph file %s.\n" +msgstr "" + +#: gcov.c:524 #, c-format msgid "Could not open data file %s.\n" msgstr "" -#: gcov.c:472 +#: gcov.c:525 msgid "Assuming that all execution counts are zero.\n" msgstr "" -#: gcov.c:478 +#: gcov.c:534 #, c-format -msgid "Could not open program flow graph file %s.\n" +msgid "No executable code associated with file %s.\n" msgstr "" -#: gcov.c:489 +#: gcov.c:1186 #, c-format -msgid "No executable code associated with file %s.\n" +msgid "%s of %d lines executed in %s %s\n" msgstr "" -#: gcov.c:789 -msgid ".da file contents exhausted too early\n" +#: gcov.c:1191 +#, c-format +msgid "No executable lines in %s %s\n" msgstr "" -#: gcov.c:792 -msgid ".da file contents not exhausted\n" +#: gcov.c:1198 +#, c-format +msgid "%s of %d branches executed in %s %s\n" msgstr "" -#: gcov.c:973 +#: gcov.c:1203 #, c-format -msgid "%6.2f%% of %d source lines executed in function %s\n" +msgid "%s of %d branches taken at least once in %s %s\n" msgstr "" -#: gcov.c:977 +#: gcov.c:1209 #, c-format -msgid "No executable source lines in function %s\n" +msgid "No branches in %s %s\n" msgstr "" -#: gcov.c:984 +#: gcov.c:1211 #, c-format -msgid "%6.2f%% of %d branches executed in function %s\n" +msgid "%s of %d calls executed in %s %s\n" msgstr "" -#: gcov.c:988 +#: gcov.c:1216 #, c-format -msgid "%6.2f%% of %d branches taken at least once in function %s\n" +msgid "No calls in %s %s\n" msgstr "" -#: gcov.c:993 +#: gcov.c:1351 #, c-format -msgid "No branches in function %s\n" +msgid "didn't use all bb entries of graph, function %s\n" msgstr "" -#: gcov.c:995 +#: gcov.c:1353 #, c-format -msgid "%6.2f%% of %d calls executed in function %s\n" +msgid "block_num = %ld, num_blocks = %d\n" msgstr "" -#: gcov.c:999 +#: gcov.c:1367 #, c-format -msgid "No calls in function %s\n" +msgid "ERROR: unexpected line number %ld\n" msgstr "" -#: gcov.c:1126 +#: gcov.c:1383 #, c-format -msgid "didn't use all bb entries of graph, function %s\n" +msgid "ERROR: too many basic blocks in function %s\n" msgstr "" -#: gcov.c:1128 +#: gcov.c:1398 #, c-format -msgid "block_num = %ld, num_blocks = %d\n" +msgid "ERROR: out of range line number in function %s\n" msgstr "" -#: gcov.c:1166 +#: gcov.c:1470 #, c-format -msgid "ERROR: too many basic blocks in .bb file %s\n" +msgid "Could not open source file %s.\n" msgstr "" -#: gcov.c:1243 +#: gcov.c:1480 #, c-format -msgid "%6.2f%% of %d source lines executed in file %s\n" +msgid "Warning: source file %s is newer than %s\n" msgstr "" -#: gcov.c:1247 +#: gcov.c:1510 #, c-format -msgid "No executable source lines in file %s\n" +msgid "Unexpected EOF while reading source file %s.\n" msgstr "" -#: gcov.c:1254 +#: gcov.c:1532 #, c-format -msgid "%6.2f%% of %d branches executed in file %s\n" +msgid "call %2d never executed\n" msgstr "" -#: gcov.c:1258 +#: gcov.c:1535 #, c-format -msgid "%6.2f%% of %d branches taken at least once in file %s\n" +msgid "call %2d returns %s\n" msgstr "" -#: gcov.c:1263 +#: gcov.c:1543 #, c-format -msgid "No branches in file %s\n" +msgid "branch %2d never executed\n" msgstr "" -#: gcov.c:1265 +#: gcov.c:1546 #, c-format -msgid "%6.2f%% of %d calls executed in file %s\n" +msgid "branch %2d taken %s\n" msgstr "" -#: gcov.c:1269 +#: gcov.c:1610 #, c-format -msgid "No calls in file %s\n" +msgid "Creating %s.\n" msgstr "" -#: gcov.c:1281 +#: gcov.c:1613 #, c-format -msgid "Could not open source file %s.\n" +msgid "Error writing output file %s.\n" msgstr "" -#: gcov.c:1331 +#: gcov.c:1618 #, c-format msgid "Could not open output file %s.\n" msgstr "" -#: gcov.c:1339 +#: gcse.c:761 #, c-format -msgid "Creating %s.\n" +msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block" +msgstr "" + +#: gcse.c:773 +#, c-format +msgid "GCSE disabled: %d basic blocks and %d registers" msgstr "" -#: gcov.c:1387 +#: genautomata.c:1490 #, c-format -msgid "call %d never executed\n" +msgid "Name `%s' contains quotes" msgstr "" -#: gcov.c:1396 +#: genautomata.c:1621 #, c-format -msgid "call %d returns = %s\n" +msgid "invalid string `%s' in define_cpu_unit" msgstr "" -#: gcov.c:1406 +#: genautomata.c:1650 #, c-format -msgid "call %d returns = %s%%\n" +msgid "invalid string `%s' in define_query_cpu_unit" msgstr "" -#: gcov.c:1413 +#: genautomata.c:1682 genautomata.c:1685 #, c-format -msgid "branch %d never executed\n" +msgid "invalid string `%s' in define_bypass" msgstr "" -#: gcov.c:1423 +#: genautomata.c:1720 #, c-format -msgid "branch %d taken = %s\n" +msgid "invalid first string `%s' in exclusion_set" msgstr "" -#: gcov.c:1433 +#: genautomata.c:1724 #, c-format -msgid "branch %d taken = %s%%\n" +msgid "invalid second string `%s' in exclusion_set" msgstr "" -#: gcov.c:1444 +#: genautomata.c:1760 #, c-format -msgid "Unexpected EOF while reading source file %s.\n" +msgid "invalid first string `%s' in presence_set" msgstr "" -#: gcse.c:759 +#: genautomata.c:1764 #, c-format -msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block" +msgid "invalid second string `%s' in presence_set" msgstr "" -#: gcse.c:771 +#: genautomata.c:1800 #, c-format -msgid "GCSE disabled: %d basic blocks and %d registers" +msgid "invalid first string `%s' in absence_set" +msgstr "" + +#: genautomata.c:1804 +#, c-format +msgid "invalid second string `%s' in absence_set" msgstr "" -#: graph.c:421 profile.c:951 profile.c:959 toplev.c:1751 toplev.c:4884 -#: f/com.c:14293 java/jcf-parse.c:935 java/jcf-parse.c:1081 java/lex.c:1771 -#: objc/objc-act.c:490 +#: genautomata.c:1837 +#, c-format +msgid "invalid string `%s' in define_automaton" +msgstr "" + +#: genautomata.c:1868 +#, c-format +msgid "invalid option `%s' in automata_option" +msgstr "" + +#: genautomata.c:1890 +#, c-format +msgid "garbage after ) in reservation `%s'" +msgstr "" + +#: genautomata.c:1921 genautomata.c:1954 genautomata.c:1981 +#, c-format +msgid "invalid `%s' in reservation `%s'" +msgstr "" + +#: genautomata.c:1932 +#, c-format +msgid "repetition `%s' <= 1 in reservation `%s'" +msgstr "" + +#: genautomata.c:2425 +#, c-format +msgid "unit `%s' in exclusion is not declared" +msgstr "" + +#: genautomata.c:2427 +#, c-format +msgid "`%s' in exclusion is not unit" +msgstr "" + +#: genautomata.c:2465 +#, c-format +msgid "unit `%s' excludes itself" +msgstr "" + +#: genautomata.c:2473 +#, c-format +msgid "units `%s' and `%s' in exclusion set belong to different automata" +msgstr "" + +#: genautomata.c:2603 genautomata.c:2609 +#, c-format +msgid "unit `%s' excludes and requires presence of `%s'" +msgstr "" + +#: genautomata.c:2623 genautomata.c:2629 +#, c-format +msgid "unit `%s' requires absence and presence of `%s'" +msgstr "" + +#: genautomata.c:2692 genautomata.c:2695 +#, c-format +msgid "repeated declaration of automaton `%s'" +msgstr "" + +#: genautomata.c:2711 +#, c-format +msgid "define_insn_reservation `%s' has negative latency time" +msgstr "" + +#: genautomata.c:2717 +#, c-format +msgid "`%s' is already used as insn reservation name" +msgstr "" + +#: genautomata.c:2723 +#, c-format +msgid "define_bypass `%s - %s' has negative latency time" +msgstr "" + +#: genautomata.c:2737 +#, c-format +msgid "automaton `%s' is not declared" +msgstr "" + +#: genautomata.c:2747 +#, c-format +msgid "define_unit `%s' without automaton when one defined" +msgstr "" + +#: genautomata.c:2753 +#, c-format +msgid "`%s' is declared as cpu unit" +msgstr "" + +#: genautomata.c:2762 +#, c-format +msgid "`%s' is declared as cpu reservation" +msgstr "" + +#: genautomata.c:2772 +#, c-format +msgid "repeated declaration of unit `%s'" +msgstr "" + +#: genautomata.c:2775 +#, c-format +msgid "repeated declaration of reservation `%s'" +msgstr "" + +#: genautomata.c:2790 genautomata.c:2793 +#, c-format +msgid "there is no insn reservation `%s'" +msgstr "" + +#: genautomata.c:2810 genautomata.c:2815 +#, c-format +msgid "the same bypass `%s - %s' is already defined" +msgstr "" + +#: genautomata.c:2820 +#, c-format +msgid "bypass `%s - %s' is already defined" +msgstr "" + +#: genautomata.c:2925 genautomata.c:2927 +#, c-format +msgid "automaton `%s' is not used" +msgstr "" + +#: genautomata.c:2950 +#, c-format +msgid "undeclared unit or reservation `%s'" +msgstr "" + +#: genautomata.c:3028 genautomata.c:3030 +#, c-format +msgid "unit `%s' is not used" +msgstr "" + +#: genautomata.c:3035 genautomata.c:3037 +#, c-format +msgid "reservation `%s' is not used" +msgstr "" + +#: genautomata.c:3134 +#, c-format +msgid "cycle in definition of reservation `%s'" +msgstr "" + +#: genautomata.c:5333 +#, c-format +msgid "Units `%s' and `%s' should be in the same automaton" +msgstr "" + +#: genautomata.c:9441 +msgid "-split has no argument." +msgstr "" + +#: genautomata.c:9442 +msgid "option `-split' has not been implemented yet\n" +msgstr "" + +#: genautomata.c:9486 genautomata.c:9491 +#, c-format +msgid "Automaton `%s': Insn `%s' will never be issued" +msgstr "" + +#: genautomata.c:9498 genautomata.c:9501 +#, c-format +msgid "Insn `%s' will never be issued" +msgstr "" + +#: genautomata.c:9649 +msgid "Errors in DFA description" +msgstr "" + +#: genautomata.c:9732 +#, c-format +msgid "Error in writing DFA description file %s" +msgstr "" + +#: genconditions.c:196 +msgid "No input file name." +msgstr "" + +#: graph.c:420 profile.c:1204 profile.c:1211 toplev.c:1836 toplev.c:5121 +#: f/com.c:14138 java/jcf-parse.c:913 java/jcf-parse.c:1059 java/lex.c:1767 +#: objc/objc-act.c:449 #, c-format msgid "can't open %s" msgstr "" -#: haifa-sched.c:190 +#: haifa-sched.c:196 #, c-format msgid "fix_sched_param: unknown param: %s" msgstr "" -#: integrate.c:186 +#: integrate.c:172 msgid "function cannot be inline" msgstr "" -#: integrate.c:191 +#: integrate.c:176 msgid "varargs function cannot be inline" msgstr "" -#: integrate.c:194 +#: integrate.c:179 msgid "function using alloca cannot be inline" msgstr "" -#: integrate.c:197 +#: integrate.c:182 msgid "function using setjmp cannot be inline" msgstr "" -#: integrate.c:200 +#: integrate.c:185 msgid "function uses __builtin_eh_return" msgstr "" -#: integrate.c:203 +#: integrate.c:188 msgid "function with nested functions cannot be inline" msgstr "" -#: integrate.c:207 +#: integrate.c:192 msgid "function with label addresses used in initializers cannot inline" msgstr "" -#: integrate.c:214 integrate.c:258 +#: integrate.c:199 integrate.c:243 msgid "function too large to be inline" msgstr "" -#: integrate.c:224 +#: integrate.c:209 msgid "no prototype, and parameter address used; cannot be inline" msgstr "" -#: integrate.c:231 integrate.c:276 +#: integrate.c:216 integrate.c:261 msgid "inline functions not supported for this return value type" msgstr "" -#: integrate.c:236 +#: integrate.c:221 msgid "function with varying-size return value cannot be inline" msgstr "" -#: integrate.c:243 +#: integrate.c:228 msgid "function with varying-size parameter cannot be inline" msgstr "" -#: integrate.c:246 +#: integrate.c:231 msgid "function with transparent unit parameter cannot be inline" msgstr "" -#: integrate.c:265 +#: integrate.c:250 msgid "function with computed jump cannot inline" msgstr "" -#: integrate.c:269 +#: integrate.c:254 msgid "function with nonlocal goto cannot be inline" msgstr "" -#: integrate.c:283 +#: integrate.c:268 msgid "function with target specific attribute(s) cannot be inlined" msgstr "" @@ -5913,55 +6222,56 @@ msgstr "" msgid "invalid parameter `%s'" msgstr "" -#: profile.c:430 +#: profile.c:397 #, c-format -msgid "corrupted profile info: prob for %d-%d thought to be %d" +msgid "Profile does not match flowgraph of function %s (out of date?)" msgstr "" -#: profile.c:976 -#, c-format -msgid "file %s not found, execution counts assumed to be zero" +#: profile.c:400 +msgid ".da file corrupted" msgstr "" -#: profile.c:1023 -msgid ".da file contents exhausted too early" +#: profile.c:634 +#, c-format +msgid "corrupted profile info: prob for %d-%d thought to be %d" msgstr "" -#: profile.c:1026 -msgid ".da file contents not exhausted" +#: profile.c:1226 +#, c-format +msgid "file %s not found, execution counts assumed to be zero" msgstr "" -#: protoize.c:546 +#: protoize.c:542 #, c-format msgid "%s: internal abort\n" msgstr "" -#: protoize.c:637 +#: protoize.c:633 #, c-format msgid "%s: error writing file `%s': %s\n" msgstr "" -#: protoize.c:682 +#: protoize.c:678 #, c-format msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n" msgstr "" -#: protoize.c:685 +#: protoize.c:681 #, c-format msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n" msgstr "" -#: protoize.c:792 +#: protoize.c:788 #, c-format msgid "%s: warning: no read access for file `%s'\n" msgstr "" -#: protoize.c:800 +#: protoize.c:796 #, c-format msgid "%s: warning: no write access for file `%s'\n" msgstr "" -#: protoize.c:808 +#: protoize.c:804 #, c-format msgid "%s: warning: no write access for dir containing `%s'\n" msgstr "" @@ -5969,568 +6279,517 @@ msgstr "" #. Catch cases like /.. where we try to backup to a #. point above the absolute root of the logical file #. system. -#: protoize.c:1226 +#: protoize.c:1222 #, c-format msgid "%s: invalid file name: %s\n" msgstr "" -#: protoize.c:1378 +#: protoize.c:1374 #, c-format msgid "%s: %s: can't get status: %s\n" msgstr "" -#: protoize.c:1399 +#: protoize.c:1395 #, c-format msgid "" "\n" "%s: fatal error: aux info file corrupted at line %d\n" msgstr "" -#: protoize.c:1735 +#: protoize.c:1731 #, c-format msgid "%s:%d: declaration of function `%s' takes different forms\n" msgstr "" -#: protoize.c:1993 +#: protoize.c:1989 #, c-format msgid "%s: compiling `%s'\n" msgstr "" -#: protoize.c:2016 +#: protoize.c:2012 #, c-format msgid "%s: wait: %s\n" msgstr "" -#: protoize.c:2021 +#: protoize.c:2017 #, c-format msgid "%s: subprocess got fatal signal %d\n" msgstr "" -#: protoize.c:2029 +#: protoize.c:2025 #, c-format msgid "%s: %s exited with status %d\n" msgstr "" -#: protoize.c:2081 +#: protoize.c:2077 #, c-format msgid "%s: warning: missing SYSCALLS file `%s'\n" msgstr "" -#: protoize.c:2090 protoize.c:2119 +#: protoize.c:2086 protoize.c:2115 #, c-format msgid "%s: can't read aux info file `%s': %s\n" msgstr "" -#: protoize.c:2135 protoize.c:2163 +#: protoize.c:2131 protoize.c:2159 #, c-format msgid "%s: can't get status of aux info file `%s': %s\n" msgstr "" -#: protoize.c:2191 +#: protoize.c:2187 #, c-format msgid "%s: can't open aux info file `%s' for reading: %s\n" msgstr "" -#: protoize.c:2209 +#: protoize.c:2205 #, c-format msgid "%s: error reading aux info file `%s': %s\n" msgstr "" -#: protoize.c:2222 +#: protoize.c:2218 #, c-format msgid "%s: error closing aux info file `%s': %s\n" msgstr "" -#: protoize.c:2238 +#: protoize.c:2234 #, c-format msgid "%s: can't delete aux info file `%s': %s\n" msgstr "" -#: protoize.c:2320 protoize.c:4322 +#: protoize.c:2316 protoize.c:4318 #, c-format msgid "%s: can't delete file `%s': %s\n" msgstr "" -#: protoize.c:2399 +#: protoize.c:2395 #, c-format msgid "%s: warning: can't rename file `%s' to `%s': %s\n" msgstr "" -#: protoize.c:2524 +#: protoize.c:2520 #, c-format msgid "%s: conflicting extern definitions of '%s'\n" msgstr "" -#: protoize.c:2528 +#: protoize.c:2524 #, c-format msgid "%s: declarations of '%s' will not be converted\n" msgstr "" -#: protoize.c:2530 +#: protoize.c:2526 #, c-format msgid "%s: conflict list for '%s' follows:\n" msgstr "" -#: protoize.c:2563 +#: protoize.c:2559 #, c-format msgid "%s: warning: using formals list from %s(%d) for function `%s'\n" msgstr "" -#: protoize.c:2603 +#: protoize.c:2599 #, c-format msgid "%s: %d: `%s' used but missing from SYSCALLS\n" msgstr "" -#: protoize.c:2609 +#: protoize.c:2605 #, c-format msgid "%s: %d: warning: no extern definition for `%s'\n" msgstr "" -#: protoize.c:2640 +#: protoize.c:2636 #, c-format msgid "%s: warning: no static definition for `%s' in file `%s'\n" msgstr "" -#: protoize.c:2646 +#: protoize.c:2642 #, c-format msgid "%s: multiple static defs of `%s' in file `%s'\n" msgstr "" -#: protoize.c:2819 protoize.c:2822 +#: protoize.c:2815 protoize.c:2818 #, c-format msgid "%s: %d: warning: source too confusing\n" msgstr "" -#: protoize.c:3028 +#: protoize.c:3024 #, c-format msgid "%s: %d: warning: varargs function declaration not converted\n" msgstr "" -#: protoize.c:3043 +#: protoize.c:3039 #, c-format msgid "%s: declaration of function `%s' not converted\n" msgstr "" -#: protoize.c:3166 +#: protoize.c:3162 #, c-format msgid "%s: warning: too many parameter lists in declaration of `%s'\n" msgstr "" -#: protoize.c:3187 +#: protoize.c:3183 #, c-format msgid "" "\n" "%s: warning: too few parameter lists in declaration of `%s'\n" msgstr "" -#: protoize.c:3285 +#: protoize.c:3281 #, c-format msgid "%s: %d: warning: found `%s' but expected `%s'\n" msgstr "" -#: protoize.c:3463 +#: protoize.c:3459 #, c-format msgid "%s: local declaration for function `%s' not inserted\n" msgstr "" -#: protoize.c:3490 +#: protoize.c:3486 #, c-format msgid "" "\n" "%s: %d: warning: can't add declaration of `%s' into macro call\n" msgstr "" -#: protoize.c:3564 +#: protoize.c:3560 #, c-format msgid "%s: global declarations for file `%s' not inserted\n" msgstr "" -#: protoize.c:3655 protoize.c:3685 +#: protoize.c:3651 protoize.c:3681 #, c-format msgid "%s: definition of function `%s' not converted\n" msgstr "" -#: protoize.c:3674 +#: protoize.c:3670 #, c-format msgid "%s: %d: warning: definition of %s not converted\n" msgstr "" -#: protoize.c:4004 +#: protoize.c:4000 #, c-format msgid "%s: found definition of `%s' at %s(%d)\n" msgstr "" #. If we make it here, then we did not know about this #. function definition. -#: protoize.c:4020 +#: protoize.c:4016 #, c-format msgid "%s: %d: warning: `%s' excluded by preprocessing\n" msgstr "" -#: protoize.c:4023 +#: protoize.c:4019 #, c-format msgid "%s: function definition not converted\n" msgstr "" -#: protoize.c:4082 +#: protoize.c:4078 #, c-format msgid "%s: `%s' not converted\n" msgstr "" -#: protoize.c:4090 +#: protoize.c:4086 #, c-format msgid "%s: would convert file `%s'\n" msgstr "" -#: protoize.c:4093 +#: protoize.c:4089 #, c-format msgid "%s: converting file `%s'\n" msgstr "" -#: protoize.c:4103 +#: protoize.c:4099 #, c-format msgid "%s: can't get status for file `%s': %s\n" msgstr "" -#: protoize.c:4145 +#: protoize.c:4141 #, c-format msgid "%s: can't open file `%s' for reading: %s\n" msgstr "" -#: protoize.c:4160 +#: protoize.c:4156 #, c-format msgid "" "\n" "%s: error reading input file `%s': %s\n" msgstr "" -#: protoize.c:4194 +#: protoize.c:4190 #, c-format msgid "%s: can't create/open clean file `%s': %s\n" msgstr "" -#: protoize.c:4299 +#: protoize.c:4295 #, c-format msgid "%s: warning: file `%s' already saved in `%s'\n" msgstr "" -#: protoize.c:4307 +#: protoize.c:4303 #, c-format msgid "%s: can't link file `%s' to `%s': %s\n" msgstr "" -#: protoize.c:4337 +#: protoize.c:4333 #, c-format msgid "%s: can't create/open output file `%s': %s\n" msgstr "" -#: protoize.c:4370 +#: protoize.c:4366 #, c-format msgid "%s: can't change mode of file `%s': %s\n" msgstr "" -#: protoize.c:4545 +#: protoize.c:4541 #, c-format msgid "%s: cannot get working directory: %s\n" msgstr "" -#: protoize.c:4643 +#: protoize.c:4639 #, c-format msgid "%s: input file names must have .c suffixes: %s\n" msgstr "" -#: real.c:731 real.c:908 -msgid "conversion from NaN to int" -msgstr "" - -#: real.c:754 -msgid "conversion from NaN to unsigned int" -msgstr "" - -#: real.c:2628 -msgid "floating point overflow" -msgstr "" - -#: real.c:4303 real.c:6619 real.c:6700 -msgid "overflow on truncation to integer" +#: ra.c:750 +msgid "Didn't find a coloring.\n" msgstr "" -#: real.c:4375 -msgid "overflow on truncation to unsigned integer" -msgstr "" - -#: real.c:5720 -#, c-format -msgid "%s: argument domain error" -msgstr "" - -#: real.c:5721 -#, c-format -msgid "%s: function singularity" -msgstr "" - -#: real.c:5722 -#, c-format -msgid "%s: overflow range error" -msgstr "" - -#: real.c:5723 -#, c-format -msgid "%s: underflow range error" -msgstr "" - -#: real.c:5724 -#, c-format -msgid "%s: total loss of precision" -msgstr "" - -#: real.c:5725 -#, c-format -msgid "%s: partial loss of precision" -msgstr "" - -#: real.c:5726 -#, c-format -msgid "%s: NaN - producing operation" -msgstr "" - -#: real.c:6270 -#, c-format -msgid "%d-bit floats cannot hold NaNs" -msgstr "" - -#: real.c:6344 -#, c-format -msgid "value exceeds the range of a %d-bit float" -msgstr "" - -#: reg-stack.c:677 +#: reg-stack.c:673 #, c-format msgid "output constraint %d must specify a single register" msgstr "" -#: reg-stack.c:687 +#: reg-stack.c:683 #, c-format msgid "output constraint %d cannot be specified together with \"%s\" clobber" msgstr "" -#: reg-stack.c:710 +#: reg-stack.c:706 msgid "output regs must be grouped at top of stack" msgstr "" -#: reg-stack.c:747 +#: reg-stack.c:743 msgid "implicitly popped regs must be grouped at top of stack" msgstr "" -#: reg-stack.c:766 +#: reg-stack.c:762 #, c-format msgid "output operand %d must use `&' constraint" msgstr "" -#: regclass.c:778 +#: regclass.c:753 #, c-format msgid "can't use '%s' as a %s register" msgstr "" -#: regclass.c:793 config/ia64/ia64.c:3875 config/ia64/ia64.c:3882 +#: regclass.c:768 config/ia64/ia64.c:4169 config/ia64/ia64.c:4176 #, c-format msgid "unknown register name: %s" msgstr "" -#: regclass.c:804 +#: regclass.c:779 msgid "global register variable follows a function definition" msgstr "" -#: regclass.c:808 +#: regclass.c:783 msgid "register used for two global register variables" msgstr "" -#: regclass.c:813 +#: regclass.c:788 msgid "call-clobbered register used for global register variable" msgstr "" -#: regrename.c:1845 +#: regrename.c:1899 #, c-format msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)" msgstr "" -#: regrename.c:1857 +#: regrename.c:1911 #, c-format msgid "validate_value_data: Loop in regno chain (%u)" msgstr "" -#: regrename.c:1860 +#: regrename.c:1914 #, c-format msgid "validate_value_data: [%u] Bad oldest_regno (%u)" msgstr "" -#: regrename.c:1872 +#: regrename.c:1926 #, c-format msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)" msgstr "" -#: reload.c:1208 +#: reload.c:1225 msgid "cannot reload integer constant operand in `asm'" msgstr "" -#: reload.c:1230 +#: reload.c:1247 msgid "impossible register constraint in `asm'" msgstr "" -#: reload.c:3377 +#: reload.c:3467 msgid "`&' constraint used with no register class" msgstr "" -#: reload.c:3545 +#: reload.c:3635 msgid "unable to generate reloads for:" msgstr "" -#: reload.c:3546 reload.c:3760 +#: reload.c:3636 reload.c:3850 msgid "inconsistent operand constraints in an `asm'" msgstr "" -#: reload1.c:1247 +#: reload1.c:1255 msgid "frame size too large for reliable stack checking" msgstr "" -#: reload1.c:1250 +#: reload1.c:1258 msgid "try reducing the number of local variables" msgstr "" -#: reload1.c:1902 +#: reload1.c:1914 #, c-format msgid "can't find a register in class `%s' while reloading `asm'" msgstr "" -#: reload1.c:1906 +#: reload1.c:1918 #, c-format msgid "unable to find a register to spill in class `%s'" msgstr "" -#: reload1.c:1908 +#: reload1.c:1920 msgid "this is the insn:" msgstr "" -#: reload1.c:3924 +#: reload1.c:3941 msgid "`asm' operand requires impossible reload" msgstr "" #. It's the compiler's fault. -#: reload1.c:5040 +#: reload1.c:5055 msgid "could not find a spill register" msgstr "" -#: reload1.c:5045 +#: reload1.c:5060 msgid "`asm' operand constraint incompatible with operand size" msgstr "" #. It's the compiler's fault. -#: reload1.c:6639 +#: reload1.c:6680 msgid "VOIDmode on an output" msgstr "" -#: reload1.c:6640 +#: reload1.c:6681 msgid "output operand is constant in `asm'" msgstr "" -#: rtl-error.c:139 +#: rtl-error.c:140 msgid "unrecognizable insn:" msgstr "" -#: rtl-error.c:141 +#: rtl-error.c:142 msgid "insn does not satisfy its constraints:" msgstr "" -#: rtl.c:563 +#: rtl.c:558 #, c-format msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d" msgstr "" -#: rtl.c:578 +#: rtl.c:573 #, c-format msgid "" "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d" msgstr "" -#: rtl.c:594 +#: rtl.c:589 #, c-format msgid "" "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %" "s:%d" msgstr "" -#: rtl.c:607 +#: rtl.c:602 #, c-format msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d" msgstr "" -#: rtl.c:621 +#: rtl.c:616 #, c-format msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d" msgstr "" -#: rtl.c:636 +#: rtl.c:631 #, c-format msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d" msgstr "" -#: stmt.c:928 +#: rtl.c:646 +#, c-format +msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d" +msgstr "" + +#: stmt.c:753 #, c-format msgid "jump to `%s' invalidly jumps into binding contour" msgstr "" -#: stmt.c:1164 stmt.c:3763 +#: stmt.c:989 stmt.c:3731 #, c-format msgid "label `%s' used before containing binding contour" msgstr "" -#: stmt.c:1344 +#: stmt.c:1169 msgid "output operand constraint lacks `='" msgstr "" -#: stmt.c:1359 +#: stmt.c:1184 #, c-format msgid "output constraint `%c' for operand %d is not at the beginning" msgstr "" -#: stmt.c:1381 +#: stmt.c:1206 msgid "operand constraint contains incorrectly positioned '+' or '='" msgstr "" -#: stmt.c:1387 stmt.c:1487 +#: stmt.c:1212 stmt.c:1316 #, c-format msgid "`%%' constraint used with last operand" msgstr "" -#: stmt.c:1406 +#: stmt.c:1231 msgid "matching constraint not valid in output operand" msgstr "" -#: stmt.c:1478 +#: stmt.c:1307 #, c-format msgid "input operand constraint contains `%c'" msgstr "" -#: stmt.c:1518 +#: stmt.c:1347 msgid "matching constraint references invalid operand number" msgstr "" -#: stmt.c:1550 +#: stmt.c:1379 #, c-format msgid "invalid punctuation `%c' in constraint" msgstr "" -#: stmt.c:1646 +#: stmt.c:1429 +#, c-format +msgid "asm-specifier for variable `%s' conflicts with asm clobber list" +msgstr "" + +#: stmt.c:1519 #, c-format msgid "unknown register name `%s' in `asm'" msgstr "" -#: stmt.c:1690 +#: stmt.c:1567 #, c-format msgid "more than %d operands in `asm'" msgstr "" -#: stmt.c:1749 +#: stmt.c:1626 #, c-format msgid "output number %d not directly addressable" msgstr "" @@ -6538,99 +6797,107 @@ msgstr "" #. ??? Leave this only until we have experience with what #. happens in combine and elsewhere when constraints are #. not satisfied. -#: stmt.c:1818 stmt.c:1847 +#: stmt.c:1698 stmt.c:1727 #, c-format msgid "asm operand %d probably doesn't match constraints" msgstr "" -#: stmt.c:1993 +#: stmt.c:1858 +msgid "asm clobber conflict with output operand" +msgstr "" + +#: stmt.c:1863 +msgid "asm clobber conflict with input operand" +msgstr "" + +#: stmt.c:1898 msgid "too many alternatives in `asm'" msgstr "" -#: stmt.c:2005 +#: stmt.c:1910 msgid "operand constraints for `asm' differ in number of alternatives" msgstr "" -#: stmt.c:2058 +#: stmt.c:1963 #, c-format msgid "duplicate asm operand name '%s'" msgstr "" -#: stmt.c:2145 +#: stmt.c:2050 msgid "missing close brace for named operand" msgstr "" -#: stmt.c:2173 +#: stmt.c:2078 #, c-format msgid "undefined named operand '%s'" msgstr "" -#: stmt.c:3700 +#: stmt.c:3668 #, c-format msgid "unused variable `%s'" msgstr "" -#: stmt.c:5180 +#: stmt.c:5149 #, c-format msgid "enumeration value `%s' not handled in switch" msgstr "" -#: stmt.c:5205 stmt.c:5225 +#: stmt.c:5174 stmt.c:5194 #, c-format msgid "case value `%ld' not in enumerated type" msgstr "" -#: stmt.c:5208 stmt.c:5228 +#: stmt.c:5177 stmt.c:5197 #, c-format msgid "case value `%ld' not in enumerated type `%s'" msgstr "" -#: stmt.c:5315 +#: stmt.c:5270 msgid "switch missing default case" msgstr "" -#: stor-layout.c:175 +#: stor-layout.c:178 msgid "type size can't be explicitly evaluated" msgstr "" -#: stor-layout.c:177 +#: stor-layout.c:180 msgid "variable-size type declared outside of any function" msgstr "" -#: stor-layout.c:458 +#: stor-layout.c:461 #, c-format msgid "size of `%s' is %d bytes" msgstr "" -#: stor-layout.c:460 +#: stor-layout.c:463 #, c-format msgid "size of `%s' is larger than %d bytes" msgstr "" -#: stor-layout.c:858 stor-layout.c:1159 +#: stor-layout.c:869 stor-layout.c:1285 #, c-format msgid "packed attribute causes inefficient alignment for `%s'" msgstr "" -#: stor-layout.c:860 stor-layout.c:1161 +#: stor-layout.c:871 stor-layout.c:1287 #, c-format msgid "packed attribute is unnecessary for `%s'" msgstr "" -#: stor-layout.c:875 +#: stor-layout.c:886 #, c-format msgid "padding struct to align `%s'" msgstr "" -#: stor-layout.c:1123 +#: stor-layout.c:1249 msgid "padding struct size to alignment boundary" msgstr "" -#: stor-layout.c:1166 +#: stor-layout.c:1292 msgid "packed attribute causes inefficient alignment" msgstr "" -#: stor-layout.c:1168 +#: stor-layout.c:1294 msgid "packed attribute is unnecessary" msgstr "" @@ -6650,1008 +6917,1038 @@ msgstr "" msgid "time in %s: %ld.%06ld (%ld%%)\n" msgstr "" -#: tlink.c:428 +#: tlink.c:399 #, c-format msgid "collect: reading %s\n" msgstr "" -#: tlink.c:532 +#: tlink.c:502 #, c-format msgid "collect: recompiling %s\n" msgstr "" -#: tlink.c:698 +#: tlink.c:668 #, c-format msgid "collect: tweaking %s in %s\n" msgstr "" -#: tlink.c:745 +#: tlink.c:715 msgid "collect: relinking\n" msgstr "" -#: tlink.c:754 +#: tlink.c:724 #, c-format msgid "ld returned %d exit status" msgstr "" -#: toplev.c:875 +#: toplev.c:920 msgid "Generate debugging info in default format" msgstr "" -#: toplev.c:876 +#: toplev.c:921 msgid "Generate debugging info in default extended format" msgstr "" -#: toplev.c:878 +#: toplev.c:923 msgid "Generate STABS format debug info" msgstr "" -#: toplev.c:879 +#: toplev.c:924 msgid "Generate extended STABS format debug info" msgstr "" -#: toplev.c:882 +#: toplev.c:927 msgid "Generate DWARF-1 format debug info" msgstr "" -#: toplev.c:884 +#: toplev.c:929 msgid "Generate extended DWARF-1 format debug info" msgstr "" -#: toplev.c:887 +#: toplev.c:932 msgid "Generate DWARF-2 debug info" msgstr "" -#: toplev.c:890 +#: toplev.c:935 msgid "Generate XCOFF format debug info" msgstr "" -#: toplev.c:891 +#: toplev.c:936 msgid "Generate extended XCOFF format debug info" msgstr "" -#: toplev.c:894 +#: toplev.c:939 msgid "Generate COFF format debug info" msgstr "" -#: toplev.c:897 +#: toplev.c:942 msgid "Generate VMS format debug info" msgstr "" -#: toplev.c:941 +#: toplev.c:981 msgid "Perform DWARF2 duplicate elimination" msgstr "" -#: toplev.c:943 +#: toplev.c:983 msgid "Do not store floats in registers" msgstr "" -#: toplev.c:945 +#: toplev.c:985 msgid "Consider all mem refs through pointers as volatile" msgstr "" -#: toplev.c:947 +#: toplev.c:987 msgid "Consider all mem refs to global data to be volatile" msgstr "" -#: toplev.c:949 +#: toplev.c:989 msgid "Consider all mem refs to static data to be volatile" msgstr "" -#: toplev.c:951 +#: toplev.c:991 msgid "Defer popping functions args from stack until later" msgstr "" -#: toplev.c:953 +#: toplev.c:993 msgid "When possible do not generate stack frames" msgstr "" -#: toplev.c:955 +#: toplev.c:995 msgid "Optimize sibling and tail recursive calls" msgstr "" -#: toplev.c:957 +#: toplev.c:997 +msgid "Perform superblock formation via tail duplication" +msgstr "" + +#: toplev.c:999 msgid "When running CSE, follow jumps to their targets" msgstr "" -#: toplev.c:959 +#: toplev.c:1001 msgid "When running CSE, follow conditional jumps" msgstr "" -#: toplev.c:961 +#: toplev.c:1003 msgid "Perform a number of minor, expensive optimizations" msgstr "" -#: toplev.c:963 +#: toplev.c:1005 msgid "Perform jump threading optimizations" msgstr "" -#: toplev.c:965 +#: toplev.c:1007 msgid "Perform strength reduction optimizations" msgstr "" -#: toplev.c:967 +#: toplev.c:1009 msgid "Perform loop unrolling when iteration count is known" msgstr "" -#: toplev.c:969 +#: toplev.c:1011 msgid "Perform loop unrolling for all loops" msgstr "" -#: toplev.c:971 +#: toplev.c:1013 msgid "Generate prefetch instructions, if available, for arrays in loops" msgstr "" -#: toplev.c:973 +#: toplev.c:1015 msgid "Force all loop invariant computations out of loops" msgstr "" -#: toplev.c:975 +#: toplev.c:1017 msgid "Strength reduce all loop general induction variables" msgstr "" -#: toplev.c:977 +#: toplev.c:1019 msgid "Store strings in writable data section" msgstr "" -#: toplev.c:979 +#: toplev.c:1021 msgid "Enable machine specific peephole optimizations" msgstr "" -#: toplev.c:981 +#: toplev.c:1023 msgid "Copy memory operands into registers before using" msgstr "" -#: toplev.c:983 +#: toplev.c:1025 msgid "Copy memory address constants into regs before using" msgstr "" -#: toplev.c:985 +#: toplev.c:1027 msgid "Allow function addresses to be held in registers" msgstr "" -#: toplev.c:987 +#: toplev.c:1029 msgid "Integrate simple functions into their callers" msgstr "" -#: toplev.c:989 +#: toplev.c:1031 msgid "Generate code for funcs even if they are fully inlined" msgstr "" -#: toplev.c:991 +#: toplev.c:1033 msgid "Pay attention to the 'inline' keyword" msgstr "" -#: toplev.c:993 +#: toplev.c:1035 msgid "Emit static const variables even if they are not used" msgstr "" -#: toplev.c:995 +#: toplev.c:1037 msgid "Check for syntax errors, then stop" msgstr "" -#: toplev.c:997 +#: toplev.c:1039 msgid "Mark data as shared rather than private" msgstr "" -#: toplev.c:999 +#: toplev.c:1041 msgid "Enable saving registers around function calls" msgstr "" -#: toplev.c:1001 +#: toplev.c:1043 msgid "Return 'short' aggregates in memory, not registers" msgstr "" -#: toplev.c:1003 +#: toplev.c:1045 msgid "Return 'short' aggregates in registers" msgstr "" -#: toplev.c:1005 +#: toplev.c:1047 msgid "Attempt to fill delay slots of branch instructions" msgstr "" -#: toplev.c:1007 +#: toplev.c:1049 msgid "Perform the global common subexpression elimination" msgstr "" -#: toplev.c:1009 +#: toplev.c:1051 msgid "Perform enhanced load motion during global subexpression elimination" msgstr "" -#: toplev.c:1011 +#: toplev.c:1053 msgid "Perform store motion after global subexpression elimination" msgstr "" -#: toplev.c:1013 +#: toplev.c:1055 msgid "Perform the loop optimizations" msgstr "" -#: toplev.c:1015 +#: toplev.c:1057 msgid "Perform cross-jumping optimization" msgstr "" -#: toplev.c:1017 +#: toplev.c:1059 +msgid "Perform conversion of conditional jumps to branchless equivalents" +msgstr "" + +#: toplev.c:1061 +msgid "Perform conversion of conditional jumps to conditional execution" +msgstr "" + +#: toplev.c:1063 msgid "Run CSE pass after loop optimizations" msgstr "" -#: toplev.c:1019 +#: toplev.c:1065 msgid "Run the loop optimizer twice" msgstr "" -#: toplev.c:1021 +#: toplev.c:1067 msgid "Delete useless null pointer checks" msgstr "" -#: toplev.c:1023 +#: toplev.c:1069 msgid "Reschedule instructions before register allocation" msgstr "" -#: toplev.c:1025 +#: toplev.c:1071 msgid "Reschedule instructions after register allocation" msgstr "" -#: toplev.c:1027 +#: toplev.c:1073 msgid "Enable scheduling across basic blocks" msgstr "" -#: toplev.c:1029 +#: toplev.c:1075 msgid "Allow speculative motion of non-loads" msgstr "" -#: toplev.c:1031 +#: toplev.c:1077 msgid "Allow speculative motion of some loads" msgstr "" -#: toplev.c:1033 +#: toplev.c:1079 msgid "Allow speculative motion of more loads" msgstr "" -#: toplev.c:1035 +#: toplev.c:1081 msgid "Replace add,compare,branch with branch on count reg" msgstr "" -#: toplev.c:1037 +#: toplev.c:1083 msgid "Generate position independent code, if possible" msgstr "" -#: toplev.c:1040 +#: toplev.c:1086 msgid "Enable exception handling" msgstr "" -#: toplev.c:1042 +#: toplev.c:1088 msgid "Just generate unwind tables for exception handling" msgstr "" -#: toplev.c:1044 +#: toplev.c:1090 msgid "Generate unwind tables exact at each instruction boundary" msgstr "" -#: toplev.c:1046 +#: toplev.c:1092 msgid "Support synchronous non-call exceptions" msgstr "" -#: toplev.c:1048 +#: toplev.c:1094 msgid "Insert arc based program profiling code" msgstr "" -#: toplev.c:1050 +#: toplev.c:1096 msgid "Create data files needed by gcov" msgstr "" -#: toplev.c:1052 +#: toplev.c:1098 msgid "Use profiling information for branch probabilities" msgstr "" -#: toplev.c:1054 +#: toplev.c:1100 +msgid "Enable basic program profiling code" +msgstr "" + +#: toplev.c:1102 msgid "Reorder basic blocks to improve code placement" msgstr "" -#: toplev.c:1056 +#: toplev.c:1104 +msgid "Reorder functions to improve code placement" +msgstr "" + +#: toplev.c:1106 msgid "Do the register renaming optimization pass" msgstr "" -#: toplev.c:1058 +#: toplev.c:1108 msgid "Do the register copy-propagation optimization pass" msgstr "" -#: toplev.c:1060 +#: toplev.c:1110 msgid "Do not put uninitialized globals in the common section" msgstr "" -#: toplev.c:1062 +#: toplev.c:1112 msgid "Do not generate .size directives" msgstr "" -#: toplev.c:1064 +#: toplev.c:1114 msgid "place each function into its own section" msgstr "" -#: toplev.c:1066 +#: toplev.c:1116 msgid "place data items into their own section" msgstr "" -#: toplev.c:1068 +#: toplev.c:1118 msgid "Add extra commentry to assembler output" msgstr "" -#: toplev.c:1070 +#: toplev.c:1120 msgid "Output GNU ld formatted global initializers" msgstr "" -#: toplev.c:1072 +#: toplev.c:1122 msgid "Enables a register move optimization" msgstr "" -#: toplev.c:1074 +#: toplev.c:1124 msgid "Do the full regmove optimization pass" msgstr "" -#: toplev.c:1076 +#: toplev.c:1126 msgid "Pack structure members together without holes" msgstr "" -#: toplev.c:1078 +#: toplev.c:1128 msgid "Insert stack checking code into the program" msgstr "" -#: toplev.c:1080 +#: toplev.c:1130 msgid "Specify that arguments may alias each other & globals" msgstr "" -#: toplev.c:1082 +#: toplev.c:1132 msgid "Assume arguments may alias globals but not each other" msgstr "" -#: toplev.c:1084 +#: toplev.c:1134 msgid "Assume arguments do not alias each other or globals" msgstr "" -#: toplev.c:1086 +#: toplev.c:1136 msgid "Assume strict aliasing rules apply" msgstr "" -#: toplev.c:1088 +#: toplev.c:1138 msgid "Align the start of loops" msgstr "" -#: toplev.c:1090 +#: toplev.c:1140 msgid "Align labels which are only reached by jumping" msgstr "" -#: toplev.c:1092 +#: toplev.c:1142 msgid "Align all labels" msgstr "" -#: toplev.c:1094 +#: toplev.c:1144 msgid "Align the start of functions" msgstr "" -#: toplev.c:1096 +#: toplev.c:1146 msgid "Attempt to merge identical constants accross compilation units" msgstr "" -#: toplev.c:1098 +#: toplev.c:1148 msgid "Attempt to merge identical constants and constant variables" msgstr "" -#: toplev.c:1100 +#: toplev.c:1150 msgid "" "Suppress output of instruction numbers and line number notes in debugging " "dumps" msgstr "" -#: toplev.c:1102 +#: toplev.c:1152 msgid "Instrument function entry/exit with profiling calls" msgstr "" -#: toplev.c:1104 +#: toplev.c:1154 msgid "Put zero initialized data in the bss section" msgstr "" -#: toplev.c:1106 +#: toplev.c:1156 msgid "Enable SSA optimizations" msgstr "" -#: toplev.c:1108 +#: toplev.c:1158 msgid "Enable SSA conditional constant propagation" msgstr "" -#: toplev.c:1110 +#: toplev.c:1160 msgid "Enable aggressive SSA dead code elimination" msgstr "" -#: toplev.c:1112 +#: toplev.c:1162 msgid "External symbols have a leading underscore" msgstr "" -#: toplev.c:1114 +#: toplev.c:1164 msgid "Process #ident directives" msgstr "" -#: toplev.c:1116 +#: toplev.c:1166 msgid "Enables an rtl peephole pass run before sched2" msgstr "" -#: toplev.c:1118 +#: toplev.c:1168 +msgid "Assume no NaNs or +-Infs are generated" +msgstr "" + +#: toplev.c:1170 msgid "Enables guessing of branch probabilities" msgstr "" -#: toplev.c:1120 +#: toplev.c:1172 msgid "Set errno after built-in math functions" msgstr "" -#: toplev.c:1122 +#: toplev.c:1174 msgid "Floating-point operations can trap" msgstr "" -#: toplev.c:1124 +#: toplev.c:1176 msgid "Allow math optimizations that may violate IEEE or ANSI standards" msgstr "" -#: toplev.c:1126 -msgid "Compile pointers as triples: value, base & end" +#: toplev.c:1178 +msgid "Disable optimizations observable by IEEE signaling NaNs" msgstr "" -#: toplev.c:1128 -msgid "Generate code to check bounds before dereferencing pointers and arrays" +#: toplev.c:1180 +msgid "Generate code to check bounds before indexing arrays" msgstr "" -#: toplev.c:1130 +#: toplev.c:1182 msgid "Convert floating point constant to single precision constant" msgstr "" -#: toplev.c:1132 +#: toplev.c:1184 msgid "Report time taken by each compiler pass at end of run" msgstr "" -#: toplev.c:1134 +#: toplev.c:1186 msgid "Report on permanent memory allocation at end of run" msgstr "" -#: toplev.c:1136 +#: toplev.c:1188 msgid "Trap for signed overflow in addition / subtraction / multiplication" msgstr "" -#: toplev.c:1153 -msgid "Compile just for ISO C89" +#: toplev.c:1190 +msgid "Use graph coloring register allocation." msgstr "" -#: toplev.c:1155 +#: toplev.c:1207 +msgid "Compile just for ISO C90" +msgstr "" + +#: toplev.c:1209 msgid "Determine language standard" msgstr "" -#: toplev.c:1159 +#: toplev.c:1213 msgid "Make bit-fields by unsigned by default" msgstr "" -#: toplev.c:1163 +#: toplev.c:1217 msgid "Make 'char' be signed by default" msgstr "" -#: toplev.c:1165 +#: toplev.c:1219 msgid "Make 'char' be unsigned by default" msgstr "" -#: toplev.c:1171 +#: toplev.c:1225 msgid "Do not recognize the 'asm' keyword" msgstr "" -#: toplev.c:1174 +#: toplev.c:1228 msgid "Do not recognize any built in functions" msgstr "" -#: toplev.c:1176 +#: toplev.c:1230 msgid "Assume normal C execution environment" msgstr "" -#: toplev.c:1179 +#: toplev.c:1233 msgid "Assume that standard libraries & main might not exist" msgstr "" -#: toplev.c:1182 +#: toplev.c:1236 msgid "Allow different types as args of ? operator" msgstr "" -#: toplev.c:1185 +#: toplev.c:1239 msgid "Allow the use of $ inside identifiers" msgstr "" -#: toplev.c:1190 +#: toplev.c:1244 msgid "Use the same size for double as for float" msgstr "" -#: toplev.c:1193 +#: toplev.c:1247 msgid "Use the smallest fitting integer to hold enums" msgstr "" -#: toplev.c:1196 +#: toplev.c:1250 msgid "Override the underlying type for wchar_t to `unsigned short'" msgstr "" -#: toplev.c:1200 +#: toplev.c:1254 msgid "Enable most warning messages" msgstr "" -#: toplev.c:1202 +#: toplev.c:1256 msgid "Warn about casting functions to incompatible types" msgstr "" -#: toplev.c:1205 +#: toplev.c:1259 msgid "Warn about functions which might be candidates for format attributes" msgstr "" -#: toplev.c:1208 +#: toplev.c:1262 msgid "Warn about casts which discard qualifiers" msgstr "" -#: toplev.c:1211 +#: toplev.c:1265 msgid "Warn about subscripts whose type is 'char'" msgstr "" -#: toplev.c:1214 toplev.c:1217 +#: toplev.c:1268 toplev.c:1271 msgid "Warn if nested comments are detected" msgstr "" -#: toplev.c:1220 +#: toplev.c:1274 msgid "Warn about possibly confusing type conversions" msgstr "" -#: toplev.c:1224 +#: toplev.c:1278 msgid "Do not warn about compile-time integer division by zero" msgstr "" -#: toplev.c:1226 +#: toplev.c:1280 msgid "Warn about testing equality of floating point numbers" msgstr "" -#: toplev.c:1229 +#: toplev.c:1283 msgid "Warn about printf/scanf/strftime/strfmon format anomalies" msgstr "" -#: toplev.c:1233 +#: toplev.c:1287 msgid "Don't warn about too many arguments to format functions" msgstr "" -#: toplev.c:1235 +#: toplev.c:1289 msgid "Warn about non-string-literal format strings" msgstr "" -#: toplev.c:1238 +#: toplev.c:1292 msgid "Warn about possible security problems with format functions" msgstr "" -#: toplev.c:1242 +#: toplev.c:1296 msgid "Don't warn about strftime formats yielding 2 digit years" msgstr "" -#: toplev.c:1244 +#: toplev.c:1298 msgid "Warn about implicit function declarations" msgstr "" -#: toplev.c:1248 +#: toplev.c:1302 msgid "Warn when a declaration does not specify a type" msgstr "" -#: toplev.c:1253 +#: toplev.c:1307 msgid "Warn about the use of the #import directive" msgstr "" -#: toplev.c:1257 +#: toplev.c:1311 msgid "Do not warn about using 'long long' when -pedantic" msgstr "" -#: toplev.c:1259 +#: toplev.c:1313 msgid "Warn about suspicious declarations of main" msgstr "" -#: toplev.c:1262 +#: toplev.c:1316 msgid "Warn about possibly missing braces around initializers" msgstr "" -#: toplev.c:1265 +#: toplev.c:1319 msgid "Warn about global funcs without previous declarations" msgstr "" -#: toplev.c:1268 +#: toplev.c:1322 msgid "Warn about global funcs without prototypes" msgstr "" -#: toplev.c:1271 +#: toplev.c:1325 msgid "Warn about use of multicharacter literals" msgstr "" -#: toplev.c:1274 +#: toplev.c:1328 msgid "Warn about externs not at file scope level" msgstr "" -#: toplev.c:1277 +#: toplev.c:1331 msgid "Warn about possible missing parentheses" msgstr "" -#: toplev.c:1280 +#: toplev.c:1334 msgid "Warn about function pointer arithmetic" msgstr "" -#: toplev.c:1283 +#: toplev.c:1337 msgid "Warn about multiple declarations of the same object" msgstr "" -#: toplev.c:1286 +#: toplev.c:1340 msgid "Warn whenever a function's return-type defaults to int" msgstr "" -#: toplev.c:1289 +#: toplev.c:1343 msgid "Warn about possible violations of sequence point rules" msgstr "" -#: toplev.c:1292 +#: toplev.c:1346 msgid "Warn about signed/unsigned comparisons" msgstr "" -#: toplev.c:1295 +#: toplev.c:1349 msgid "Warn about non-prototyped function decls" msgstr "" -#: toplev.c:1298 +#: toplev.c:1352 msgid "Warn about constructs whose meanings change in ISO C" msgstr "" -#: toplev.c:1301 +#: toplev.c:1355 msgid "Warn when trigraphs are encountered" msgstr "" -#: toplev.c:1306 +#: toplev.c:1360 msgid "Warn about unrecognized pragmas" msgstr "" -#: toplev.c:1309 +#: toplev.c:1363 msgid "Mark strings as 'const char *'" msgstr "" -#: toplev.c:1449 +#: toplev.c:1508 msgid "Warn when a function is unused" msgstr "" -#: toplev.c:1451 +#: toplev.c:1510 msgid "Warn when a label is unused" msgstr "" -#: toplev.c:1453 +#: toplev.c:1512 msgid "Warn when a function parameter is unused" msgstr "" -#: toplev.c:1455 +#: toplev.c:1514 msgid "Warn when a variable is unused" msgstr "" -#: toplev.c:1457 +#: toplev.c:1516 msgid "Warn when an expression value is unused" msgstr "" -#: toplev.c:1459 +#: toplev.c:1518 msgid "Do not suppress warnings from system headers" msgstr "" -#: toplev.c:1461 +#: toplev.c:1520 msgid "Treat all warnings as errors" msgstr "" -#: toplev.c:1463 +#: toplev.c:1522 msgid "Warn when one local variable shadows another" msgstr "" -#: toplev.c:1465 +#: toplev.c:1524 msgid "Warn about enumerated switches, with no default, missing a case" msgstr "" -#: toplev.c:1467 +#: toplev.c:1526 msgid "Warn about enumerated switches missing a default case" msgstr "" -#: toplev.c:1469 +#: toplev.c:1528 msgid "Warn about all enumerated switches missing a specific case" msgstr "" -#: toplev.c:1471 +#: toplev.c:1530 msgid "Warn about returning structures, unions or arrays" msgstr "" -#: toplev.c:1473 +#: toplev.c:1532 msgid "Warn about pointer casts which increase alignment" msgstr "" -#: toplev.c:1475 +#: toplev.c:1534 msgid "Warn about code that will never be executed" msgstr "" -#: toplev.c:1477 +#: toplev.c:1536 msgid "Warn about uninitialized automatic variables" msgstr "" -#: toplev.c:1479 +#: toplev.c:1538 msgid "Warn when an inlined function cannot be inlined" msgstr "" -#: toplev.c:1481 +#: toplev.c:1540 msgid "Warn when the packed attribute has no effect on struct layout" msgstr "" -#: toplev.c:1483 +#: toplev.c:1542 msgid "Warn when padding is required to align struct members" msgstr "" -#: toplev.c:1485 +#: toplev.c:1544 msgid "Warn when an optimization pass is disabled" msgstr "" -#: toplev.c:1487 +#: toplev.c:1546 msgid "Warn about uses of __attribute__((deprecated)) declarations" msgstr "" -#: toplev.c:1489 +#: toplev.c:1548 msgid "Warn about functions which might be candidates for attribute noreturn" msgstr "" -#: toplev.c:1560 toplev.c:4284 tradcpp.c:796 -#, c-format -msgid "invalid option `%s'" +#: toplev.c:1550 +msgid "Warn about code which might break the strict aliasing rules" msgstr "" -#: toplev.c:1627 +#: toplev.c:1627 toplev.c:4513 config/rs6000/rs6000.c:676 #, c-format -msgid "internal error: %s" +msgid "invalid option `%s'" msgstr "" -#: toplev.c:1939 +#: toplev.c:2029 #, c-format msgid "`%s' used but never defined" msgstr "" -#: toplev.c:1942 +#: toplev.c:2032 #, c-format msgid "`%s' declared `static' but never defined" msgstr "" -#: toplev.c:1961 +#: toplev.c:2051 #, c-format msgid "`%s' defined but not used" msgstr "" -#: toplev.c:2206 +#: toplev.c:2300 #, c-format msgid "invalid register name `%s' for register variable" msgstr "" -#: toplev.c:3495 +#: toplev.c:3683 msgid "" " -ffixed-<register> Mark <register> as being unavailable to the " "compiler\n" msgstr "" -#: toplev.c:3496 +#: toplev.c:3684 msgid "" " -fcall-used-<register> Mark <register> as being corrupted by function " "calls\n" msgstr "" -#: toplev.c:3497 +#: toplev.c:3685 msgid "" " -fcall-saved-<register> Mark <register> as being preserved across " "functions\n" msgstr "" -#: toplev.c:3498 +#: toplev.c:3686 msgid "" " -finline-limit=<number> Limits the size of inlined functions to <number>\n" msgstr "" -#: toplev.c:3499 +#: toplev.c:3687 msgid "" " -fmessage-length=<number> Limits diagnostics messages lengths to <number> " "characters per line. 0 suppresses line-wrapping\n" msgstr "" -#: toplev.c:3500 +#: toplev.c:3688 msgid "" " -fdiagnostics-show-location=[once | every-line] Indicates how often source " "location information should be emitted, as prefix, at the beginning of " "diagnostics when line-wrapping\n" msgstr "" -#: toplev.c:3511 +#: toplev.c:3689 +msgid "" +" -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] " +"Indicates the default thread-local storage code generation model\n" +msgstr "" + +#: toplev.c:3700 msgid " -O[number] Set optimization level to [number]\n" msgstr "" -#: toplev.c:3512 +#: toplev.c:3701 msgid " -Os Optimize for space rather than speed\n" msgstr "" -#: toplev.c:3524 +#: toplev.c:3713 msgid "" " -pedantic Issue warnings needed by strict compliance to ISO " "C\n" msgstr "" -#: toplev.c:3525 +#: toplev.c:3714 msgid "" " -pedantic-errors Like -pedantic except that errors are produced\n" msgstr "" -#: toplev.c:3526 +#: toplev.c:3715 msgid " -w Suppress warnings\n" msgstr "" -#: toplev.c:3527 +#: toplev.c:3716 msgid " -W Enable extra warnings\n" msgstr "" -#: toplev.c:3538 +#: toplev.c:3727 msgid " -Wunused Enable unused warnings\n" msgstr "" -#: toplev.c:3539 +#: toplev.c:3728 msgid "" " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n" msgstr "" -#: toplev.c:3540 +#: toplev.c:3729 msgid " -p Enable function profiling\n" msgstr "" -#: toplev.c:3542 -msgid " -a Enable block profiling \n" -msgstr "" - -#: toplev.c:3545 -msgid " -ax Enable jump profiling \n" -msgstr "" - -#: toplev.c:3547 +#: toplev.c:3730 msgid " -o <file> Place output into <file> \n" msgstr "" -#: toplev.c:3548 +#: toplev.c:3731 msgid "" " -G <number> Put global and static data smaller than <number>\n" " bytes into a special section (on some targets)\n" msgstr "" -#: toplev.c:3559 +#: toplev.c:3742 msgid " -aux-info <file> Emit declaration info into <file>\n" msgstr "" -#: toplev.c:3560 +#: toplev.c:3743 msgid "" " -quiet Do not display functions compiled or elapsed time\n" msgstr "" -#: toplev.c:3561 +#: toplev.c:3744 msgid " -version Display the compiler's version\n" msgstr "" -#: toplev.c:3562 +#: toplev.c:3745 msgid "" " -d[letters] Enable dumps from specific passes of the compiler\n" msgstr "" -#: toplev.c:3563 +#: toplev.c:3746 msgid "" " -dumpbase <file> Base name to be used for dumps from specific " "passes\n" msgstr "" -#: toplev.c:3565 +#: toplev.c:3748 msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n" msgstr "" -#: toplev.c:3567 +#: toplev.c:3750 msgid " --help Display this information\n" msgstr "" -#: toplev.c:3582 +#: toplev.c:3765 msgid "" "\n" "Language specific options:\n" msgstr "" -#: toplev.c:3594 +#: toplev.c:3777 #, c-format msgid " %-23.23s [undocumented]\n" msgstr "" -#: toplev.c:3602 toplev.c:3616 +#: toplev.c:3785 toplev.c:3799 #, c-format msgid "" "\n" "There are undocumented %s specific options as well.\n" msgstr "" -#: toplev.c:3606 +#: toplev.c:3789 #, c-format msgid "" "\n" " Options for %s:\n" msgstr "" -#: toplev.c:3643 +#: toplev.c:3826 msgid "" "\n" "Target specific options:\n" msgstr "" -#: toplev.c:3657 toplev.c:3676 +#: toplev.c:3840 toplev.c:3859 #, c-format msgid " -m%-23.23s [undocumented]\n" msgstr "" -#: toplev.c:3685 +#: toplev.c:3868 msgid "" "\n" "There are undocumented target specific options as well.\n" msgstr "" -#: toplev.c:3687 +#: toplev.c:3870 msgid " They exist, but they are not documented.\n" msgstr "" -#: toplev.c:3740 +#: toplev.c:3923 #, c-format msgid "unrecognized gcc debugging option: %c" msgstr "" -#: toplev.c:3810 +#: toplev.c:3979 +#, c-format +msgid "`%s': unknown tls-model option" +msgstr "" + +#: toplev.c:4006 #, c-format msgid "unrecognized register name `%s'" msgstr "" -#: toplev.c:3835 toplev.c:4714 +#: toplev.c:4031 toplev.c:4965 #, c-format msgid "unrecognized option `%s'" msgstr "" -#: toplev.c:3879 +#: toplev.c:4075 msgid "-Wid-clash-LEN is no longer supported" msgstr "" -#: toplev.c:3956 +#: toplev.c:4152 #, c-format msgid "use -gdwarf -g%d for DWARF v1, level %d" msgstr "" -#: toplev.c:3959 +#: toplev.c:4155 msgid "use -gdwarf-2 for DWARF v2" msgstr "" -#: toplev.c:3964 +#: toplev.c:4160 #, c-format msgid "ignoring option `%s' due to invalid debug level specification" msgstr "" -#: toplev.c:3987 toplev.c:4712 +#: toplev.c:4183 toplev.c:4963 #, c-format msgid "`%s': unknown or unsupported -g option" msgstr "" -#: toplev.c:3994 +#: toplev.c:4190 #, c-format msgid "`%s' ignored, conflicts with `-g%s'" msgstr "" -#: toplev.c:4073 +#: toplev.c:4269 msgid "-param option missing argument" msgstr "" -#: toplev.c:4082 +#: toplev.c:4278 #, c-format msgid "invalid --param option: %s" msgstr "" -#: toplev.c:4094 +#: toplev.c:4290 #, c-format msgid "invalid parameter value `%s'" msgstr "" -#: toplev.c:4301 +#: toplev.c:4530 #, c-format msgid "" "%s%s%s version %s (%s)\n" @@ -7659,1164 +7956,923 @@ msgid "" "%s%s%s version %s (%s) compiled by CC.\n" msgstr "" -#: toplev.c:4357 +#: toplev.c:4586 msgid "options passed: " msgstr "" -#: toplev.c:4386 +#: toplev.c:4615 msgid "options enabled: " msgstr "" -#: toplev.c:4445 java/jcf-write.c:3379 +#: toplev.c:4674 java/jcf-write.c:3421 #, c-format msgid "can't open %s for writing" msgstr "" -#: toplev.c:4704 +#: toplev.c:4955 #, c-format msgid "ignoring command line option '%s'" msgstr "" -#: toplev.c:4707 +#: toplev.c:4958 #, c-format msgid "(it is valid for %s but not the selected language)" msgstr "" -#: toplev.c:4741 +#: toplev.c:4992 msgid "-Wuninitialized is not supported without -O" msgstr "" -#: toplev.c:4800 +#: toplev.c:5047 msgid "instruction scheduling not supported on this target machine" msgstr "" -#: toplev.c:4804 +#: toplev.c:5051 msgid "this target machine does not have delayed branches" msgstr "" -#: toplev.c:4813 -msgid "profiling does not work without a frame pointer" -msgstr "" - -#: toplev.c:4828 +#: toplev.c:5065 #, c-format msgid "-f%sleading-underscore not supported on this target machine" msgstr "" -#: toplev.c:4891 +#: toplev.c:5128 msgid "-ffunction-sections not supported for this target" msgstr "" -#: toplev.c:4896 +#: toplev.c:5133 msgid "-fdata-sections not supported for this target" msgstr "" -#: toplev.c:4903 +#: toplev.c:5140 msgid "-ffunction-sections disabled; it makes profiling impossible" msgstr "" -#: toplev.c:4910 +#: toplev.c:5147 msgid "-fprefetch-loop-arrays not supported for this target" msgstr "" -#: toplev.c:4916 +#: toplev.c:5153 msgid "" "-fprefetch-loop-arrays not supported for this target (try -march switches)" msgstr "" -#: toplev.c:4925 +#: toplev.c:5162 msgid "-fprefetch-loop-arrays is not supported with -Os" msgstr "" -#: toplev.c:4931 +#: toplev.c:5168 msgid "-ffunction-sections may affect debugging on some targets" msgstr "" -#: toplev.c:5044 +#: toplev.c:5280 #, c-format msgid "error writing to %s" msgstr "" -#: toplev.c:5046 java/jcf-parse.c:954 java/jcf-write.c:3386 +#: toplev.c:5282 java/jcf-parse.c:932 java/jcf-write.c:3428 #, c-format msgid "error closing %s" msgstr "" -#: /usr/share/bison.simple:650 -msgid "parse error; also virtual memory exceeded" -msgstr "" - -#. It's a float since it contains a point. -#: tradcif.y:231 -msgid "floating point numbers not allowed in #if expressions" -msgstr "" - -#: tradcif.y:277 -msgid "invalid number in #if expression" -msgstr "" - -#: tradcif.y:357 -msgid "invalid character constant in #if" -msgstr "" - -#: tradcif.y:394 -msgid "double quoted strings not allowed in #if expressions" -msgstr "" - -#: tradcif.y:407 -msgid "invalid token in expression" -msgstr "" - -#: tradcif.y:498 -msgid "octal character constant does not fit in a byte" -msgstr "" - -#: tradcif.y:519 -msgid "hex character constant does not fit in a byte" -msgstr "" - -#: tradcif.y:550 -msgid "empty #if expression" -msgstr "" - -#: tradcif.y:564 -msgid "Junk after end of expression." -msgstr "" - -#: tradcpp.c:145 -msgid "macro or #include recursion too deep" -msgstr "" - -#: tradcpp.c:562 -#, c-format -msgid "usage: %s [switches] input output" -msgstr "" - -#: tradcpp.c:578 -msgid "-traditional is not supported in C++" -msgstr "" - -#: tradcpp.c:580 -msgid "-traditional and -ansi are mutually exclusive" -msgstr "" - -#: tradcpp.c:594 -msgid "filename missing after -i option" -msgstr "" - -#: tradcpp.c:612 -msgid "filename missing after -o option" -msgstr "" - -#: tradcpp.c:675 -#, c-format -msgid "target missing after %s option" -msgstr "" - -#: tradcpp.c:689 -#, c-format -msgid "filename missing after %s option" -msgstr "" - -#: tradcpp.c:714 -#, c-format -msgid "macro name missing after -%c option" -msgstr "" - -#: tradcpp.c:734 -msgid "-pedantic and -traditional are mutually exclusive" -msgstr "" - -#: tradcpp.c:739 -msgid "-trigraphs and -traditional are mutually exclusive" -msgstr "" - -#: tradcpp.c:765 -msgid "directory name missing after -I option" -msgstr "" - -#: tradcpp.c:1449 tradcpp.c:3941 -msgid "`/*' within comment" -msgstr "" - -#: tradcpp.c:1825 -#, c-format -msgid "unterminated #%s conditional" -msgstr "" - -#: tradcpp.c:2184 -msgid "not in any file?!" -msgstr "" - -#: tradcpp.c:2290 -msgid "`defined' must be followed by ident or (ident)" -msgstr "" - -#: tradcpp.c:2294 -msgid "cccp error: invalid special hash type" -msgstr "" - -#: tradcpp.c:2392 tradcpp.c:2462 -msgid "#include expects \"fname\" or <fname>" -msgstr "" - -#: tradcpp.c:2547 -#, c-format -msgid "no include path in which to find %.*s" -msgstr "" - -#: tradcpp.c:2725 -msgid "invalid macro name" -msgstr "" - -#: tradcpp.c:2733 -#, c-format -msgid "invalid macro name `%s'" -msgstr "" - -#: tradcpp.c:2738 -msgid "\"defined\" cannot be used as a macro name" -msgstr "" - -#: tradcpp.c:2765 -msgid "parameter name starts with a digit in #define" -msgstr "" - -#: tradcpp.c:2775 -msgid "badly punctuated parameter list in #define" -msgstr "" - -#: tradcpp.c:2783 -msgid "unterminated parameter list in #define" -msgstr "" - -#: tradcpp.c:2831 -#, c-format -msgid "\"%.*s\" redefined" -msgstr "" - -#: tradcpp.c:3088 -msgid "# operator should be followed by a macro argument name" -msgstr "" - -#: tradcpp.c:3135 tradcpp.c:3161 tradcpp.c:3175 tradcpp.c:3182 tradcpp.c:3207 -msgid "invalid format #line command" -msgstr "" - -#: tradcpp.c:3233 -msgid "undefining `defined'" -msgstr "" - -#: tradcpp.c:3237 -#, c-format -msgid "undefining `%s'" -msgstr "" - -#: tradcpp.c:3293 -msgid "extra text at end of directive" -msgstr "" - -#: tradcpp.c:3400 -#, c-format -msgid "#error%.*s" -msgstr "" - -#: tradcpp.c:3410 -#, c-format -msgid "#warning%.*s" -msgstr "" - -#: tradcpp.c:3566 -msgid "#elif not within a conditional" -msgstr "" - -#: tradcpp.c:3823 -#, c-format -msgid "#%s not within a conditional" -msgstr "" - -#: tradcpp.c:3831 -msgid "#else or #elif after #else" -msgstr "" - -#: tradcpp.c:3871 -msgid "#else not within a conditional" -msgstr "" - -#: tradcpp.c:3902 -msgid "unbalanced #endif" -msgstr "" - -#: tradcpp.c:3996 -msgid "unterminated string or character constant" -msgstr "" - -#: tradcpp.c:4154 -#, c-format -msgid "arguments given to macro `%s'" -msgstr "" - -#: tradcpp.c:4160 -#, c-format -msgid "no args to macro `%s'" -msgstr "" - -#: tradcpp.c:4162 -#, c-format -msgid "only 1 arg to macro `%s'" -msgstr "" - -#: tradcpp.c:4164 -#, c-format -msgid "only %d args to macro `%s'" -msgstr "" - -#: tradcpp.c:4166 -#, c-format -msgid "too many (%d) args to macro `%s'" -msgstr "" - -#: tradcpp.c:4763 -#, c-format -msgid "" -"internal error in %s, at tradcpp.c:%d\n" -"Please submit a full bug report.\n" -"See %s for instructions." -msgstr "" - -#: tree-dump.c:848 +#: tree-dump.c:702 #, c-format msgid "could not open dump file `%s'" msgstr "" -#: tree-dump.c:924 +#: tree-dump.c:778 #, c-format msgid "ignoring unknown option `%.*s' in `-f%s'" msgstr "" -#: tree.c:3709 +#: tree.c:3645 msgid "arrays of functions are not meaningful" msgstr "" -#: tree.c:3766 +#: tree.c:3702 msgid "function return type cannot be function" msgstr "" -#: tree.c:4520 +#: tree.c:4544 msgid "invalid initializer for bit string" msgstr "" -#: tree.c:4579 +#: tree.c:4603 #, c-format msgid "tree check: expected %s, have %s in %s, at %s:%d" msgstr "" -#: tree.c:4596 +#: tree.c:4620 #, c-format msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d" msgstr "" -#: varasm.c:456 config/i386/winnt.c:526 +#: tree.c:4637 +#, c-format +msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" +msgstr "" + +#: varasm.c:455 config/i386/winnt.c:546 #, c-format msgid "%s causes a section type conflict" msgstr "" -#: varasm.c:878 +#: varasm.c:841 #, c-format msgid "register name not specified for `%s'" msgstr "" -#: varasm.c:880 +#: varasm.c:843 #, c-format msgid "invalid register name for `%s'" msgstr "" -#: varasm.c:883 +#: varasm.c:846 #, c-format msgid "data type of `%s' isn't suitable for a register" msgstr "" -#: varasm.c:886 +#: varasm.c:849 #, c-format msgid "register specified for `%s' isn't suitable for data type" msgstr "" -#: varasm.c:895 +#: varasm.c:858 msgid "global register variable has initial value" msgstr "" -#: varasm.c:898 +#: varasm.c:861 msgid "volatile register variables don't work as you might wish" msgstr "" -#: varasm.c:931 +#: varasm.c:894 #, c-format msgid "register name given for non-register variable `%s'" msgstr "" -#: varasm.c:1571 +#: varasm.c:1542 #, c-format msgid "" "alignment of `%s' is greater than maximum object file alignment. Using %d" msgstr "" -#: varasm.c:1637 +#: varasm.c:1584 +msgid "thread-local COMMON data not implemented" +msgstr "" + +#: varasm.c:1608 #, c-format msgid "requested alignment for %s is greater than implemented alignment of %d" msgstr "" -#: varasm.c:4569 +#: varasm.c:4020 msgid "initializer for integer value is too complicated" msgstr "" -#: varasm.c:4574 +#: varasm.c:4025 msgid "initializer for floating value is not a floating constant" msgstr "" -#: varasm.c:4624 +#: varasm.c:4075 msgid "unknown set constructor type" msgstr "" -#: varasm.c:4838 +#: varasm.c:4289 #, c-format msgid "invalid initial value for member `%s'" msgstr "" -#: varasm.c:4999 +#: varasm.c:4480 varasm.c:4523 #, c-format -msgid "weak declaration of `%s' must be public" +msgid "weak declaration of `%s' must precede definition" msgstr "" -#: varasm.c:5001 +#: varasm.c:4487 #, c-format -msgid "weak declaration of `%s' must precede definition" +msgid "" +"weak declaration of `%s' after first use results in unspecified behavior" +msgstr "" + +#: varasm.c:4521 +#, c-format +msgid "weak declaration of `%s' must be public" msgstr "" -#: varasm.c:5008 +#: varasm.c:4530 #, c-format msgid "weak declaration of `%s' not supported" msgstr "" -#: varasm.c:5035 varasm.c:5110 +#: varasm.c:4557 varasm.c:4632 msgid "only weak aliases are supported in this configuration" msgstr "" -#: varasm.c:5119 +#: varasm.c:4640 msgid "alias definitions not supported in this configuration; ignored" msgstr "" -#: varasm.c:5139 +#: varasm.c:4670 msgid "visibility attribute not supported in this configuration; ignored" msgstr "" -#: varray.c:88 +#: varray.c:134 #, c-format msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d" msgstr "" #. Print an error message for unrecognized stab codes. -#: xcoffout.c:174 +#: xcoffout.c:175 #, c-format msgid "no sclass for %s stab (0x%x)\n" msgstr "" -#: params.def:46 +#: pretty-print.h:97 +#, c-format +msgid "#`%s' not supported by %s#" +msgstr "" + +#: params.def:53 msgid "" -"The maximum number of instructions in a function that is eligible for " +"The maximum number of instructions in a single function eliglible for " "inlining" msgstr "" -#: params.def:57 +#: params.def:74 +msgid "" +"The maximuem number of instructions by repeated inlining before gcc starts " +"to throttle inlining" +msgstr "" + +#: params.def:87 +msgid "" +"The slope of the linear funtion throttling inlining after the recursive " +"inlining limit has been reached is given by the negative reciprocal value of " +"this parameter" +msgstr "" + +#: params.def:100 +msgid "" +"The number of instructions in a single functions still eligible to inlining " +"after a lot recursive inlining" +msgstr "" + +#: params.def:111 msgid "The maximum number of instructions to consider to fill a delay slot" msgstr "" -#: params.def:68 +#: params.def:122 msgid "" "The maximum number of instructions to consider to find accurate live " "register information" msgstr "" -#: params.def:78 +#: params.def:132 msgid "The maximum length of scheduling's pending operations list" msgstr "" -#: params.def:85 +#: params.def:139 msgid "The maximum amount of memory to be allocated by GCSE" msgstr "" -#: params.def:90 +#: params.def:144 msgid "The maximum number of passes to make when doing GCSE" msgstr "" -#: params.def:97 +#: params.def:151 msgid "The maximum number of instructions to consider to unroll in a loop" msgstr "" -#: config/darwin-c.c:76 -msgid "too many #pragma options align=reset" -msgstr "" - -#: config/darwin-c.c:98 config/darwin-c.c:101 config/darwin-c.c:103 -#: config/darwin-c.c:105 -msgid "malformed '#pragma options', ignoring" -msgstr "" - -#: config/darwin-c.c:108 -msgid "junk at end of '#pragma options'" -msgstr "" - -#: config/darwin-c.c:118 -msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring" -msgstr "" - -#: config/darwin-c.c:131 -msgid "missing '(' after '#pragma unused', ignoring" -msgstr "" - -#: config/darwin-c.c:149 -msgid "missing ')' after '#pragma unused', ignoring" -msgstr "" - -#: config/darwin-c.c:152 -msgid "junk at end of '#pragma unused'" -msgstr "" - -#: config/nextstep.c:68 -msgid "optimization turned on" -msgstr "" - -#: config/nextstep.c:74 -msgid "optimization turned off" -msgstr "" - -#: config/nextstep.c:83 -msgid "optimization level restored" -msgstr "" - -#: config/lynx-ng.h:97 config/lynx.h:120 config/rs6000/lynx.h:85 -msgid "-msystem-v and -p are incompatible" -msgstr "" - -#: config/lynx-ng.h:99 config/lynx.h:122 config/rs6000/lynx.h:87 -msgid "-msystem-v and -mthreads are incompatible" -msgstr "" - -#. Run-time compilation parameters selecting different hardware subsets. -#: config/1750a/1750a.h:39 -msgid "Use VAX-C alignment" -msgstr "" - -#: config/a29k/a29k.c:1028 config/m88k/m88k.c:2966 -#, c-format -msgid "invalid %%Q value" -msgstr "" - -#: config/a29k/a29k.c:1034 config/alpha/alpha.c:5410 config/m88k/m88k.c:3062 -#, c-format -msgid "invalid %%C value" -msgstr "" - -#: config/a29k/a29k.c:1040 config/alpha/alpha.c:5255 -#: config/rs6000/rs6000.c:6459 -#, c-format -msgid "invalid %%N value" -msgstr "" - -#: config/a29k/a29k.c:1046 config/alpha/alpha.c:5326 -#: config/rs6000/rs6000.c:6421 -#, c-format -msgid "invalid %%M value" -msgstr "" - -#: config/a29k/a29k.c:1052 config/alpha/alpha.c:5318 -#: config/rs6000/rs6000.c:6386 -#, c-format -msgid "invalid %%m value" -msgstr "" - -#: config/a29k/a29k.c:1157 config/alpha/alpha.c:5279 config/romp/romp.c:690 -#, c-format -msgid "invalid %%L value" -msgstr "" - -#: config/a29k/a29k.c:1162 config/rs6000/rs6000.c:6467 -#, c-format -msgid "invalid %%O value" -msgstr "" - -#: config/a29k/a29k.c:1168 config/alpha/alpha.c:5263 -#: config/rs6000/rs6000.c:6487 -#, c-format -msgid "invalid %%P value" -msgstr "" - -#: config/a29k/a29k.c:1178 -#, c-format -msgid "invalid %%V value" -msgstr "" - -#: config/a29k/a29k.h:101 -msgid "Generate code assuming DW bit is set" +#: params.def:156 +msgid "" +"Select fraction of the maximal count of repetitions of basic block in " +"program given basic block needs to have to be considered hot" msgstr "" -#: config/a29k/a29k.h:102 -msgid "Generate code assuming DW bit is not set" +#: params.def:161 +msgid "" +"Select fraction of the maximal frequency of executions of basic block in " +"function given basic block needs to have to be considered hot" msgstr "" -#: config/a29k/a29k.h:103 -msgid "Generate code using byte writes" +#: params.def:166 +msgid "" +"The percentage of function, weighted by execution frequency, that must be " +"covered by trace formation. Used when profile feedback is available" msgstr "" -#: config/a29k/a29k.h:104 -msgid "Do not generate byte writes" +#: params.def:171 +msgid "" +"The percentage of function, weighted by execution frequency, that must be " +"covered by trace formation. Used when profile feedback is not available" msgstr "" -#: config/a29k/a29k.h:105 -msgid "Use small memory model" +#: params.def:176 +msgid "Maximal code growth caused by tail duplication (in percents)" msgstr "" -#: config/a29k/a29k.h:106 -msgid "Use normal memory model" +#: params.def:180 +msgid "" +"Stop reverse growth if the reverse probability of best edge is less than " +"this threshold (in percents)" msgstr "" -#: config/a29k/a29k.h:107 -msgid "Use large memory model" +#: params.def:185 +msgid "" +"Stop forward growth if the probability of best edge is less than this " +"threshold (in percents). Used when profile feedback is available" msgstr "" -#: config/a29k/a29k.h:108 -msgid "Generate 29050 code" +#: params.def:190 +msgid "" +"Stop forward growth if the probability of best edge is less than this " +"threshold (in percents). Used when profile feedback is not available" msgstr "" -#: config/a29k/a29k.h:109 -msgid "Generate 29000 code" +#: params.def:204 +msgid "" +"Minimum heap expansion to trigger garbage collection, as a percentage of the " +"total size of the heap." msgstr "" -#: config/a29k/a29k.h:110 -msgid "Use kernel global registers" +#: params.def:210 +msgid "Minimum heap size before we start collecting garbage, in kilobytes." msgstr "" -#: config/a29k/a29k.h:111 -msgid "Use user global registers" +#: config/darwin-c.c:75 +msgid "too many #pragma options align=reset" msgstr "" -#: config/a29k/a29k.h:112 -msgid "Emit stack checking code" +#: config/darwin-c.c:97 config/darwin-c.c:100 config/darwin-c.c:102 +#: config/darwin-c.c:104 +msgid "malformed '#pragma options', ignoring" msgstr "" -#: config/a29k/a29k.h:113 -msgid "Do not emit stack checking code" +#: config/darwin-c.c:107 +msgid "junk at end of '#pragma options'" msgstr "" -#: config/a29k/a29k.h:114 -msgid "Work around storem hardware bug" +#: config/darwin-c.c:117 +msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring" msgstr "" -#: config/a29k/a29k.h:115 -msgid "Do not work around storem hardware bug" +#: config/darwin-c.c:130 +msgid "missing '(' after '#pragma unused', ignoring" msgstr "" -#: config/a29k/a29k.h:116 -msgid "Store locals in argument registers" +#: config/darwin-c.c:148 +msgid "missing ')' after '#pragma unused', ignoring" msgstr "" -#: config/a29k/a29k.h:117 -msgid "Do not store locals in arg registers" +#: config/darwin-c.c:151 +msgid "junk at end of '#pragma unused'" msgstr "" -#: config/a29k/a29k.h:118 config/i960/i960.h:283 config/mips/mips.h:406 -msgid "Use software floating point" +#: config/lynx-ng.h:97 config/lynx.h:121 config/rs6000/lynx.h:100 +msgid "-msystem-v and -p are incompatible" msgstr "" -#: config/a29k/a29k.h:119 -msgid "Do not generate multm instructions" +#: config/lynx-ng.h:99 config/lynx.h:123 config/rs6000/lynx.h:102 +msgid "-msystem-v and -mthreads are incompatible" msgstr "" -#: config/alpha/alpha.c:272 +#: config/alpha/alpha.c:342 #, c-format msgid "-f%s ignored for Unicos/Mk (not supported)" msgstr "" -#: config/alpha/alpha.c:296 +#: config/alpha/alpha.c:366 msgid "-mieee not supported on Unicos/Mk" msgstr "" -#: config/alpha/alpha.c:307 +#: config/alpha/alpha.c:377 msgid "-mieee-with-inexact not supported on Unicos/Mk" msgstr "" -#: config/alpha/alpha.c:324 +#: config/alpha/alpha.c:394 #, c-format msgid "bad value `%s' for -mtrap-precision switch" msgstr "" -#: config/alpha/alpha.c:338 +#: config/alpha/alpha.c:408 #, c-format msgid "bad value `%s' for -mfp-rounding-mode switch" msgstr "" -#: config/alpha/alpha.c:353 +#: config/alpha/alpha.c:423 #, c-format msgid "bad value `%s' for -mfp-trap-mode switch" msgstr "" -#: config/alpha/alpha.c:372 config/alpha/alpha.c:384 +#: config/alpha/alpha.c:435 +#, c-format +msgid "bad value `%s' for -mtls-size switch" +msgstr "" + +#: config/alpha/alpha.c:454 config/alpha/alpha.c:466 #, c-format msgid "bad value `%s' for -mcpu switch" msgstr "" -#: config/alpha/alpha.c:391 +#: config/alpha/alpha.c:473 msgid "trap mode not supported on Unicos/Mk" msgstr "" -#: config/alpha/alpha.c:398 +#: config/alpha/alpha.c:480 msgid "fp software completion requires -mtrap-precision=i" msgstr "" -#: config/alpha/alpha.c:414 +#: config/alpha/alpha.c:496 msgid "rounding mode not supported for VAX floats" msgstr "" -#: config/alpha/alpha.c:419 +#: config/alpha/alpha.c:501 msgid "trap mode not supported for VAX floats" msgstr "" -#: config/alpha/alpha.c:448 +#: config/alpha/alpha.c:530 #, c-format msgid "L%d cache latency unknown for %s" msgstr "" -#: config/alpha/alpha.c:463 +#: config/alpha/alpha.c:545 #, c-format msgid "bad value `%s' for -mmemory-latency" msgstr "" -#: config/alpha/alpha.c:5219 config/m88k/m88k.c:2954 config/romp/romp.c:746 -#: config/romp/romp.c:753 +#: config/alpha/alpha.c:5604 config/m88k/m88k.c:2889 config/romp/romp.c:754 +#: config/romp/romp.c:761 #, c-format msgid "invalid %%H value" msgstr "" -#: config/alpha/alpha.c:5229 +#: config/alpha/alpha.c:5625 #, c-format msgid "invalid %%J value" msgstr "" -#: config/alpha/alpha.c:5239 config/ia64/ia64.c:3544 config/m88k/m88k.c:3099 +#: config/alpha/alpha.c:5641 config/ia64/ia64.c:3834 config/m88k/m88k.c:3034 #, c-format msgid "invalid %%r value" msgstr "" -#: config/alpha/alpha.c:5249 config/rs6000/rs6000.c:6533 +#: config/alpha/alpha.c:5651 config/rs6000/rs6000.c:7700 #, c-format msgid "invalid %%R value" msgstr "" -#: config/alpha/alpha.c:5271 config/m88k/m88k.c:2960 config/romp/romp.c:732 -#: config/romp/romp.c:739 +#: config/alpha/alpha.c:5657 config/rs6000/rs6000.c:7626 +#, c-format +msgid "invalid %%N value" +msgstr "" + +#: config/alpha/alpha.c:5665 config/rs6000/rs6000.c:7654 +#, c-format +msgid "invalid %%P value" +msgstr "" + +#: config/alpha/alpha.c:5673 config/m88k/m88k.c:2895 config/romp/romp.c:740 +#: config/romp/romp.c:747 #, c-format msgid "invalid %%h value" msgstr "" -#: config/alpha/alpha.c:5361 +#: config/alpha/alpha.c:5681 config/romp/romp.c:698 +#, c-format +msgid "invalid %%L value" +msgstr "" + +#: config/alpha/alpha.c:5720 config/rs6000/rs6000.c:7608 +#, c-format +msgid "invalid %%m value" +msgstr "" + +#: config/alpha/alpha.c:5728 config/rs6000/rs6000.c:7616 +#, c-format +msgid "invalid %%M value" +msgstr "" + +#: config/alpha/alpha.c:5772 #, c-format msgid "invalid %%U value" msgstr "" -#: config/alpha/alpha.c:5373 config/alpha/alpha.c:5387 config/romp/romp.c:698 -#: config/rs6000/rs6000.c:6541 +#: config/alpha/alpha.c:5784 config/alpha/alpha.c:5798 config/romp/romp.c:706 +#: config/rs6000/rs6000.c:7708 #, c-format msgid "invalid %%s value" msgstr "" -#: config/alpha/alpha.c:5447 config/m88k/m88k.c:3083 -#: config/rs6000/rs6000.c:6248 +#: config/alpha/alpha.c:5821 config/m88k/m88k.c:2997 +#, c-format +msgid "invalid %%C value" +msgstr "" + +#: config/alpha/alpha.c:5858 config/m88k/m88k.c:3018 +#: config/rs6000/rs6000.c:7465 #, c-format msgid "invalid %%E value" msgstr "" -#: config/alpha/alpha.c:5468 config/romp/romp.c:973 -#: config/rs6000/rs6000.c:6849 +#: config/alpha/alpha.c:5883 config/alpha/alpha.c:5933 +msgid "unknown relocation unspec" +msgstr "" + +#: config/alpha/alpha.c:5892 config/romp/romp.c:981 +#: config/rs6000/rs6000.c:8015 #, c-format msgid "invalid %%xn code" msgstr "" +#: config/alpha/alpha.c:6615 config/alpha/alpha.c:6618 +msgid "bad builtin fcode" +msgstr "" + #. Macro to define tables used to set the flags. #. This is a list in braces of pairs in braces, #. each pair being { "NAME", VALUE } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/alpha/alpha.h:214 config/i386/i386.h:291 config/i386/i386.h:293 -#: config/i386/i386.h:295 config/ns32k/ns32k.h:103 config/rs6000/rs6000.h:329 -#: config/s390/s390.h:56 config/sparc/sparc.h:529 config/sparc/sparc.h:534 +#: config/alpha/alpha.h:279 config/i386/i386.h:294 config/i386/i386.h:296 +#: config/i386/i386.h:298 config/ns32k/ns32k.h:140 config/rs6000/rs6000.h:292 +#: config/s390/s390.h:68 config/sparc/sparc.h:522 config/sparc/sparc.h:527 msgid "Use hardware fp" msgstr "" -#: config/alpha/alpha.h:215 config/i386/i386.h:292 config/i386/i386.h:294 -#: config/rs6000/rs6000.h:331 config/sparc/sparc.h:531 -#: config/sparc/sparc.h:536 +#: config/alpha/alpha.h:280 config/i386/i386.h:295 config/i386/i386.h:297 +#: config/rs6000/rs6000.h:294 config/sparc/sparc.h:524 +#: config/sparc/sparc.h:529 msgid "Do not use hardware fp" msgstr "" -#: config/alpha/alpha.h:216 +#: config/alpha/alpha.h:281 msgid "Use fp registers" msgstr "" -#: config/alpha/alpha.h:218 +#: config/alpha/alpha.h:283 msgid "Do not use fp registers" msgstr "" -#: config/alpha/alpha.h:219 +#: config/alpha/alpha.h:284 msgid "Do not assume GAS" msgstr "" -#: config/alpha/alpha.h:220 +#: config/alpha/alpha.h:285 msgid "Assume GAS" msgstr "" -#: config/alpha/alpha.h:222 +#: config/alpha/alpha.h:287 msgid "Request IEEE-conformant math library routines (OSF/1)" msgstr "" -#: config/alpha/alpha.h:224 +#: config/alpha/alpha.h:289 msgid "Emit IEEE-conformant code, without inexact exceptions" msgstr "" -#: config/alpha/alpha.h:226 +#: config/alpha/alpha.h:291 msgid "Emit IEEE-conformant code, with inexact exceptions" msgstr "" -#: config/alpha/alpha.h:228 +#: config/alpha/alpha.h:293 msgid "Do not emit complex integer constants to read-only memory" msgstr "" -#: config/alpha/alpha.h:229 +#: config/alpha/alpha.h:294 msgid "Use VAX fp" msgstr "" -#: config/alpha/alpha.h:230 +#: config/alpha/alpha.h:295 msgid "Do not use VAX fp" msgstr "" -#: config/alpha/alpha.h:231 +#: config/alpha/alpha.h:296 msgid "Emit code for the byte/word ISA extension" msgstr "" -#: config/alpha/alpha.h:234 +#: config/alpha/alpha.h:299 msgid "Emit code for the motion video ISA extension" msgstr "" -#: config/alpha/alpha.h:237 +#: config/alpha/alpha.h:302 msgid "Emit code for the fp move and sqrt ISA extension" msgstr "" -#: config/alpha/alpha.h:239 +#: config/alpha/alpha.h:304 msgid "Emit code for the counting ISA extension" msgstr "" -#: config/alpha/alpha.h:242 +#: config/alpha/alpha.h:307 msgid "Emit code using explicit relocation directives" msgstr "" -#: config/alpha/alpha.h:245 +#: config/alpha/alpha.h:310 msgid "Emit 16-bit relocations to the small data areas" msgstr "" -#: config/alpha/alpha.h:247 +#: config/alpha/alpha.h:312 msgid "Emit 32-bit relocations to the small data areas" msgstr "" +#: config/alpha/alpha.h:314 +msgid "Emit rdval instead of rduniq for thread pointer" +msgstr "" + #. For -mcpu= #. For -mtune= #. For -mfp-rounding-mode=[n|m|c|d] #. For -mfp-trap-mode=[n|u|su|sui] #. For -mtrap-precision=[p|f|i] #. For -mmemory-latency= -#: config/alpha/alpha.h:275 +#. For -mtls-size= +#: config/alpha/alpha.h:343 msgid "Use features of and schedule given CPU" msgstr "" -#: config/alpha/alpha.h:277 +#: config/alpha/alpha.h:345 msgid "Schedule given CPU" msgstr "" -#: config/alpha/alpha.h:279 +#: config/alpha/alpha.h:347 msgid "Control the generated fp rounding mode" msgstr "" -#: config/alpha/alpha.h:281 +#: config/alpha/alpha.h:349 msgid "Control the IEEE trap mode" msgstr "" -#: config/alpha/alpha.h:283 +#: config/alpha/alpha.h:351 msgid "Control the precision given to fp exceptions" msgstr "" -#: config/alpha/alpha.h:285 +#: config/alpha/alpha.h:353 msgid "Tune expected memory latency" msgstr "" -#: config/arc/arc.c:132 +#: config/alpha/alpha.h:355 config/ia64/ia64.h:221 +msgid "Specify bit size of immediate TLS offsets" +msgstr "" + +#: config/arc/arc.c:135 #, c-format msgid "bad value (%s) for -mcpu switch" msgstr "" -#: config/arc/arc.c:359 +#: config/arc/arc.c:362 #, c-format msgid "argument of `%s' attribute is not a string constant" msgstr "" -#: config/arc/arc.c:366 +#: config/arc/arc.c:369 #, c-format msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\"" msgstr "" -#: config/arc/arc.c:1709 config/m32r/m32r.c:2282 +#: config/arc/arc.c:1708 config/m32r/m32r.c:2286 #, c-format msgid "invalid operand to %%R code" msgstr "" -#: config/arc/arc.c:1741 config/m32r/m32r.c:2305 +#: config/arc/arc.c:1740 config/m32r/m32r.c:2309 #, c-format msgid "invalid operand to %%H/%%L code" msgstr "" -#: config/arc/arc.c:1765 config/m32r/m32r.c:2382 +#: config/arc/arc.c:1763 config/m32r/m32r.c:2385 #, c-format msgid "invalid operand to %%U code" msgstr "" -#: config/arc/arc.c:1776 +#: config/arc/arc.c:1774 #, c-format msgid "invalid operand to %%V code" msgstr "" #. Unknown flag. -#: config/arc/arc.c:1783 config/m32r/m32r.c:2421 config/sparc/sparc.c:6159 +#: config/arc/arc.c:1781 config/m32r/m32r.c:2424 config/sparc/sparc.c:6473 msgid "invalid operand output code" msgstr "" -#: config/arm/arm.c:436 +#: config/arm/arm.c:459 #, c-format msgid "switch -mcpu=%s conflicts with -march= switch" msgstr "" -#: config/arm/arm.c:446 config/rs6000/rs6000.c:444 config/sparc/sparc.c:381 +#: config/arm/arm.c:469 config/rs6000/rs6000.c:554 config/sparc/sparc.c:393 #, c-format msgid "bad value (%s) for %s switch" msgstr "" -#: config/arm/arm.c:582 +#: config/arm/arm.c:605 msgid "target CPU does not support APCS-32" msgstr "" -#: config/arm/arm.c:587 +#: config/arm/arm.c:610 msgid "target CPU does not support APCS-26" msgstr "" -#: config/arm/arm.c:593 +#: config/arm/arm.c:616 msgid "target CPU does not support interworking" msgstr "" -#: config/arm/arm.c:599 +#: config/arm/arm.c:622 msgid "target CPU does not support THUMB instructions" msgstr "" -#: config/arm/arm.c:613 +#: config/arm/arm.c:636 msgid "" "enabling backtrace support is only meaningful when compiling for the Thumb" msgstr "" -#: config/arm/arm.c:616 +#: config/arm/arm.c:639 msgid "" "enabling callee interworking support is only meaningful when compiling for " "the Thumb" msgstr "" -#: config/arm/arm.c:619 +#: config/arm/arm.c:642 msgid "" "enabling caller interworking support is only meaningful when compiling for " "the Thumb" msgstr "" -#: config/arm/arm.c:625 +#: config/arm/arm.c:648 msgid "interworking forces APCS-32 to be used" msgstr "" -#: config/arm/arm.c:631 +#: config/arm/arm.c:654 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" msgstr "" -#: config/arm/arm.c:639 +#: config/arm/arm.c:662 msgid "-fpic and -mapcs-reent are incompatible" msgstr "" -#: config/arm/arm.c:642 +#: config/arm/arm.c:665 msgid "APCS reentrant code not supported. Ignored" msgstr "" -#: config/arm/arm.c:650 +#: config/arm/arm.c:673 msgid "-g with -mno-apcs-frame may not give sensible debugging" msgstr "" -#: config/arm/arm.c:658 +#: config/arm/arm.c:681 msgid "passing floating point arguments in fp regs not yet supported" msgstr "" -#: config/arm/arm.c:687 +#: config/arm/arm.c:710 #, c-format msgid "invalid floating point emulation option: -mfpe-%s" msgstr "" -#: config/arm/arm.c:711 +#: config/arm/arm.c:734 msgid "structure size boundary can only be set to 8 or 32" msgstr "" -#: config/arm/arm.c:719 +#: config/arm/arm.c:742 msgid "-mpic-register= is useless without -fpic" msgstr "" -#: config/arm/arm.c:726 +#: config/arm/arm.c:749 #, c-format msgid "unable to use '%s' for PIC register" msgstr "" -#: config/arm/arm.c:1970 config/arm/arm.c:1993 config/avr/avr.c:4703 -#: config/c4x/c4x.c:4674 config/h8300/h8300.c:3381 config/i386/i386.c:1261 -#: config/i386/i386.c:1290 config/m68hc11/m68hc11.c:1220 -#: config/mcore/mcore.c:3506 config/ns32k/ns32k.c:1044 -#: config/rs6000/rs6000.c:10789 config/sh/sh.c:5592 config/sh/sh.c:5612 -#: config/sh/sh.c:5651 config/stormy16/stormy16.c:2012 config/v850/v850.c:2047 +#: config/arm/arm.c:2061 config/arm/arm.c:2084 config/avr/avr.c:4794 +#: config/c4x/c4x.c:4644 config/h8300/h8300.c:3623 config/i386/i386.c:1389 +#: config/i386/i386.c:1418 config/m68hc11/m68hc11.c:1216 +#: config/mcore/mcore.c:3510 config/ns32k/ns32k.c:1047 +#: config/rs6000/rs6000.c:12476 config/sh/sh.c:5678 config/sh/sh.c:5703 +#: config/sh/sh.c:5742 config/stormy16/stormy16.c:2026 config/v850/v850.c:2180 #, c-format msgid "`%s' attribute only applies to functions" msgstr "" -#: config/arm/arm.c:9290 +#: config/arm/arm.c:9474 msgid "unable to compute real location of stacked parameter" msgstr "" -#: config/arm/arm.c:9970 +#: config/arm/arm.c:10153 msgid "no low registers available for popping high registers" msgstr "" -#: config/arm/arm.c:10162 +#: config/arm/arm.c:10404 msgid "interrupt Service Routines cannot be coded in Thumb mode" msgstr "" -#: config/arm/pe.c:168 config/i386/winnt.c:290 config/mcore/mcore.c:3365 +#: config/arm/pe.c:168 config/i386/winnt.c:303 config/mcore/mcore.c:3358 #, c-format msgid "initialized variable `%s' is marked dllimport" msgstr "" -#: config/arm/pe.c:177 config/i386/winnt.c:299 +#: config/arm/pe.c:177 config/i386/winnt.c:312 #, c-format msgid "static variable `%s' is marked dllimport" msgstr "" -#: config/arm/arm.h:422 +#: config/arm/arm.h:416 msgid "Generate APCS conformant stack frames" msgstr "" -#: config/arm/arm.h:425 +#: config/arm/arm.h:419 msgid "Store function names in object code" msgstr "" -#: config/arm/arm.h:429 +#: config/arm/arm.h:423 msgid "Use the 32-bit version of the APCS" msgstr "" -#: config/arm/arm.h:431 +#: config/arm/arm.h:425 msgid "Use the 26-bit version of the APCS" msgstr "" -#: config/arm/arm.h:435 +#: config/arm/arm.h:429 msgid "Pass FP arguments in FP registers" msgstr "" -#: config/arm/arm.h:438 +#: config/arm/arm.h:432 msgid "Generate re-entrant, PIC code" msgstr "" -#: config/arm/arm.h:441 +#: config/arm/arm.h:435 msgid "The MMU will trap on unaligned accesses" msgstr "" -#: config/arm/arm.h:448 +#: config/arm/arm.h:442 msgid "Use library calls to perform FP operations" msgstr "" -#: config/arm/arm.h:450 config/i960/i960.h:281 +#: config/arm/arm.h:444 config/i960/i960.h:281 msgid "Use hardware floating point instructions" msgstr "" -#: config/arm/arm.h:452 +#: config/arm/arm.h:446 msgid "Assume target CPU is configured as big endian" msgstr "" -#: config/arm/arm.h:454 +#: config/arm/arm.h:448 msgid "Assume target CPU is configured as little endian" msgstr "" -#: config/arm/arm.h:456 +#: config/arm/arm.h:450 msgid "Assume big endian bytes, little endian words" msgstr "" -#: config/arm/arm.h:458 +#: config/arm/arm.h:452 msgid "Support calls between Thumb and ARM instruction sets" msgstr "" -#: config/arm/arm.h:461 +#: config/arm/arm.h:455 msgid "Generate a call to abort if a noreturn function returns" msgstr "" -#: config/arm/arm.h:464 +#: config/arm/arm.h:458 msgid "Do not move instructions into a function's prologue" msgstr "" -#: config/arm/arm.h:467 +#: config/arm/arm.h:461 msgid "Do not load the PIC register in function prologues" msgstr "" -#: config/arm/arm.h:470 +#: config/arm/arm.h:464 msgid "Generate call insns as indirect calls, if necessary" msgstr "" -#: config/arm/arm.h:473 +#: config/arm/arm.h:467 msgid "Compile for the Thumb not the ARM" msgstr "" -#: config/arm/arm.h:477 +#: config/arm/arm.h:471 msgid "Thumb: Generate (non-leaf) stack frames even if not needed" msgstr "" -#: config/arm/arm.h:480 +#: config/arm/arm.h:474 msgid "Thumb: Generate (leaf) stack frames even if not needed" msgstr "" -#: config/arm/arm.h:483 +#: config/arm/arm.h:477 msgid "Thumb: Assume non-static functions may be called from ARM code" msgstr "" -#: config/arm/arm.h:487 +#: config/arm/arm.h:481 msgid "Thumb: Assume function pointers may go to non-Thumb aware code" msgstr "" -#: config/arm/arm.h:497 +#: config/arm/arm.h:491 msgid "Specify the name of the target CPU" msgstr "" -#: config/arm/arm.h:499 +#: config/arm/arm.h:493 msgid "Specify the name of the target architecture" msgstr "" -#: config/arm/arm.h:503 +#: config/arm/arm.h:497 msgid "Specify the version of the floating point emulator" msgstr "" -#: config/arm/arm.h:505 +#: config/arm/arm.h:499 msgid "Specify the minimum bit alignment of structures" msgstr "" -#: config/arm/arm.h:507 +#: config/arm/arm.h:501 msgid "Specify the register to be used for PIC addressing" msgstr "" @@ -8824,99 +8880,92 @@ msgstr "" msgid "Ignore dllimport attribute for functions" msgstr "" -#. None of these is actually used in cc1. If we don't define them in target -#. switches cc1 complains about them. For the sake of argument lets allocate -#. bit 31 of target flags for such options. -#: config/arm/riscix.h:84 -msgid "Do symbol renaming for BSD" -msgstr "" - -#: config/arm/riscix.h:85 -msgid "Do symbol renaming for X/OPEN" -msgstr "" - -#: config/arm/riscix.h:86 -msgid "Don't do symbol renaming" -msgstr "" - -#: config/avr/avr.c:221 -#, c-format -msgid "MCU `%s' not supported" -msgstr "" - -#: config/avr/avr.c:461 +#: config/avr/avr.c:528 #, c-format msgid "large frame pointer change (%d) with -mtiny-stack" msgstr "" -#: config/avr/avr.c:1056 +#: config/avr/avr.c:1135 msgid "bad address, not (reg+disp):" msgstr "" -#: config/avr/avr.c:1064 +#: config/avr/avr.c:1143 msgid "internal compiler error. Bad address:" msgstr "" -#: config/avr/avr.c:1077 +#: config/avr/avr.c:1156 msgid "internal compiler error. Unknown mode:" msgstr "" -#: config/avr/avr.c:1785 config/avr/avr.c:2497 +#: config/avr/avr.c:1864 config/avr/avr.c:2576 msgid "invalid insn:" msgstr "" -#: config/avr/avr.c:1822 config/avr/avr.c:1908 config/avr/avr.c:1957 -#: config/avr/avr.c:1966 config/avr/avr.c:2064 config/avr/avr.c:2236 -#: config/avr/avr.c:2534 config/avr/avr.c:2645 +#: config/avr/avr.c:1901 config/avr/avr.c:1987 config/avr/avr.c:2036 +#: config/avr/avr.c:2045 config/avr/avr.c:2143 config/avr/avr.c:2315 +#: config/avr/avr.c:2613 config/avr/avr.c:2724 msgid "incorrect insn:" msgstr "" -#: config/avr/avr.c:1985 config/avr/avr.c:2149 config/avr/avr.c:2307 -#: config/avr/avr.c:2689 +#: config/avr/avr.c:2064 config/avr/avr.c:2228 config/avr/avr.c:2386 +#: config/avr/avr.c:2768 msgid "unknown move insn:" msgstr "" -#: config/avr/avr.c:2925 +#: config/avr/avr.c:3003 msgid "bad shift insn:" msgstr "" -#: config/avr/avr.c:3041 config/avr/avr.c:3471 config/avr/avr.c:3851 +#: config/avr/avr.c:3119 config/avr/avr.c:3549 config/avr/avr.c:3929 msgid "internal compiler error. Incorrect shift:" msgstr "" -#: config/avr/avr.c:4676 +#: config/avr/avr.c:4767 msgid "only initialized variables can be placed into program memory area" msgstr "" -#: config/avr/avr.h:63 +#: config/avr/avr.c:4866 +msgid "only uninitialized variables can be placed in the .noinit section" +msgstr "" + +#: config/avr/avr.c:4881 +#, c-format +msgid "MCU `%s' supported for assembler only" +msgstr "" + +#: config/avr/avr.h:78 msgid "Assume int to be 8 bit integer" msgstr "" -#: config/avr/avr.h:65 +#: config/avr/avr.h:80 msgid "Change the stack pointer without disabling interrupts" msgstr "" -#: config/avr/avr.h:67 +#: config/avr/avr.h:82 msgid "Use subroutines for function prologue/epilogue" msgstr "" -#: config/avr/avr.h:69 +#: config/avr/avr.h:84 msgid "Change only the low 8 bits of the stack pointer" msgstr "" -#: config/avr/avr.h:71 +#: config/avr/avr.h:86 msgid "Do not generate tablejump insns" msgstr "" -#: config/avr/avr.h:74 +#: config/avr/avr.h:88 +msgid "Use rjmp/rcall (limited range) on >8K devices" +msgstr "" + +#: config/avr/avr.h:91 msgid "Output instruction sizes to the asm file" msgstr "" -#: config/avr/avr.h:87 +#: config/avr/avr.h:108 msgid "Specify the initial stack address" msgstr "" -#: config/avr/avr.h:88 +#: config/avr/avr.h:109 msgid "Specify the MCU name" msgstr "" @@ -8928,132 +8977,132 @@ msgstr "" #. For instance, the SH target has only positive offsets in #. addresses. Thus sorting to put the smallest address first allows #. the most combinations to be found. -#: config/avr/avr.h:2553 +#: config/avr/avr.h:2450 msgid "trampolines not supported" msgstr "" -#: config/c4x/c4x-c.c:70 +#: config/c4x/c4x-c.c:69 #, c-format msgid "missing '(' after '#pragma %s' - ignored" msgstr "" -#: config/c4x/c4x-c.c:73 +#: config/c4x/c4x-c.c:72 #, c-format msgid "missing function name in '#pragma %s' - ignored" msgstr "" -#: config/c4x/c4x-c.c:78 +#: config/c4x/c4x-c.c:77 #, c-format msgid "malformed '#pragma %s' - ignored" msgstr "" -#: config/c4x/c4x-c.c:80 +#: config/c4x/c4x-c.c:79 #, c-format msgid "missing section name in '#pragma %s' - ignored" msgstr "" -#: config/c4x/c4x-c.c:85 +#: config/c4x/c4x-c.c:84 #, c-format msgid "missing ')' for '#pragma %s' - ignored" msgstr "" -#: config/c4x/c4x-c.c:88 +#: config/c4x/c4x-c.c:87 #, c-format msgid "junk at end of '#pragma %s'" msgstr "" -#: config/c4x/c4x.c:299 +#: config/c4x/c4x.c:280 #, c-format msgid "unknown CPU version %d, using 40.\n" msgstr "" -#: config/c4x/c4x.c:883 +#: config/c4x/c4x.c:853 #, c-format msgid "ISR %s requires %d words of local vars, max is 32767" msgstr "" -#: config/c4x/c4x.c:1631 +#: config/c4x/c4x.c:1602 msgid "using CONST_DOUBLE for address" msgstr "" -#: config/c4x/c4x.c:1771 +#: config/c4x/c4x.c:1742 msgid "c4x_address_cost: Invalid addressing mode" msgstr "" -#: config/c4x/c4x.c:1913 +#: config/c4x/c4x.c:1884 #, c-format msgid "c4x_print_operand: %%L inconsistency" msgstr "" -#: config/c4x/c4x.c:1919 +#: config/c4x/c4x.c:1890 #, c-format msgid "c4x_print_operand: %%N inconsistency" msgstr "" -#: config/c4x/c4x.c:1960 +#: config/c4x/c4x.c:1931 #, c-format msgid "c4x_print_operand: %%O inconsistency" msgstr "" -#: config/c4x/c4x.c:2056 +#: config/c4x/c4x.c:2026 msgid "c4x_print_operand: Bad operand case" msgstr "" -#: config/c4x/c4x.c:2099 +#: config/c4x/c4x.c:2069 msgid "c4x_print_operand_address: Bad post_modify" msgstr "" -#: config/c4x/c4x.c:2121 +#: config/c4x/c4x.c:2091 msgid "c4x_print_operand_address: Bad pre_modify" msgstr "" -#: config/c4x/c4x.c:2169 config/c4x/c4x.c:2181 config/c4x/c4x.c:2196 +#: config/c4x/c4x.c:2139 config/c4x/c4x.c:2151 config/c4x/c4x.c:2166 msgid "c4x_print_operand_address: Bad operand case" msgstr "" -#: config/c4x/c4x.c:2452 +#: config/c4x/c4x.c:2422 msgid "c4x_rptb_insert: Cannot find start label" msgstr "" -#: config/c4x/c4x.c:3439 config/c4x/c4x.c:3459 +#: config/c4x/c4x.c:3409 config/c4x/c4x.c:3429 msgid "mode not QImode" msgstr "" -#: config/c4x/c4x.c:3544 +#: config/c4x/c4x.c:3514 msgid "invalid indirect memory address" msgstr "" -#: config/c4x/c4x.c:3633 +#: config/c4x/c4x.c:3603 msgid "invalid indirect (S) memory address" msgstr "" -#: config/c4x/c4x.c:3974 +#: config/c4x/c4x.c:3944 msgid "c4x_valid_operands: Internal error" msgstr "" -#: config/c4x/c4x.c:4454 +#: config/c4x/c4x.c:4424 msgid "c4x_operand_subword: invalid mode" msgstr "" -#: config/c4x/c4x.c:4457 +#: config/c4x/c4x.c:4427 msgid "c4x_operand_subword: invalid operand" msgstr "" #. We could handle these with some difficulty. #. e.g., *p-- => *(p-=2); *(p+1). -#: config/c4x/c4x.c:4483 +#: config/c4x/c4x.c:4453 msgid "c4x_operand_subword: invalid autoincrement" msgstr "" -#: config/c4x/c4x.c:4489 +#: config/c4x/c4x.c:4459 msgid "c4x_operand_subword: invalid address" msgstr "" -#: config/c4x/c4x.c:4500 +#: config/c4x/c4x.c:4470 msgid "c4x_operand_subword: address not offsettable" msgstr "" -#: config/c4x/c4x.c:4700 +#: config/c4x/c4x.c:4670 msgid "c4x_rptb_rpts_p: Repeat block top label moved\n" msgstr "" @@ -9061,7 +9110,6 @@ msgstr "" #. Name of the c4x linker. #. Define assembler options. #. Define linker options. -#. Define C preprocessor options. #. Specify the end file to link with. #. Target compilation option flags. #. Small memory model. @@ -9097,405 +9145,343 @@ msgstr "" #. each pair being { "NAME", VALUE, "DESCRIPTION" } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/c4x/c4x.h:141 +#: config/c4x/c4x.h:170 msgid "Small memory model" msgstr "" -#: config/c4x/c4x.h:143 +#: config/c4x/c4x.h:172 msgid "Big memory model" msgstr "" -#: config/c4x/c4x.h:145 +#: config/c4x/c4x.h:174 msgid "Use MPYI instruction for C3x" msgstr "" -#: config/c4x/c4x.h:147 +#: config/c4x/c4x.h:176 msgid "Do not use MPYI instruction for C3x" msgstr "" -#: config/c4x/c4x.h:149 +#: config/c4x/c4x.h:178 msgid "Use fast but approximate float to integer conversion" msgstr "" -#: config/c4x/c4x.h:151 +#: config/c4x/c4x.h:180 msgid "Use slow but accurate float to integer conversion" msgstr "" -#: config/c4x/c4x.h:153 +#: config/c4x/c4x.h:182 msgid "Enable use of RTPS instruction" msgstr "" -#: config/c4x/c4x.h:155 +#: config/c4x/c4x.h:184 msgid "Disable use of RTPS instruction" msgstr "" -#: config/c4x/c4x.h:157 +#: config/c4x/c4x.h:186 msgid "Enable use of RTPB instruction" msgstr "" -#: config/c4x/c4x.h:159 +#: config/c4x/c4x.h:188 msgid "Disable use of RTPB instruction" msgstr "" -#: config/c4x/c4x.h:161 +#: config/c4x/c4x.h:190 msgid "Generate code for C30 CPU" msgstr "" -#: config/c4x/c4x.h:163 +#: config/c4x/c4x.h:192 msgid "Generate code for C31 CPU" msgstr "" -#: config/c4x/c4x.h:165 +#: config/c4x/c4x.h:194 msgid "Generate code for C32 CPU" msgstr "" -#: config/c4x/c4x.h:167 +#: config/c4x/c4x.h:196 msgid "Generate code for C33 CPU" msgstr "" -#: config/c4x/c4x.h:169 +#: config/c4x/c4x.h:198 msgid "Generate code for C40 CPU" msgstr "" -#: config/c4x/c4x.h:171 +#: config/c4x/c4x.h:200 msgid "Generate code for C44 CPU" msgstr "" -#: config/c4x/c4x.h:173 +#: config/c4x/c4x.h:202 msgid "Emit code compatible with TI tools" msgstr "" -#: config/c4x/c4x.h:175 +#: config/c4x/c4x.h:204 msgid "Emit code to use GAS extensions" msgstr "" -#: config/c4x/c4x.h:177 config/c4x/c4x.h:181 +#: config/c4x/c4x.h:206 config/c4x/c4x.h:210 msgid "Save DP across ISR in small memory model" msgstr "" -#: config/c4x/c4x.h:179 config/c4x/c4x.h:183 +#: config/c4x/c4x.h:208 config/c4x/c4x.h:212 msgid "Don't save DP across ISR in small memory model" msgstr "" -#: config/c4x/c4x.h:185 +#: config/c4x/c4x.h:214 msgid "Pass arguments on the stack" msgstr "" -#: config/c4x/c4x.h:187 +#: config/c4x/c4x.h:216 msgid "Pass arguments in registers" msgstr "" -#: config/c4x/c4x.h:189 +#: config/c4x/c4x.h:218 msgid "Enable new features under development" msgstr "" -#: config/c4x/c4x.h:191 +#: config/c4x/c4x.h:220 msgid "Disable new features under development" msgstr "" -#: config/c4x/c4x.h:193 +#: config/c4x/c4x.h:222 msgid "Use the BK register as a general purpose register" msgstr "" -#: config/c4x/c4x.h:195 +#: config/c4x/c4x.h:224 msgid "Do not allocate BK register" msgstr "" -#: config/c4x/c4x.h:197 +#: config/c4x/c4x.h:226 msgid "Enable use of DB instruction" msgstr "" -#: config/c4x/c4x.h:199 +#: config/c4x/c4x.h:228 msgid "Disable use of DB instruction" msgstr "" -#: config/c4x/c4x.h:201 +#: config/c4x/c4x.h:230 msgid "Enable debugging" msgstr "" -#: config/c4x/c4x.h:203 +#: config/c4x/c4x.h:232 msgid "Disable debugging" msgstr "" -#: config/c4x/c4x.h:205 +#: config/c4x/c4x.h:234 msgid "Force constants into registers to improve hoisting" msgstr "" -#: config/c4x/c4x.h:207 +#: config/c4x/c4x.h:236 msgid "Don't force constants into registers" msgstr "" -#: config/c4x/c4x.h:209 +#: config/c4x/c4x.h:238 msgid "Force RTL generation to emit valid 3 operand insns" msgstr "" -#: config/c4x/c4x.h:211 +#: config/c4x/c4x.h:240 msgid "Allow RTL generation to emit invalid 3 operand insns" msgstr "" -#: config/c4x/c4x.h:213 +#: config/c4x/c4x.h:242 msgid "Allow unsigned interation counts for RPTB/DB" msgstr "" -#: config/c4x/c4x.h:215 +#: config/c4x/c4x.h:244 msgid "Disallow unsigned iteration counts for RPTB/DB" msgstr "" -#: config/c4x/c4x.h:217 +#: config/c4x/c4x.h:246 msgid "Preserve all 40 bits of FP reg across call" msgstr "" -#: config/c4x/c4x.h:219 +#: config/c4x/c4x.h:248 msgid "Only preserve 32 bits of FP reg across call" msgstr "" -#: config/c4x/c4x.h:221 +#: config/c4x/c4x.h:250 msgid "Enable parallel instructions" msgstr "" -#: config/c4x/c4x.h:223 +#: config/c4x/c4x.h:252 msgid "Disable parallel instructions" msgstr "" -#: config/c4x/c4x.h:225 +#: config/c4x/c4x.h:254 msgid "Enable MPY||ADD and MPY||SUB instructions" msgstr "" -#: config/c4x/c4x.h:227 +#: config/c4x/c4x.h:256 msgid "Disable MPY||ADD and MPY||SUB instructions" msgstr "" -#: config/c4x/c4x.h:229 +#: config/c4x/c4x.h:258 msgid "Assume that pointers may be aliased" msgstr "" -#: config/c4x/c4x.h:231 +#: config/c4x/c4x.h:260 msgid "Assume that pointers not aliased" msgstr "" -#: config/c4x/c4x.h:304 +#: config/c4x/c4x.h:333 msgid "Specify maximum number of iterations for RPTS" msgstr "" -#: config/c4x/c4x.h:306 +#: config/c4x/c4x.h:335 msgid "Select CPU to generate code for" msgstr "" -#. Macros used in the machine description to test the flags. -#. Macro to define tables used to set the flags. -#. This is a list in braces of pairs in braces, -#. each pair being { "NAME", VALUE } -#. where VALUE is the bits to set or minus the bits to clear. -#. An empty string NAME is used to identify the default VALUE. -#: config/clipper/clipper.h:40 -msgid "Generate code for the C400" -msgstr "" - -#: config/clipper/clipper.h:41 -msgid "Generate code for the C300" -msgstr "" - -#: config/convex/convex.h:53 -msgid "Generate code for c1" -msgstr "" - -#: config/convex/convex.h:54 -msgid "Generate code for c2" -msgstr "" - -#: config/convex/convex.h:55 -msgid "Generate code for c32" -msgstr "" - -#: config/convex/convex.h:56 config/convex/convex.h:57 -msgid "Generate code for c34" -msgstr "" - -#: config/convex/convex.h:59 -msgid "Use standard calling sequence, with arg count word" -msgstr "" - -#: config/convex/convex.h:61 -msgid "Place arg count in a nop instruction (faster than push)" -msgstr "" - -#: config/convex/convex.h:63 -msgid "Don't push arg count, depend on symbol table" -msgstr "" - -#: config/convex/convex.h:65 -msgid "Use data cache for volatile mem refs (default)" -msgstr "" - -#: config/convex/convex.h:67 -msgid "Don't use data cache for volatile mem refs" -msgstr "" - -#: config/convex/convex.h:69 -msgid "Bypass data cache for volatile mem refs" -msgstr "" - -#: config/convex/convex.h:70 -msgid "Use 64-bit longs" -msgstr "" - -#: config/convex/convex.h:71 -msgid "Use cc- and libc-compatible 32-bit longs" -msgstr "" - -#: config/cris/cris.c:569 +#: config/cris/cris.c:583 msgid "unexpected index-type in cris_print_index" msgstr "" -#: config/cris/cris.c:585 +#: config/cris/cris.c:599 msgid "unexpected base-type in cris_print_base" msgstr "" -#: config/cris/cris.c:878 +#: config/cris/cris.c:892 #, c-format msgid "stackframe too big: %d bytes" msgstr "" -#: config/cris/cris.c:1193 +#: config/cris/cris.c:1207 msgid "allocated but unused delay list in epilogue" msgstr "" -#: config/cris/cris.c:1203 +#: config/cris/cris.c:1217 msgid "" "unexpected function type needing stack adjustment for __builtin_eh_return" msgstr "" -#: config/cris/cris.c:1282 +#: config/cris/cris.c:1296 msgid "invalid operand for 'b' modifier" msgstr "" -#: config/cris/cris.c:1294 +#: config/cris/cris.c:1308 msgid "invalid operand for 'v' modifier" msgstr "" -#: config/cris/cris.c:1304 +#: config/cris/cris.c:1318 msgid "invalid operand for 'P' modifier" msgstr "" -#: config/cris/cris.c:1311 +#: config/cris/cris.c:1325 msgid "invalid operand for 'p' modifier" msgstr "" -#: config/cris/cris.c:1350 +#: config/cris/cris.c:1364 msgid "invalid operand for 'z' modifier" msgstr "" -#: config/cris/cris.c:1381 config/cris/cris.c:1411 +#: config/cris/cris.c:1395 config/cris/cris.c:1425 msgid "invalid operand for 'H' modifier" msgstr "" -#: config/cris/cris.c:1387 +#: config/cris/cris.c:1401 msgid "bad register" msgstr "" -#: config/cris/cris.c:1425 +#: config/cris/cris.c:1439 msgid "invalid operand for 'e' modifier" msgstr "" -#: config/cris/cris.c:1442 +#: config/cris/cris.c:1456 msgid "invalid operand for 'm' modifier" msgstr "" -#: config/cris/cris.c:1467 +#: config/cris/cris.c:1481 msgid "invalid operand for 'A' modifier" msgstr "" -#: config/cris/cris.c:1475 +#: config/cris/cris.c:1489 msgid "invalid operand for 'D' modifier" msgstr "" -#: config/cris/cris.c:1489 +#: config/cris/cris.c:1503 msgid "invalid operand for 'T' modifier" msgstr "" -#: config/cris/cris.c:1498 +#: config/cris/cris.c:1512 msgid "invalid operand modifier letter" msgstr "" -#: config/cris/cris.c:1506 +#: config/cris/cris.c:1520 #, c-format msgid "internal error: bad register: %d" msgstr "" -#: config/cris/cris.c:1554 +#: config/cris/cris.c:1568 msgid "unexpected multiplicative operand" msgstr "" -#: config/cris/cris.c:1574 +#: config/cris/cris.c:1588 msgid "unexpected operand" msgstr "" -#: config/cris/cris.c:1609 config/cris/cris.c:1619 +#: config/cris/cris.c:1623 config/cris/cris.c:1633 msgid "unrecognized address" msgstr "" -#: config/cris/cris.c:1975 +#: config/cris/cris.c:1989 msgid "internal error: sideeffect-insn affecting main effect" msgstr "" #. If we get here, the caller got its initial tests wrong. -#: config/cris/cris.c:2262 +#: config/cris/cris.c:2276 msgid "internal error: cris_side_effect_mode_ok with bad operands" msgstr "" -#: config/cris/cris.c:2344 config/cris/cris.c:2402 +#: config/cris/cris.c:2358 config/cris/cris.c:2416 msgid "unrecognized supposed constant" msgstr "" -#: config/cris/cris.c:2443 +#: config/cris/cris.c:2457 msgid "unrecognized supposed constant in cris_global_pic_symbol" msgstr "" -#: config/cris/cris.c:2462 +#: config/cris/cris.c:2476 #, c-format msgid "-max-stackframe=%d is not usable, not between 0 and %d" msgstr "" -#: config/cris/cris.c:2490 +#: config/cris/cris.c:2504 #, c-format msgid "unknown CRIS version specification in -march= or -mcpu= : %s" msgstr "" -#: config/cris/cris.c:2526 +#: config/cris/cris.c:2540 #, c-format msgid "unknown CRIS cpu version specification in -mtune= : %s" msgstr "" -#: config/cris/cris.c:2544 +#: config/cris/cris.c:2558 msgid "-fPIC and -fpic are not supported in this configuration" msgstr "" -#: config/cris/cris.c:2560 +#: config/cris/cris.c:2574 msgid "that particular -g option is invalid with -maout and -melinux" msgstr "" -#: config/cris/cris.c:2790 config/cris/cris.c:2835 +#: config/cris/cris.c:2808 config/cris/cris.c:2853 msgid "unexpected side-effects in address" msgstr "" #. Labels are never marked as global symbols. -#: config/cris/cris.c:2932 config/cris/cris.c:2963 +#: config/cris/cris.c:2950 config/cris/cris.c:2981 msgid "unexpected PIC symbol" msgstr "" -#: config/cris/cris.c:2936 +#: config/cris/cris.c:2954 msgid "PIC register isn't set up" msgstr "" -#: config/cris/cris.c:2949 config/cris/cris.c:3032 +#: config/cris/cris.c:2967 config/cris/cris.c:3050 msgid "unexpected address expression" msgstr "" -#: config/cris/cris.c:2967 +#: config/cris/cris.c:2985 msgid "emitting PIC operand, but PIC register isn't set up" msgstr "" -#: config/cris/cris.c:2976 +#: config/cris/cris.c:2994 msgid "unexpected NOTE as addr_const:" msgstr "" @@ -9575,7 +9561,7 @@ msgid "Warn when a stackframe is larger than the specified size" msgstr "" #. Node: Profiling -#: config/cris/cris.h:1023 +#: config/cris/cris.h:1019 msgid "no FUNCTION_PROFILER for CRIS" msgstr "" @@ -9583,105 +9569,105 @@ msgstr "" msgid "Together with -fpic and -fPIC, do not use GOTPLT references" msgstr "" -#: config/d30v/d30v.c:210 +#: config/d30v/d30v.c:207 #, c-format msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s" msgstr "" -#: config/d30v/d30v.c:2677 +#: config/d30v/d30v.c:2666 msgid "bad insn to d30v_print_operand_address:" msgstr "" -#: config/d30v/d30v.c:2694 config/d30v/d30v.c:2755 config/d30v/d30v.c:2776 -#: config/d30v/d30v.c:2794 +#: config/d30v/d30v.c:2683 config/d30v/d30v.c:2744 config/d30v/d30v.c:2765 +#: config/d30v/d30v.c:2783 msgid "bad insn to d30v_print_operand_memory_reference:" msgstr "" -#: config/d30v/d30v.c:2862 +#: config/d30v/d30v.c:2851 msgid "bad insn to d30v_print_operand, 'f' modifier:" msgstr "" -#: config/d30v/d30v.c:2871 +#: config/d30v/d30v.c:2860 msgid "bad insn to d30v_print_operand, 'A' modifier:" msgstr "" -#: config/d30v/d30v.c:2878 +#: config/d30v/d30v.c:2867 msgid "bad insn to d30v_print_operand, 'M' modifier:" msgstr "" -#: config/d30v/d30v.c:2932 +#: config/d30v/d30v.c:2921 msgid "bad insn to print_operand, 'F' or 'T' modifier:" msgstr "" -#: config/d30v/d30v.c:2943 +#: config/d30v/d30v.c:2932 msgid "bad insn to print_operand, 'B' modifier:" msgstr "" -#: config/d30v/d30v.c:2950 +#: config/d30v/d30v.c:2939 msgid "bad insn to print_operand, 'E' modifier:" msgstr "" -#: config/d30v/d30v.c:2968 +#: config/d30v/d30v.c:2957 msgid "bad insn to print_operand, 'R' modifier:" msgstr "" -#: config/d30v/d30v.c:2977 config/d30v/d30v.c:2985 +#: config/d30v/d30v.c:2966 config/d30v/d30v.c:2974 msgid "bad insn to print_operand, 's' modifier:" msgstr "" -#: config/d30v/d30v.c:3014 +#: config/d30v/d30v.c:3003 msgid "bad insn in d30v_print_operand, 0 case" msgstr "" -#: config/d30v/d30v.c:3369 +#: config/d30v/d30v.c:3301 msgid "d30v_emit_comparison" msgstr "" -#: config/d30v/d30v.c:3413 +#: config/d30v/d30v.c:3345 msgid "bad call to d30v_move_2words" msgstr "" -#: config/d30v/d30v.h:108 +#: config/d30v/d30v.h:114 msgid "Enable use of conditional move instructions" msgstr "" -#: config/d30v/d30v.h:111 +#: config/d30v/d30v.h:117 msgid "Disable use of conditional move instructions" msgstr "" -#: config/d30v/d30v.h:114 +#: config/d30v/d30v.h:120 msgid "Debug argument support in compiler" msgstr "" -#: config/d30v/d30v.h:117 +#: config/d30v/d30v.h:123 msgid "Debug stack support in compiler" msgstr "" -#: config/d30v/d30v.h:120 +#: config/d30v/d30v.h:126 msgid "Debug memory address support in compiler" msgstr "" -#: config/d30v/d30v.h:123 +#: config/d30v/d30v.h:129 msgid "Make adjacent short instructions parallel if possible" msgstr "" -#: config/d30v/d30v.h:126 +#: config/d30v/d30v.h:132 msgid "Do not make adjacent short instructions parallel" msgstr "" -#: config/d30v/d30v.h:129 config/d30v/d30v.h:132 +#: config/d30v/d30v.h:135 config/d30v/d30v.h:138 msgid "Link programs/data to be in external memory by default" msgstr "" -#: config/d30v/d30v.h:135 +#: config/d30v/d30v.h:141 msgid "Link programs/data to be in onchip memory by default" msgstr "" -#: config/d30v/d30v.h:143 +#: config/d30v/d30v.h:149 msgid "Change the branch costs within the compiler" msgstr "" -#: config/d30v/d30v.h:146 +#: config/d30v/d30v.h:152 msgid "Change the threshold for conversion to conditional execution" msgstr "" @@ -9693,27 +9679,27 @@ msgstr "" msgid "invalid addressing mode" msgstr "" -#: config/dsp16xx/dsp16xx.c:1857 +#: config/dsp16xx/dsp16xx.c:1821 msgid "bad register extension code" msgstr "" -#: config/dsp16xx/dsp16xx.c:1957 +#: config/dsp16xx/dsp16xx.c:1921 msgid "invalid offset in ybase addressing" msgstr "" -#: config/dsp16xx/dsp16xx.c:1960 +#: config/dsp16xx/dsp16xx.c:1924 msgid "invalid register in ybase addressing" msgstr "" -#: config/dsp16xx/dsp16xx.c:2135 +#: config/dsp16xx/dsp16xx.c:2099 msgid "invalid shift operator in emit_1600_core_shift" msgstr "" -#: config/dsp16xx/dsp16xx.c:2464 +#: config/dsp16xx/dsp16xx.c:2428 msgid "invalid mode for gen_tst_reg" msgstr "" -#: config/dsp16xx/dsp16xx.c:2536 +#: config/dsp16xx/dsp16xx.c:2500 msgid "invalid mode for integer comparison in gen_compare_reg" msgstr "" @@ -9722,239 +9708,379 @@ msgstr "" #. each pair being { "NAME", VALUE } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/dsp16xx/dsp16xx.h:215 +#: config/dsp16xx/dsp16xx.h:230 msgid "Pass parameters in registers (default)" msgstr "" -#: config/dsp16xx/dsp16xx.h:217 +#: config/dsp16xx/dsp16xx.h:232 msgid "Don't pass parameters in registers" msgstr "" -#: config/dsp16xx/dsp16xx.h:219 +#: config/dsp16xx/dsp16xx.h:234 msgid "Generate code for near calls" msgstr "" -#: config/dsp16xx/dsp16xx.h:221 +#: config/dsp16xx/dsp16xx.h:236 msgid "Don't generate code for near calls" msgstr "" -#: config/dsp16xx/dsp16xx.h:223 +#: config/dsp16xx/dsp16xx.h:238 msgid "Generate code for near jumps" msgstr "" -#: config/dsp16xx/dsp16xx.h:225 +#: config/dsp16xx/dsp16xx.h:240 msgid "Don't generate code for near jumps" msgstr "" -#: config/dsp16xx/dsp16xx.h:227 +#: config/dsp16xx/dsp16xx.h:242 msgid "Generate code for a bit-manipulation unit" msgstr "" -#: config/dsp16xx/dsp16xx.h:229 +#: config/dsp16xx/dsp16xx.h:244 msgid "Don't generate code for a bit-manipulation unit" msgstr "" -#: config/dsp16xx/dsp16xx.h:231 +#: config/dsp16xx/dsp16xx.h:246 msgid "Generate code for memory map1" msgstr "" -#: config/dsp16xx/dsp16xx.h:233 +#: config/dsp16xx/dsp16xx.h:248 msgid "Generate code for memory map2" msgstr "" -#: config/dsp16xx/dsp16xx.h:235 +#: config/dsp16xx/dsp16xx.h:250 msgid "Generate code for memory map3" msgstr "" -#: config/dsp16xx/dsp16xx.h:237 +#: config/dsp16xx/dsp16xx.h:252 msgid "Generate code for memory map4" msgstr "" -#: config/dsp16xx/dsp16xx.h:239 +#: config/dsp16xx/dsp16xx.h:254 msgid "Ouput extra code for initialized data" msgstr "" -#: config/dsp16xx/dsp16xx.h:241 +#: config/dsp16xx/dsp16xx.h:256 msgid "Don't let reg. allocator use ybase registers" msgstr "" -#: config/dsp16xx/dsp16xx.h:243 +#: config/dsp16xx/dsp16xx.h:258 msgid "Output extra debug info in Luxworks environment" msgstr "" -#: config/dsp16xx/dsp16xx.h:245 +#: config/dsp16xx/dsp16xx.h:260 msgid "Save temp. files in Luxworks environment" msgstr "" -#: config/dsp16xx/dsp16xx.h:257 +#: config/dsp16xx/dsp16xx.h:272 msgid "Specify alternate name for text section" msgstr "" -#: config/dsp16xx/dsp16xx.h:259 +#: config/dsp16xx/dsp16xx.h:274 msgid "Specify alternate name for data section" msgstr "" -#: config/dsp16xx/dsp16xx.h:261 +#: config/dsp16xx/dsp16xx.h:276 msgid "Specify alternate name for bss section" msgstr "" -#: config/dsp16xx/dsp16xx.h:263 +#: config/dsp16xx/dsp16xx.h:278 msgid "Specify alternate name for constant section" msgstr "" -#: config/dsp16xx/dsp16xx.h:265 +#: config/dsp16xx/dsp16xx.h:280 msgid "Specify alternate name for dsp16xx chip" msgstr "" #. Output assembler code to FILE to increment profiler label # LABELNO #. for profiling a function entry. -#: config/dsp16xx/dsp16xx.h:1203 config/dsp16xx/dsp16xx.h:1208 -#: config/dsp16xx/dsp16xx.h:1213 config/dsp16xx/dsp16xx.h:1793 -#: config/dsp16xx/dsp16xx.h:1798 +#: config/dsp16xx/dsp16xx.h:1218 config/dsp16xx/dsp16xx.h:1772 +#: config/dsp16xx/dsp16xx.h:1777 msgid "profiling not implemented yet" msgstr "" #. Emit RTL insns to initialize the variable parts of a trampoline. #. FNADDR is an RTX for the address of the function's pure code. #. CXT is an RTX for the static chain value for the function. -#: config/dsp16xx/dsp16xx.h:1224 config/dsp16xx/dsp16xx.h:1236 +#: config/dsp16xx/dsp16xx.h:1228 config/dsp16xx/dsp16xx.h:1240 msgid "trampolines not yet implemented" msgstr "" -#. Macro to define tables used to set the flags. -#. This is a list in braces of pairs in braces, -#. each pair being { "NAME", VALUE } -#. where VALUE is the bits to set or minus the bits to clear. -#. An empty string NAME is used to identify the default VALUE. -#: config/elxsi/elxsi.h:51 -msgid "Generate code the unix assembler can handle" -msgstr "" - -#: config/elxsi/elxsi.h:52 -msgid "Generate code an embedded assembler can handle" -msgstr "" - -#: config/fr30/fr30.c:456 +#: config/fr30/fr30.c:453 msgid "fr30_print_operand_address: unhandled address" msgstr "" -#: config/fr30/fr30.c:483 +#: config/fr30/fr30.c:480 #, c-format msgid "fr30_print_operand: unrecognized %%p code" msgstr "" -#: config/fr30/fr30.c:503 +#: config/fr30/fr30.c:500 #, c-format msgid "fr30_print_operand: unrecognized %%b code" msgstr "" -#: config/fr30/fr30.c:524 +#: config/fr30/fr30.c:521 #, c-format msgid "fr30_print_operand: unrecognized %%B code" msgstr "" -#: config/fr30/fr30.c:532 +#: config/fr30/fr30.c:529 #, c-format msgid "fr30_print_operand: invalid operand to %%A code" msgstr "" -#: config/fr30/fr30.c:549 +#: config/fr30/fr30.c:546 #, c-format msgid "fr30_print_operand: invalid %%x code" msgstr "" -#: config/fr30/fr30.c:556 +#: config/fr30/fr30.c:553 #, c-format msgid "fr30_print_operand: invalid %%F code" msgstr "" -#: config/fr30/fr30.c:572 +#: config/fr30/fr30.c:570 msgid "fr30_print_operand: unknown code" msgstr "" -#: config/fr30/fr30.c:601 config/fr30/fr30.c:610 config/fr30/fr30.c:621 -#: config/fr30/fr30.c:634 +#: config/fr30/fr30.c:599 config/fr30/fr30.c:608 config/fr30/fr30.c:619 +#: config/fr30/fr30.c:632 msgid "fr30_print_operand: unhandled MEM" msgstr "" -#: config/fr30/fr30.h:57 +#: config/fr30/fr30.h:63 msgid "Assume small address space" msgstr "" -#: config/h8300/h8300.c:143 +#: config/frv/frv.c:410 config/frv/frv.c:428 +#, c-format +msgid "Unknown cpu: -mcpu=%s" +msgstr "" + +#: config/frv/frv.c:451 +msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)" +msgstr "" + +#: config/frv/frv.c:2520 +msgid "Bad insn to frv_print_operand_address:" +msgstr "" + +#: config/frv/frv.c:2533 +msgid "Bad register to frv_print_operand_memory_reference_reg:" +msgstr "" + +#: config/frv/frv.c:2574 config/frv/frv.c:2584 config/frv/frv.c:2593 +#: config/frv/frv.c:2621 config/frv/frv.c:2633 config/frv/frv.c:2637 +msgid "Bad insn to frv_print_operand_memory_reference:" +msgstr "" + +#: config/frv/frv.c:2779 +msgid "Bad insn in frv_print_operand, bad const_double" +msgstr "" + +#: config/frv/frv.c:2824 +msgid "Bad insn to frv_print_operand, 'C' modifier:" +msgstr "" + +#: config/frv/frv.c:2847 +msgid "Bad insn to frv_print_operand, 'c' modifier:" +msgstr "" + +#: config/frv/frv.c:2872 +msgid "Bad insn to frv_print_operand, 'e' modifier:" +msgstr "" + +#: config/frv/frv.c:2880 +msgid "Bad insn to frv_print_operand, 'F' modifier:" +msgstr "" + +#: config/frv/frv.c:2896 +msgid "Bad insn to frv_print_operand, 'f' modifier:" +msgstr "" + +#: config/frv/frv.c:2949 +msgid "Bad insn to frv_print_operand, 'L' modifier:" +msgstr "" + +#: config/frv/frv.c:2962 +msgid "Bad insn to frv_print_operand, 'M/N' modifier:" +msgstr "" + +#: config/frv/frv.c:2983 +msgid "Bad insn to frv_print_operand, 'O' modifier:" +msgstr "" + +#: config/frv/frv.c:3001 +msgid "Bad insn to frv_print_operand, P modifier:" +msgstr "" + +#: config/frv/frv.c:3021 +msgid "Bad insn in frv_print_operand, z case" +msgstr "" + +#: config/frv/frv.c:3049 +msgid "Bad insn in frv_print_operand, 0 case" +msgstr "" + +#: config/frv/frv.c:3054 +msgid "frv_print_operand: unknown code" +msgstr "" + +#: config/frv/frv.c:5737 +msgid "Bad output_move_single operand" +msgstr "" + +#: config/frv/frv.c:5866 +msgid "Bad output_move_double operand" +msgstr "" + +#: config/frv/frv.c:6010 +msgid "Bad output_condmove_single operand" +msgstr "" + +#: config/frv/frv.c:8315 +msgid "frv_registers_update" +msgstr "" + +#: config/frv/frv.c:8475 +msgid "frv_registers_used_p" +msgstr "" + +#: config/frv/frv.c:8604 +msgid "frv_registers_set_p" +msgstr "" + +#: config/frv/frv.c:9171 +msgid "accumulator is not a constant integer" +msgstr "" + +#: config/frv/frv.c:9176 +msgid "accumulator number is out of bounds" +msgstr "" + +#: config/frv/frv.c:9187 +#, c-format +msgid "inappropriate accumulator for `%s'" +msgstr "" + +#: config/frv/frv.c:9253 +#, c-format +msgid "`%s' expects a constant argument" +msgstr "" + +#: config/frv/frv.c:9258 +#, c-format +msgid "constant argument out of range for `%s'" +msgstr "" + +#: config/frv/frv.c:9638 +msgid "media functions are not available unless -mmedia is used" +msgstr "" + +#: config/frv/frv.c:9650 +msgid "this media function is only available on the fr500" +msgstr "" + +#: config/frv/frv.c:9678 +msgid "this media function is only available on the fr400" +msgstr "" + +#. This macro is a C statement to print on `stderr' a string describing the +#. particular machine description choice. Every machine description should +#. define `TARGET_VERSION'. For example: +#. +#. #ifdef MOTOROLA +#. #define TARGET_VERSION fprintf (stderr, " (68k, Motorola syntax)"); +#. #else +#. #define TARGET_VERSION fprintf (stderr, " (68k, MIT syntax)"); +#. #endif +#: config/frv/frv.h:512 +msgid " (frv)" +msgstr "" + +#: config/h8300/h8300.c:314 msgid "-ms2600 is used without -ms" msgstr "" +#: config/h8300/h8300.c:320 +msgid "-mn is used without -mh or -ms" +msgstr "" + #. Macro to define tables used to set the flags. #. This is a list in braces of pairs in braces, #. each pair being { "NAME", VALUE } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/h8300/h8300.h:117 -msgid "Generate H8/S code" +#: config/h8300/h8300.h:150 +msgid "Generate H8S code" msgstr "" -#: config/h8300/h8300.h:118 -msgid "Do not generate H8/S code" +#: config/h8300/h8300.h:151 +msgid "Do not generate H8S code" msgstr "" -#: config/h8300/h8300.h:119 -msgid "Generate H8/S2600 code" +#: config/h8300/h8300.h:152 +msgid "Generate H8S/2600 code" msgstr "" -#: config/h8300/h8300.h:120 -msgid "Do not generate H8/S2600 code" +#: config/h8300/h8300.h:153 +msgid "Do not generate H8S/2600 code" msgstr "" -#: config/h8300/h8300.h:121 +#: config/h8300/h8300.h:154 msgid "Make integers 32 bits wide" msgstr "" -#: config/h8300/h8300.h:124 +#: config/h8300/h8300.h:157 msgid "Use registers for argument passing" msgstr "" -#: config/h8300/h8300.h:126 +#: config/h8300/h8300.h:159 msgid "Do not use registers for argument passing" msgstr "" -#: config/h8300/h8300.h:128 +#: config/h8300/h8300.h:161 msgid "Consider access to byte sized memory slow" msgstr "" -#: config/h8300/h8300.h:129 +#: config/h8300/h8300.h:162 msgid "Enable linker relaxing" msgstr "" -#: config/h8300/h8300.h:131 +#: config/h8300/h8300.h:164 msgid "Generate H8/300H code" msgstr "" -#: config/h8300/h8300.h:132 +#: config/h8300/h8300.h:165 +msgid "Enable the normal mode" +msgstr "" + +#: config/h8300/h8300.h:166 msgid "Do not generate H8/300H code" msgstr "" -#: config/h8300/h8300.h:133 +#: config/h8300/h8300.h:167 msgid "Use H8/300 alignment rules" msgstr "" -#: config/i370/i370-c.c:54 +#: config/i370/i370-c.c:53 msgid "junk at end of #pragma map" msgstr "" -#: config/i370/i370-c.c:60 +#: config/i370/i370-c.c:59 msgid "malformed #pragma map, ignored" msgstr "" -#: config/i370/i370.c:897 +#: config/i370/i370.c:915 msgid "real name is too long - alias ignored" msgstr "" -#: config/i370/i370.c:902 +#: config/i370/i370.c:920 msgid "alias name is too long - alias ignored" msgstr "" -#: config/i370/i370.c:1173 +#: config/i370/i370.c:1191 msgid "internal error--no jump follows compare:" msgstr "" @@ -9962,162 +10088,171 @@ msgstr "" #. of pairs in braces, each pair being { "NAME", VALUE } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/i370/i370.h:63 +#: config/i370/i370.h:75 msgid "Generate char instructions" msgstr "" -#: config/i370/i370.h:64 +#: config/i370/i370.h:76 msgid "Do not generate char instructions" msgstr "" -#: config/i386/i386.c:926 +#: config/i386/i386.c:1043 #, c-format msgid "code model %s not supported in PIC mode" msgstr "" -#: config/i386/i386.c:936 config/sparc/sparc.c:344 +#: config/i386/i386.c:1053 config/sparc/sparc.c:356 #, c-format msgid "bad value (%s) for -mcmodel= switch" msgstr "" -#: config/i386/i386.c:951 +#: config/i386/i386.c:1068 #, c-format msgid "bad value (%s) for -masm= switch" msgstr "" -#: config/i386/i386.c:954 +#: config/i386/i386.c:1071 #, c-format msgid "code model `%s' not supported in the %s bit mode" msgstr "" -#: config/i386/i386.c:957 +#: config/i386/i386.c:1074 msgid "code model `large' not supported yet" msgstr "" -#: config/i386/i386.c:959 +#: config/i386/i386.c:1076 #, c-format msgid "%i-bit mode not compiled in" msgstr "" -#: config/i386/i386.c:989 config/mips/mips.c:4969 +#: config/i386/i386.c:1106 #, c-format msgid "bad value (%s) for -march= switch" msgstr "" -#: config/i386/i386.c:1000 config/mips/mips.c:4925 +#: config/i386/i386.c:1117 #, c-format msgid "bad value (%s) for -mcpu= switch" msgstr "" -#: config/i386/i386.c:1019 +#: config/i386/i386.c:1134 #, c-format msgid "-mregparm=%d is not between 0 and %d" msgstr "" -#: config/i386/i386.c:1032 +#: config/i386/i386.c:1147 msgid "-malign-loops is obsolete, use -falign-loops" msgstr "" -#: config/i386/i386.c:1037 config/i386/i386.c:1050 config/i386/i386.c:1063 +#: config/i386/i386.c:1152 config/i386/i386.c:1165 config/i386/i386.c:1178 #, c-format msgid "-malign-loops=%d is not between 0 and %d" msgstr "" -#: config/i386/i386.c:1045 +#: config/i386/i386.c:1160 msgid "-malign-jumps is obsolete, use -falign-jumps" msgstr "" -#: config/i386/i386.c:1058 +#: config/i386/i386.c:1173 msgid "-malign-functions is obsolete, use -falign-functions" msgstr "" -#: config/i386/i386.c:1096 +#: config/i386/i386.c:1211 #, c-format msgid "-mpreferred-stack-boundary=%d is not between %d and 12" msgstr "" -#: config/i386/i386.c:1108 +#: config/i386/i386.c:1223 #, c-format msgid "-mbranch-cost=%d is not between 0 and 5" msgstr "" -#: config/i386/i386.c:1130 +#: config/i386/i386.c:1235 +#, c-format +msgid "bad value (%s) for -mtls-dialect= switch" +msgstr "" + +#: config/i386/i386.c:1256 msgid "-malign-double makes no sense in the 64bit mode" msgstr "" -#: config/i386/i386.c:1132 +#: config/i386/i386.c:1258 msgid "-mrtd calling convention not supported in the 64bit mode" msgstr "" -#: config/i386/i386.c:1148 config/i386/i386.c:1159 +#: config/i386/i386.c:1274 config/i386/i386.c:1285 msgid "SSE instruction set disabled, using 387 arithmetics" msgstr "" -#: config/i386/i386.c:1164 +#: config/i386/i386.c:1290 msgid "387 instruction set disabled, using SSE arithmetics" msgstr "" -#: config/i386/i386.c:1171 +#: config/i386/i386.c:1297 #, c-format msgid "bad value (%s) for -mfpmath= switch" msgstr "" -#: config/i386/i386.c:1301 +#: config/i386/i386.c:1429 #, c-format msgid "`%s' attribute requires an integer constant argument" msgstr "" -#: config/i386/i386.c:1307 +#: config/i386/i386.c:1435 #, c-format msgid "argument to `%s' attribute larger than %d" msgstr "" -#: config/i386/i386.c:5385 +#: config/i386/i386.c:6176 msgid "invalid UNSPEC as operand" msgstr "" -#: config/i386/i386.c:5622 +#: config/i386/i386.c:6438 msgid "extended registers have no high halves" msgstr "" -#: config/i386/i386.c:5637 +#: config/i386/i386.c:6453 msgid "unsupported operand size for extended register" msgstr "" -#: config/i386/i386.c:5910 +#: config/i386/i386.c:6768 msgid "" "operand is neither a constant nor a condition code, invalid operand code 'c'" msgstr "" -#: config/i386/i386.c:5956 +#: config/i386/i386.c:6814 #, c-format msgid "invalid operand code `%c'" msgstr "" -#: config/i386/i386.c:6003 +#: config/i386/i386.c:6861 msgid "invalid constraints for operand" msgstr "" -#: config/i386/i386.c:9978 +#: config/i386/i386.c:11027 msgid "unknown insn mode" msgstr "" #. @@@ better error message -#: config/i386/i386.c:11841 config/i386/i386.c:11874 +#: config/i386/i386.c:13083 config/i386/i386.c:13119 msgid "selector must be an immediate" msgstr "" #. @@@ better error message -#: config/i386/i386.c:12032 config/i386/i386.c:12060 +#: config/i386/i386.c:13280 config/i386/i386.c:13314 msgid "mask must be an immediate" msgstr "" -#: config/i386/winnt.c:94 +#: config/i386/i386.c:13346 +msgid "shift must be an immediate" +msgstr "" + +#: config/i386/winnt.c:105 #, c-format msgid "`%s' attribute only applies to variables" msgstr "" -#: config/i386/winnt.c:262 +#: config/i386/winnt.c:275 #, c-format msgid "`%s' declared as both exported to and imported from a DLL" msgstr "" @@ -10158,140 +10293,113 @@ msgstr "" msgid "Use Mingw-specific thread support" msgstr "" -#: config/i386/cygwin.h:236 +#: config/i386/cygwin.h:244 #, c-format msgid "-f%s ignored for target (all code is position independent)" msgstr "" -#: config/i386/dgux.h:60 -msgid "Retain standard MXDB information" -msgstr "" - -#: config/i386/dgux.h:62 -msgid "Retain legend information" -msgstr "" - -#: config/i386/dgux.h:65 -msgid "Generate external legend information" -msgstr "" - -#: config/i386/dgux.h:67 -msgid "Emit identifying info in .s file" -msgstr "" - -#: config/i386/dgux.h:69 -msgid "Warn when a function arg is a structure" -msgstr "" - -#: config/i386/dgux.h:249 -msgid "argument is a structure" -msgstr "" - -#: config/i386/djgpp.h:202 +#: config/i386/djgpp.h:204 msgid "-mbnu210 is ignored (option is obsolete)" msgstr "" -#: config/i386/i386.h:45 config/mips/mips.h:184 -msgid "half-pic init called on systems that don't support it" -msgstr "" - #. Deprecated. #. Deprecated. #. Deprecated. #. Deprecated. #. Deprecated. #. Deprecated. -#: config/i386/i386.h:303 +#: config/i386/i386.h:306 msgid "Alternate calling convention" msgstr "" -#: config/i386/i386.h:305 config/m68k/m68k.h:180 config/ns32k/ns32k.h:106 +#: config/i386/i386.h:308 config/m68k/m68k.h:180 config/ns32k/ns32k.h:144 msgid "Use normal calling convention" msgstr "" -#: config/i386/i386.h:307 +#: config/i386/i386.h:310 msgid "Align some doubles on dword boundary" msgstr "" -#: config/i386/i386.h:309 +#: config/i386/i386.h:312 msgid "Align doubles on word boundary" msgstr "" -#: config/i386/i386.h:311 +#: config/i386/i386.h:314 msgid "Uninitialized locals in .bss" msgstr "" -#: config/i386/i386.h:313 +#: config/i386/i386.h:316 msgid "Uninitialized locals in .data" msgstr "" -#: config/i386/i386.h:315 config/m68k/linux-aout.h:45 config/m68k/linux.h:50 +#: config/i386/i386.h:318 config/m68k/linux-aout.h:45 config/m68k/linux.h:50 +#: config/ns32k/ns32k.h:167 msgid "Use IEEE math for fp comparisons" msgstr "" -#: config/i386/i386.h:317 +#: config/i386/i386.h:320 config/ns32k/ns32k.h:169 msgid "Do not use IEEE math for fp comparisons" msgstr "" -#: config/i386/i386.h:319 +#: config/i386/i386.h:322 msgid "Return values of functions in FPU registers" msgstr "" -#: config/i386/i386.h:321 +#: config/i386/i386.h:324 msgid "Do not return values of functions in FPU registers" msgstr "" -#: config/i386/i386.h:323 +#: config/i386/i386.h:326 msgid "Do not generate sin, cos, sqrt for FPU" msgstr "" -#: config/i386/i386.h:325 +#: config/i386/i386.h:328 msgid "Generate sin, cos, sqrt for FPU" msgstr "" -#: config/i386/i386.h:327 +#: config/i386/i386.h:330 msgid "Omit the frame pointer in leaf functions" msgstr "" -#: config/i386/i386.h:330 +#: config/i386/i386.h:333 msgid "Enable stack probing" msgstr "" #. undocumented #. undocumented -#: config/i386/i386.h:335 +#: config/i386/i386.h:338 msgid "Align destination of the string operations" msgstr "" -#: config/i386/i386.h:337 +#: config/i386/i386.h:340 msgid "Do not align destination of the string operations" msgstr "" -#: config/i386/i386.h:339 +#: config/i386/i386.h:342 msgid "Inline all known string operations" msgstr "" -#: config/i386/i386.h:341 +#: config/i386/i386.h:344 msgid "Do not inline all known string operations" msgstr "" -#: config/i386/i386.h:343 config/i386/i386.h:348 +#: config/i386/i386.h:346 config/i386/i386.h:350 msgid "Use push instructions to save outgoing arguments" msgstr "" -#: config/i386/i386.h:345 config/i386/i386.h:350 +#: config/i386/i386.h:348 config/i386/i386.h:352 msgid "Do not use push instructions to save outgoing arguments" msgstr "" -#: config/i386/i386.h:352 +#: config/i386/i386.h:354 msgid "Support MMX built-in functions" msgstr "" -#: config/i386/i386.h:354 +#: config/i386/i386.h:356 msgid "Do not support MMX built-in functions" msgstr "" -#: config/i386/i386.h:357 +#: config/i386/i386.h:358 msgid "Support 3DNow! built-in functions" msgstr "" @@ -10303,39 +10411,39 @@ msgstr "" msgid "Support MMX and SSE built-in functions and code generation" msgstr "" -#: config/i386/i386.h:365 +#: config/i386/i386.h:364 msgid "Do not support MMX and SSE built-in functions and code generation" msgstr "" -#: config/i386/i386.h:367 +#: config/i386/i386.h:366 msgid "Support MMX, SSE and SSE2 built-in functions and code generation" msgstr "" -#: config/i386/i386.h:370 +#: config/i386/i386.h:368 msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation" msgstr "" -#: config/i386/i386.h:372 +#: config/i386/i386.h:370 msgid "sizeof(long double) is 16" msgstr "" -#: config/i386/i386.h:374 +#: config/i386/i386.h:372 msgid "sizeof(long double) is 12" msgstr "" -#: config/i386/i386.h:376 +#: config/i386/i386.h:374 msgid "Generate 64bit x86-64 code" msgstr "" -#: config/i386/i386.h:378 +#: config/i386/i386.h:376 msgid "Generate 32bit i386 code" msgstr "" -#: config/i386/i386.h:380 +#: config/i386/i386.h:378 msgid "Use red-zone in the x86-64 code" msgstr "" -#: config/i386/i386.h:382 +#: config/i386/i386.h:380 msgid "Do not use red-zone in the x86-64 code" msgstr "" @@ -10348,19 +10456,19 @@ msgstr "" #. variable, type `char *', is set to the variable part of the given #. option if the fixed part matches. The actual option name is made #. by appending `-m' to the specified name. -#: config/i386/i386.h:428 config/rs6000/rs6000.h:428 config/sparc/sparc.h:641 +#: config/i386/i386.h:409 config/rs6000/rs6000.h:393 config/sparc/sparc.h:635 msgid "Schedule code for given CPU" msgstr "" -#: config/i386/i386.h:430 +#: config/i386/i386.h:411 msgid "Generate floating point mathematics using given instruction set" msgstr "" -#: config/i386/i386.h:432 +#: config/i386/i386.h:413 msgid "Generate code for given CPU" msgstr "" -#: config/i386/i386.h:434 +#: config/i386/i386.h:415 msgid "Number of registers used to pass integer arguments" msgstr "" @@ -10374,71 +10482,41 @@ msgstr "" #. variable, type `char *', is set to the variable part of the given #. option if the fixed part matches. The actual option name is made #. by appending `-m' to the specified name. -#: config/i386/i386.h:436 config/m68k/m68k.h:263 +#: config/i386/i386.h:417 config/m68k/m68k.h:263 msgid "Loop code aligned to this power of 2" msgstr "" -#: config/i386/i386.h:438 config/m68k/m68k.h:265 +#: config/i386/i386.h:419 config/m68k/m68k.h:265 msgid "Jump targets are aligned to this power of 2" msgstr "" -#: config/i386/i386.h:440 config/m68k/m68k.h:267 +#: config/i386/i386.h:421 config/m68k/m68k.h:267 msgid "Function starts are aligned to this power of 2" msgstr "" -#: config/i386/i386.h:443 +#: config/i386/i386.h:424 msgid "Attempt to keep stack aligned to this power of 2" msgstr "" -#: config/i386/i386.h:445 +#: config/i386/i386.h:426 msgid "Branches are this expensive (1-5, arbitrary units)" msgstr "" -#: config/i386/i386.h:447 +#: config/i386/i386.h:428 msgid "Use given x86-64 code model" msgstr "" #. Undocumented. #. Undocumented. -#: config/i386/i386.h:453 +#: config/i386/i386.h:434 msgid "Use given assembler dialect" msgstr "" -#: config/i386/osf1elf.h:112 -msgid "Profiling uses mcount" +#: config/i386/i386.h:436 +msgid "Use given thread-local storage dialect" msgstr "" -#: config/i386/osfrose.h:57 -msgid "Emit half-PIC code" -msgstr "" - -#. intentionally undoc -#. intentionally undoc -#: config/i386/osfrose.h:64 -msgid "Emit ELF object code" -msgstr "" - -#: config/i386/osfrose.h:66 -msgid "Emit ROSE object code" -msgstr "" - -#: config/i386/osfrose.h:68 -msgid "Symbols have a leading underscore" -msgstr "" - -#: config/i386/osfrose.h:71 -msgid "Align to >word boundaries" -msgstr "" - -#: config/i386/osfrose.h:74 -msgid "Use mcount for profiling" -msgstr "" - -#: config/i386/osfrose.h:76 -msgid "Use mcount_ptr for profiling" -msgstr "" - -#: config/i386/sco5.h:763 +#: config/i386/sco5.h:700 msgid "Generate ELF output" msgstr "" @@ -10470,33 +10548,31 @@ msgstr "" msgid "environment variable DJGPP points to corrupt file '%s'" msgstr "" -#. Macro to define tables used to set the flags. -#. This is a list in braces of pairs in braces, -#. each pair being { "NAME", VALUE } -#. where VALUE is the bits to set or minus the bits to clear. -#. An empty string NAME is used to identify the default VALUE. -#: config/i860/i860.h:56 config/i860/paragon.h:28 -msgid "Generate code which uses the FPU" +#: config/i960/i960-c.c:66 +msgid "sorry, not implemented: #pragma align NAME=SIZE" msgstr "" -#: config/i860/i860.h:57 config/i860/i860.h:58 config/i860/paragon.h:29 -#: config/i860/paragon.h:30 config/i860/paragon.h:31 -msgid "Do not generate code which uses the FPU" +#: config/i960/i960-c.c:71 +msgid "malformed #pragma align - ignored" msgstr "" -#: config/i960/i960-c.c:67 -msgid "sorry, not implemented: #pragma align NAME=SIZE" +#: config/i960/i960-c.c:109 +msgid "sorry, not implemented: #pragma noalign NAME" msgstr "" -#: config/i960/i960-c.c:72 -msgid "malformed #pragma align - ignored" +#: config/i960/i960.c:121 config/i960/i960.c:131 +msgid "conflicting architectures defined - using C series" msgstr "" -#: config/i960/i960-c.c:110 -msgid "sorry, not implemented: #pragma noalign NAME" +#: config/i960/i960.c:126 +msgid "conflicting architectures defined - using K series" msgstr "" -#: config/i960/i960.c:1405 config/m68k/m68k.c:665 config/rs6000/rs6000.c:8446 +#: config/i960/i960.c:141 +msgid "iC2.0 and iC3.0 are incompatible - using iC3.0" +msgstr "" + +#: config/i960/i960.c:1448 config/m68k/m68k.c:559 config/rs6000/rs6000.c:9931 msgid "stack limit expression is not supported" msgstr "" @@ -10554,6 +10630,10 @@ msgstr "" msgid "Generate CF code" msgstr "" +#: config/i960/i960.h:283 config/mips/mips.h:568 config/pa/pa.h:252 +msgid "Use software floating point" +msgstr "" + #: config/i960/i960.h:285 msgid "Use alternate leaf function entries" msgstr "" @@ -10615,8 +10695,8 @@ msgstr "" msgid "Do not layout types like Intel's v1.3 gcc" msgstr "" -#: config/i960/i960.h:323 config/sparc/freebsd.h:80 config/sparc/linux.h:88 -#: config/sparc/linux64.h:145 config/sparc/netbsd-elf.h:240 +#: config/i960/i960.h:323 config/sparc/freebsd.h:79 config/sparc/linux.h:86 +#: config/sparc/linux64.h:88 config/sparc/netbsd-elf.h:238 msgid "Use 64 bit long doubles" msgstr "" @@ -10628,187 +10708,196 @@ msgstr "" msgid "Do not enable linker relaxation" msgstr "" -#. Override conflicting target switch options. -#. Doesn't actually detect if more than one -mARCH option is given, but -#. does handle the case of two blatantly conflicting -mARCH options. -#: config/i960/i960.h:342 config/i960/i960.h:352 -msgid "conflicting architectures defined - using C series" +#: config/ia64/ia64-c.c:50 +msgid "malformed #pragma builtin" msgstr "" -#: config/i960/i960.h:347 -msgid "conflicting architectures defined - using K series" +#: config/ia64/ia64.c:3879 +msgid "ia64_print_operand: unknown code" msgstr "" -#: config/i960/i960.h:362 -msgid "iC2.0 and iC3.0 are incompatible - using iC3.0" +#: config/ia64/ia64.c:4157 +msgid "value of -mfixed-range must have form REG1-REG2" msgstr "" -#. ??? See the LONG_DOUBLE_TYPE_SIZE definition below. -#: config/i960/i960.h:373 -msgid "the -mlong-double-64 option does not work yet" +#: config/ia64/ia64.c:4184 +#, c-format +msgid "%s-%s is an empty range" msgstr "" -#: config/ia64/ia64.c:3589 -msgid "ia64_print_operand: unknown code" +#: config/ia64/ia64.c:4215 +msgid "cannot optimize floating point division for both latency and throughput" msgstr "" -#: config/ia64/ia64.c:3863 -msgid "value of -mfixed-range must have form REG1-REG2" +#: config/ia64/ia64.c:4221 +msgid "cannot optimize integer division for both latency and throughput" msgstr "" -#: config/ia64/ia64.c:3890 +#: config/ia64/ia64.c:4233 #, c-format -msgid "%s-%s is an empty range" -msgstr "" - -#: config/ia64/ia64.c:3955 -msgid "cannot optimize division for both latency and throughput" +msgid "bad value (%s) for -mtls-size= switch" msgstr "" #. This macro defines names of command options to set and clear bits in #. `target_flags'. Its definition is an initializer with a subgrouping for #. each command option. -#: config/ia64/ia64.h:119 +#: config/ia64/ia64.h:150 msgid "Generate big endian code" msgstr "" -#: config/ia64/ia64.h:121 config/mcore/mcore.h:159 +#: config/ia64/ia64.h:152 config/mcore/mcore.h:159 msgid "Generate little endian code" msgstr "" -#: config/ia64/ia64.h:123 +#: config/ia64/ia64.h:154 msgid "Generate code for GNU as" msgstr "" -#: config/ia64/ia64.h:125 +#: config/ia64/ia64.h:156 msgid "Generate code for Intel as" msgstr "" -#: config/ia64/ia64.h:127 +#: config/ia64/ia64.h:158 msgid "Generate code for GNU ld" msgstr "" -#: config/ia64/ia64.h:129 +#: config/ia64/ia64.h:160 msgid "Generate code for Intel ld" msgstr "" -#: config/ia64/ia64.h:131 +#: config/ia64/ia64.h:162 msgid "Generate code without GP reg" msgstr "" -#: config/ia64/ia64.h:133 +#: config/ia64/ia64.h:164 msgid "Emit stop bits before and after volatile extended asms" msgstr "" -#: config/ia64/ia64.h:135 +#: config/ia64/ia64.h:166 msgid "Don't emit stop bits before and after volatile extended asms" msgstr "" -#: config/ia64/ia64.h:137 +#: config/ia64/ia64.h:168 msgid "Emit code for Itanium (TM) processor B step" msgstr "" -#: config/ia64/ia64.h:139 +#: config/ia64/ia64.h:170 msgid "Use in/loc/out register names" msgstr "" -#: config/ia64/ia64.h:141 +#: config/ia64/ia64.h:172 msgid "Disable use of sdata/scommon/sbss" msgstr "" -#: config/ia64/ia64.h:143 +#: config/ia64/ia64.h:174 msgid "Enable use of sdata/scommon/sbss" msgstr "" -#: config/ia64/ia64.h:145 +#: config/ia64/ia64.h:176 msgid "gp is constant (but save/restore gp on indirect calls)" msgstr "" -#: config/ia64/ia64.h:147 +#: config/ia64/ia64.h:178 msgid "Generate self-relocatable code" msgstr "" -#: config/ia64/ia64.h:149 -msgid "Generate inline division, optimize for latency" +#: config/ia64/ia64.h:180 +msgid "Generate inline floating point division, optimize for latency" +msgstr "" + +#: config/ia64/ia64.h:182 +msgid "Generate inline floating point division, optimize for throughput" +msgstr "" + +#: config/ia64/ia64.h:184 +msgid "Generate inline integer division, optimize for latency" msgstr "" -#: config/ia64/ia64.h:151 -msgid "Generate inline division, optimize for throughput" +#: config/ia64/ia64.h:186 +msgid "Generate inline integer division, optimize for throughput" msgstr "" -#: config/ia64/ia64.h:153 +#: config/ia64/ia64.h:188 msgid "Enable Dwarf 2 line debug info via GNU as" msgstr "" -#: config/ia64/ia64.h:155 +#: config/ia64/ia64.h:190 msgid "Disable Dwarf 2 line debug info via GNU as" msgstr "" -#: config/ia64/ia64.h:183 +#: config/ia64/ia64.h:219 msgid "Specify range of registers to make fixed" msgstr "" -#: config/m32r/m32r.c:130 +#: config/ip2k/ip2k.c:1082 +msgid "bad operand" +msgstr "" + +#: config/ip2k/ip2k.c:3184 +msgid "Only initialized variables can be placed into program memory area." +msgstr "" + +#: config/m32r/m32r.c:139 #, c-format msgid "bad value (%s) for -mmodel switch" msgstr "" -#: config/m32r/m32r.c:139 +#: config/m32r/m32r.c:148 #, c-format msgid "bad value (%s) for -msdata switch" msgstr "" -#: config/m32r/m32r.c:310 +#: config/m32r/m32r.c:319 #, c-format msgid "invalid argument of `%s' attribute" msgstr "" -#: config/m32r/m32r.c:412 +#: config/m32r/m32r.c:422 msgid "const objects cannot go in .sdata/.sbss" msgstr "" -#: config/m32r/m32r.c:2252 +#: config/m32r/m32r.c:2256 #, c-format msgid "invalid operand to %%s code" msgstr "" -#: config/m32r/m32r.c:2259 +#: config/m32r/m32r.c:2263 #, c-format msgid "invalid operand to %%p code" msgstr "" -#: config/m32r/m32r.c:2315 +#: config/m32r/m32r.c:2318 msgid "bad insn for 'A'" msgstr "" -#: config/m32r/m32r.c:2367 +#: config/m32r/m32r.c:2370 #, c-format msgid "invalid operand to %%T/%%B code" msgstr "" -#: config/m32r/m32r.c:2390 +#: config/m32r/m32r.c:2393 #, c-format msgid "invalid operand to %%N code" msgstr "" -#: config/m32r/m32r.c:2435 +#: config/m32r/m32r.c:2438 msgid "pre-increment address is not a register" msgstr "" -#: config/m32r/m32r.c:2442 +#: config/m32r/m32r.c:2445 msgid "pre-decrement address is not a register" msgstr "" -#: config/m32r/m32r.c:2449 +#: config/m32r/m32r.c:2452 msgid "post-increment address is not a register" msgstr "" -#: config/m32r/m32r.c:2527 config/m32r/m32r.c:2543 -#: config/rs6000/rs6000.c:11098 +#: config/m32r/m32r.c:2530 config/m32r/m32r.c:2546 +#: config/rs6000/rs6000.c:12737 msgid "bad address" msgstr "" -#: config/m32r/m32r.c:2548 +#: config/m32r/m32r.c:2551 msgid "lo_sum not of register" msgstr "" @@ -10837,46 +10926,46 @@ msgstr "" msgid "Small data area: none, sdata, use" msgstr "" -#: config/m68hc11/m68hc11.c:236 +#: config/m68hc11/m68hc11.c:242 #, c-format msgid "-f%s ignored for 68HC11/68HC12 (not supported)" msgstr "" #. !!!! SCz wrong here. -#: config/m68hc11/m68hc11.c:3170 config/m68hc11/m68hc11.c:3544 +#: config/m68hc11/m68hc11.c:3252 config/m68hc11/m68hc11.c:3626 msgid "move insn not handled" msgstr "" -#: config/m68hc11/m68hc11.c:3390 config/m68hc11/m68hc11.c:3474 -#: config/m68hc11/m68hc11.c:3747 +#: config/m68hc11/m68hc11.c:3472 config/m68hc11/m68hc11.c:3556 +#: config/m68hc11/m68hc11.c:3829 msgid "invalid register in the move instruction" msgstr "" -#: config/m68hc11/m68hc11.c:3424 +#: config/m68hc11/m68hc11.c:3506 msgid "invalid operand in the instruction" msgstr "" -#: config/m68hc11/m68hc11.c:3721 +#: config/m68hc11/m68hc11.c:3803 msgid "invalid register in the instruction" msgstr "" -#: config/m68hc11/m68hc11.c:3754 +#: config/m68hc11/m68hc11.c:3836 msgid "operand 1 must be a hard register" msgstr "" -#: config/m68hc11/m68hc11.c:3771 +#: config/m68hc11/m68hc11.c:3853 msgid "invalid rotate insn" msgstr "" -#: config/m68hc11/m68hc11.c:4196 +#: config/m68hc11/m68hc11.c:4278 msgid "registers IX, IY and Z used in the same INSN" msgstr "" -#: config/m68hc11/m68hc11.c:4521 config/m68hc11/m68hc11.c:4823 +#: config/m68hc11/m68hc11.c:4603 config/m68hc11/m68hc11.c:4906 msgid "cannot do z-register replacement" msgstr "" -#: config/m68hc11/m68hc11.c:4886 +#: config/m68hc11/m68hc11.c:4969 msgid "invalid Z register replacement for insn" msgstr "" @@ -10884,31 +10973,47 @@ msgstr "" #. pairs in braces, each pair being { "NAME", VALUE } where VALUE is the bits #. to set or minus the bits to clear. An empty string NAME is used to #. identify the default VALUE. -#: config/m68hc11/m68hc11.h:155 +#: config/m68hc11/m68hc11.h:160 msgid "Compile with 16-bit integer mode" msgstr "" -#: config/m68hc11/m68hc11.h:157 +#: config/m68hc11/m68hc11.h:162 msgid "Compile with 32-bit integer mode" msgstr "" -#: config/m68hc11/m68hc11.h:159 +#: config/m68hc11/m68hc11.h:164 msgid "Auto pre/post decrement increment allowed" msgstr "" -#: config/m68hc11/m68hc11.h:161 +#: config/m68hc11/m68hc11.h:166 msgid "Auto pre/post decrement increment not allowed" msgstr "" -#: config/m68hc11/m68hc11.h:163 +#: config/m68hc11/m68hc11.h:168 +msgid "Min/max instructions allowed" +msgstr "" + +#: config/m68hc11/m68hc11.h:170 +msgid "Min/max instructions not allowed" +msgstr "" + +#: config/m68hc11/m68hc11.h:172 +msgid "Use call and rtc for function calls and returns" +msgstr "" + +#: config/m68hc11/m68hc11.h:174 +msgid "Use jsr and rts for function calls and returns" +msgstr "" + +#: config/m68hc11/m68hc11.h:176 msgid "Do not use direct addressing mode for soft registers" msgstr "" -#: config/m68hc11/m68hc11.h:165 config/m68hc11/m68hc11.h:169 +#: config/m68hc11/m68hc11.h:178 config/m68hc11/m68hc11.h:182 msgid "Compile for a 68HC11" msgstr "" -#: config/m68hc11/m68hc11.h:167 config/m68hc11/m68hc11.h:171 +#: config/m68hc11/m68hc11.h:180 config/m68hc11/m68hc11.h:184 msgid "Compile for a 68HC12" msgstr "" @@ -10921,29 +11026,33 @@ msgstr "" #. variable, type `char *', is set to the variable part of the given #. option if the fixed part matches. The actual option name is made #. by appending `-m' to the specified name. -#: config/m68hc11/m68hc11.h:185 +#: config/m68hc11/m68hc11.h:198 msgid "Specify the register allocation order" msgstr "" -#: config/m68hc11/m68hc11.h:187 +#: config/m68hc11/m68hc11.h:200 msgid "Indicate the number of soft registers available" msgstr "" -#: config/m68k/m68k.c:150 +#: config/m68k/m68k.c:158 #, c-format msgid "-malign-loops=%d is not between 1 and %d" msgstr "" -#: config/m68k/m68k.c:161 +#: config/m68k/m68k.c:169 #, c-format msgid "-malign-jumps=%d is not between 1 and %d" msgstr "" -#: config/m68k/m68k.c:172 +#: config/m68k/m68k.c:180 #, c-format msgid "-malign-functions=%d is not between 1 and %d" msgstr "" +#: config/m68k/m68k.c:189 +msgid "-fPIC is not currently supported on the 68000 or 68010\n" +msgstr "" + #. Macro to define tables used to set the flags. #. This is a list in braces of pairs in braces, #. each pair being { "NAME", VALUE } @@ -11065,91 +11174,84 @@ msgstr "" msgid "Use unaligned memory references" msgstr "" -#. Sometimes certain combinations of command options do not make -#. sense on a particular target machine. You can define a macro -#. `OVERRIDE_OPTIONS' to take account of this. This macro, if -#. defined, is executed once just after all the command options have -#. been parsed. -#. -#. Don't use this macro to turn on various extra optimizations for -#. `-O'. That is what `OPTIMIZATION_OPTIONS' is for. -#: config/m68k/m68k.h:284 config/m68k/m68kelf.h:267 config/m68k/m68kv4.h:299 -msgid "-fPIC is not currently supported on the 68000 or 68010\n" -msgstr "" - -#: config/m88k/m88k.c:899 +#: config/m88k/m88k.c:903 #, c-format msgid "internal gcc monitor: short-branch(%x)" msgstr "" -#: config/m88k/m88k.c:2299 +#: config/m88k/m88k.c:2302 msgid "internal gcc error: Can't express symbolic location" msgstr "" -#: config/m88k/m88k.c:2581 +#: config/m88k/m88k.c:2517 #, c-format msgid "argument #%d is a structure" msgstr "" -#: config/m88k/m88k.c:2881 +#: config/m88k/m88k.c:2816 #, c-format msgid "%%R not followed by %%B/C/D/E" msgstr "" -#: config/m88k/m88k.c:2949 +#: config/m88k/m88k.c:2884 #, c-format msgid "invalid %%x/X value" msgstr "" -#: config/m88k/m88k.c:2972 config/rs6000/rs6000.c:6514 +#: config/m88k/m88k.c:2901 +#, c-format +msgid "invalid %%Q value" +msgstr "" + +#: config/m88k/m88k.c:2907 config/rs6000/rs6000.c:7681 #, c-format msgid "invalid %%q value" msgstr "" -#: config/m88k/m88k.c:2978 +#: config/m88k/m88k.c:2913 #, c-format msgid "invalid %%o value" msgstr "" -#: config/m88k/m88k.c:2985 config/rs6000/rs6000.c:6477 +#: config/m88k/m88k.c:2920 config/rs6000/rs6000.c:7644 #, c-format msgid "invalid %%p value" msgstr "" -#: config/m88k/m88k.c:2998 config/m88k/m88k.c:3003 +#: config/m88k/m88k.c:2933 config/m88k/m88k.c:2938 #, c-format msgid "invalid %%s/S value" msgstr "" -#: config/m88k/m88k.c:3014 +#: config/m88k/m88k.c:2949 #, c-format msgid "invalid %%P operand" msgstr "" -#: config/m88k/m88k.c:3045 config/romp/romp.c:682 +#: config/m88k/m88k.c:2980 config/romp/romp.c:690 #, c-format msgid "invalid %%B value" msgstr "" -#: config/m88k/m88k.c:3075 +#: config/m88k/m88k.c:3010 #, c-format msgid "invalid %%D value" msgstr "" -#: config/m88k/m88k.c:3088 +#: config/m88k/m88k.c:3023 #, c-format msgid "`%%d' operand isn't a register" msgstr "" -#: config/m88k/m88k.c:3106 +#: config/m88k/m88k.c:3041 msgid "operand is r0" msgstr "" -#: config/m88k/m88k.c:3120 +#: config/m88k/m88k.c:3055 msgid "operand is const_double" msgstr "" -#: config/m88k/m88k.c:3139 +#: config/m88k/m88k.c:3074 msgid "invalid code" msgstr "" @@ -11173,7 +11275,7 @@ msgstr "" msgid "-mshort-data-%s and PIC are incompatible" msgstr "" -#: config/mcore/mcore.c:3083 +#: config/mcore/mcore.c:3078 #, c-format msgid "invalid option `-mstack-increment=%s'" msgstr "" @@ -11230,219 +11332,235 @@ msgstr "" msgid "Maximum amount for a single stack increment operation" msgstr "" -#: config/mips/mips.c:4795 -msgid "The -march option is incompatible to -mipsN and therefore ignored." +#: config/mips/mips.c:5112 +#, c-format +msgid "bad value (%s) for -mabi= switch" msgstr "" -#: config/mips/mips.c:4821 +#: config/mips/mips.c:5142 #, c-format -msgid "-mips%d not supported" +msgid "" +"-mips%d conflicts with the other architecture options, which specify a MIPS%" +"d processor" msgstr "" -#: config/mips/mips.c:4828 +#: config/mips/mips.c:5149 #, c-format msgid "bad value (%s) for -mips switch" msgstr "" -#: config/mips/mips.c:4849 +#: config/mips/mips.c:5164 #, c-format -msgid "bad value (%s) for -mabi= switch" +msgid "-march=%s is not compatible with the selected ABI" msgstr "" -#: config/mips/mips.c:4887 -#, c-format -msgid "-mabi=%s does not support -mips%d" +#: config/mips/mips.c:5176 +msgid "-mgp64 used with a 32-bit processor" msgstr "" -#: config/mips/mips.c:4904 -msgid "this target does not support the -mabi switch" +#: config/mips/mips.c:5178 +msgid "-mgp32 used with a 64-bit ABI" msgstr "" -#: config/mips/mips.c:5014 -#, c-format -msgid "bad value (%s) for -mtune= switch" +#: config/mips/mips.c:5180 +msgid "-mgp64 used with a 32-bit ABI" msgstr "" -#: config/mips/mips.c:5024 +#: config/mips/mips.c:5198 config/mips/mips.c:5200 config/mips/mips.c:5202 #, c-format -msgid "-mips%d does not support 64 bit fp registers" +msgid "unsupported combination: %s" msgstr "" -#: config/mips/mips.c:5030 -#, c-format -msgid "-mips%d does not support 64 bit gp registers" +#: config/mips/mips.c:5272 +msgid "" +"generation of Branch Likely instructions enabled, but not supported by " +"architecture" msgstr "" -#: config/mips/mips.c:5051 +#: config/mips/mips.c:5283 msgid "-G is incompatible with PIC code which is the default" msgstr "" -#: config/mips/mips.c:5067 +#: config/mips/mips.c:5299 msgid "-membedded-pic and -mabicalls are incompatible" msgstr "" -#: config/mips/mips.c:5070 +#: config/mips/mips.c:5302 msgid "-G and -membedded-pic are incompatible" msgstr "" -#: config/mips/mips.c:5121 +#: config/mips/mips.c:5353 #, c-format msgid "invalid option `entry%s'" msgstr "" -#: config/mips/mips.c:5124 +#: config/mips/mips.c:5356 msgid "-mentry is only meaningful with -mips-16" msgstr "" -#: config/mips/mips.c:5500 +#: config/mips/mips.c:5761 #, c-format msgid "internal error: %%) found without a %%( in assembler pattern" msgstr "" -#: config/mips/mips.c:5514 +#: config/mips/mips.c:5775 #, c-format msgid "internal error: %%] found without a %%[ in assembler pattern" msgstr "" -#: config/mips/mips.c:5527 +#: config/mips/mips.c:5788 #, c-format msgid "internal error: %%> found without a %%< in assembler pattern" msgstr "" -#: config/mips/mips.c:5540 +#: config/mips/mips.c:5801 #, c-format msgid "internal error: %%} found without a %%{ in assembler pattern" msgstr "" -#: config/mips/mips.c:5554 +#: config/mips/mips.c:5815 #, c-format msgid "PRINT_OPERAND: unknown punctuation '%c'" msgstr "" -#: config/mips/mips.c:5563 config/xtensa/xtensa.c:1913 +#: config/mips/mips.c:5824 config/xtensa/xtensa.c:1939 msgid "PRINT_OPERAND null pointer" msgstr "" -#: config/mips/mips.c:5696 +#: config/mips/mips.c:5955 #, c-format msgid "invalid use of %%d, %%x, or %%X" msgstr "" -#: config/mips/mips.c:5739 config/xtensa/xtensa.c:2012 +#: config/mips/mips.c:5993 config/xtensa/xtensa.c:2033 msgid "PRINT_OPERAND_ADDRESS, null pointer" msgstr "" -#: config/mips/mips.c:5963 +#: config/mips/mips.c:6222 msgid "" "MIPS ECOFF format does not allow changing filenames within functions with " "#line" msgstr "" -#: config/mips/mips.c:6277 +#: config/mips/mips.c:6532 msgid "can't rewind temp file" msgstr "" -#: config/mips/mips.c:6281 +#: config/mips/mips.c:6536 msgid "can't write to output file" msgstr "" -#: config/mips/mips.c:6284 +#: config/mips/mips.c:6539 msgid "can't read from temp file" msgstr "" -#: config/mips/mips.c:6287 +#: config/mips/mips.c:6542 msgid "can't close temp file" msgstr "" -#: config/mips/mips.c:6705 +#: config/mips/mips.c:6983 #, c-format msgid "gp_offset (%ld) or end_offset (%ld) is less than zero" msgstr "" -#: config/mips/mips.c:6865 +#: config/mips/mips.c:7092 #, c-format msgid "fp_offset (%ld) or end_offset (%ld) is less than zero" msgstr "" -#: config/mips/mips.c:8906 +#: config/mips/mips.c:9312 #, c-format msgid "can not handle inconsistent calls to `%s'" msgstr "" +#: config/mips/mips.c:10444 +msgid "the cpu name must be lower case" +msgstr "" + +#: config/mips/mips.c:10466 +#, c-format +msgid "bad value (%s) for %s" +msgstr "" + +#. Target CPU builtins. +#. We do this here because __mips is defined below and so we can't use builtin_define_std. +#. Treat _R3000 and _R4000 like register-size defines, which is how they've historically been used. +#. Macros dependent on the C dialect. +#. Bizzare, but needed at least for Irix. #. Macro to define tables used to set the flags. #. This is a list in braces of pairs in braces, #. each pair being { "NAME", VALUE } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/mips/mips.h:366 config/mn10300/mn10300.h:64 +#: config/mips/mips.h:528 config/mn10300/mn10300.h:64 msgid "No default crt0.o" msgstr "" -#: config/mips/mips.h:368 +#: config/mips/mips.h:530 msgid "Use 64-bit int type" msgstr "" -#: config/mips/mips.h:370 +#: config/mips/mips.h:532 msgid "Use 64-bit long type" msgstr "" -#: config/mips/mips.h:372 +#: config/mips/mips.h:534 msgid "Use 32-bit long type" msgstr "" -#: config/mips/mips.h:374 +#: config/mips/mips.h:536 msgid "Optimize lui/addiu address loads" msgstr "" -#: config/mips/mips.h:376 +#: config/mips/mips.h:538 msgid "Don't optimize lui/addiu address loads" msgstr "" -#: config/mips/mips.h:378 +#: config/mips/mips.h:540 msgid "Use MIPS as" msgstr "" -#: config/mips/mips.h:380 +#: config/mips/mips.h:542 msgid "Use GNU as" msgstr "" -#: config/mips/mips.h:382 +#: config/mips/mips.h:544 msgid "Use symbolic register names" msgstr "" -#: config/mips/mips.h:384 +#: config/mips/mips.h:546 msgid "Don't use symbolic register names" msgstr "" -#: config/mips/mips.h:386 config/mips/mips.h:388 +#: config/mips/mips.h:548 config/mips/mips.h:550 msgid "Use GP relative sdata/sbss sections" msgstr "" -#: config/mips/mips.h:390 config/mips/mips.h:392 +#: config/mips/mips.h:552 config/mips/mips.h:554 msgid "Don't use GP relative sdata/sbss sections" msgstr "" -#: config/mips/mips.h:394 +#: config/mips/mips.h:556 msgid "Output compiler statistics" msgstr "" -#: config/mips/mips.h:396 +#: config/mips/mips.h:558 msgid "Don't output compiler statistics" msgstr "" -#: config/mips/mips.h:398 +#: config/mips/mips.h:560 msgid "Don't optimize block moves" msgstr "" -#: config/mips/mips.h:400 +#: config/mips/mips.h:562 msgid "Optimize block moves" msgstr "" -#: config/mips/mips.h:402 +#: config/mips/mips.h:564 msgid "Use mips-tfile asm postpass" msgstr "" -#: config/mips/mips.h:404 +#: config/mips/mips.h:566 msgid "Don't use mips-tfile asm postpass" msgstr "" @@ -11452,270 +11570,253 @@ msgstr "" #. where VALUE is the bits to set or minus the bits to clear and DOC #. is the documentation for --help (NULL if intentionally undocumented). #. An empty string NAME is used to identify the default VALUE. -#: config/mips/mips.h:408 config/pdp11/pdp11.h:55 +#: config/mips/mips.h:570 config/pdp11/pdp11.h:56 msgid "Use hardware floating point" msgstr "" -#: config/mips/mips.h:410 +#: config/mips/mips.h:572 msgid "Use 64-bit FP registers" msgstr "" -#: config/mips/mips.h:412 +#: config/mips/mips.h:574 msgid "Use 32-bit FP registers" msgstr "" -#: config/mips/mips.h:414 +#: config/mips/mips.h:576 msgid "Use 64-bit general registers" msgstr "" -#: config/mips/mips.h:416 +#: config/mips/mips.h:578 msgid "Use 32-bit general registers" msgstr "" -#: config/mips/mips.h:418 +#: config/mips/mips.h:580 msgid "Use Irix PIC" msgstr "" -#: config/mips/mips.h:420 +#: config/mips/mips.h:582 msgid "Don't use Irix PIC" msgstr "" -#: config/mips/mips.h:422 -msgid "Use OSF PIC" -msgstr "" - -#: config/mips/mips.h:424 -msgid "Don't use OSF PIC" -msgstr "" - -#: config/mips/mips.h:426 +#: config/mips/mips.h:584 msgid "Use indirect calls" msgstr "" -#: config/mips/mips.h:428 +#: config/mips/mips.h:586 msgid "Don't use indirect calls" msgstr "" -#: config/mips/mips.h:430 +#: config/mips/mips.h:588 msgid "Use embedded PIC" msgstr "" -#: config/mips/mips.h:432 +#: config/mips/mips.h:590 msgid "Don't use embedded PIC" msgstr "" -#: config/mips/mips.h:434 +#: config/mips/mips.h:592 msgid "Use ROM instead of RAM" msgstr "" -#: config/mips/mips.h:436 +#: config/mips/mips.h:594 msgid "Don't use ROM instead of RAM" msgstr "" -#: config/mips/mips.h:438 +#: config/mips/mips.h:596 msgid "Put uninitialized constants in ROM (needs -membedded-data)" msgstr "" -#: config/mips/mips.h:440 +#: config/mips/mips.h:598 msgid "Don't put uninitialized constants in ROM" msgstr "" #. Macro to define tables used to set the flags. -#: config/mips/mips.h:442 config/xtensa/xtensa.h:110 +#: config/mips/mips.h:600 config/xtensa/xtensa.h:110 msgid "Use big-endian byte order" msgstr "" -#: config/mips/mips.h:444 config/xtensa/xtensa.h:112 +#: config/mips/mips.h:602 config/xtensa/xtensa.h:112 msgid "Use little-endian byte order" msgstr "" -#: config/mips/mips.h:446 +#: config/mips/mips.h:604 msgid "Use single (32-bit) FP only" msgstr "" -#: config/mips/mips.h:448 +#: config/mips/mips.h:606 msgid "Don't use single (32-bit) FP only" msgstr "" -#: config/mips/mips.h:450 +#: config/mips/mips.h:608 msgid "Use multiply accumulate" msgstr "" -#: config/mips/mips.h:452 +#: config/mips/mips.h:610 msgid "Don't use multiply accumulate" msgstr "" -#: config/mips/mips.h:454 config/rs6000/rs6000.h:351 +#: config/mips/mips.h:612 config/rs6000/rs6000.h:314 msgid "Don't generate fused multiply/add instructions" msgstr "" -#: config/mips/mips.h:456 config/rs6000/rs6000.h:349 +#: config/mips/mips.h:614 config/rs6000/rs6000.h:312 msgid "Generate fused multiply/add instructions" msgstr "" -#: config/mips/mips.h:458 +#: config/mips/mips.h:616 msgid "Work around early 4300 hardware bug" msgstr "" -#: config/mips/mips.h:460 +#: config/mips/mips.h:618 msgid "Don't work around early 4300 hardware bug" msgstr "" -#: config/mips/mips.h:462 -msgid "Optimize for 3900" -msgstr "" - -#: config/mips/mips.h:464 -msgid "Optimize for 4650" -msgstr "" - -#: config/mips/mips.h:466 +#: config/mips/mips.h:620 msgid "Trap on integer divide by zero" msgstr "" -#: config/mips/mips.h:468 +#: config/mips/mips.h:622 msgid "Don't trap on integer divide by zero" msgstr "" -#: config/mips/mips.h:470 +#: config/mips/mips.h:624 msgid "Trap on integer divide overflow" msgstr "" -#: config/mips/mips.h:472 +#: config/mips/mips.h:626 msgid "Don't trap on integer divide overflow" msgstr "" -#: config/mips/mips.h:588 config/mips/mips.h:590 +#: config/mips/mips.h:628 +msgid "Use Branch Likely instructions, overriding default for arch" +msgstr "" + +#: config/mips/mips.h:630 +msgid "Don't use Branch Likely instructions, overriding default for arch" +msgstr "" + +#: config/mips/mips.h:744 config/pa/pa.h:296 msgid "Specify CPU for scheduling purposes" msgstr "" -#: config/mips/mips.h:592 +#: config/mips/mips.h:746 msgid "Specify CPU for code generation purposes" msgstr "" -#: config/mips/mips.h:594 +#: config/mips/mips.h:748 +msgid "Specify an ABI" +msgstr "" + +#: config/mips/mips.h:750 msgid "Specify a Standard MIPS ISA" msgstr "" -#: config/mips/mips.h:596 +#: config/mips/mips.h:752 msgid "Use mips16 entry/exit psuedo ops" msgstr "" -#: config/mips/mips.h:598 +#: config/mips/mips.h:754 msgid "Don't use MIPS16 instructions" msgstr "" -#: config/mips/mips.h:602 +#: config/mips/mips.h:756 msgid "Don't call any cache flush functions" msgstr "" -#: config/mips/mips.h:604 +#: config/mips/mips.h:758 msgid "Specify cache flush function" msgstr "" #. Output assembler code to FILE to increment profiler label # LABELNO #. for profiling a function entry. -#: config/mips/mips.h:2923 +#: config/mips/mips.h:2868 msgid "mips16 function profiling" msgstr "" -#: config/mmix/mmix.c:138 +#: config/mmix/mmix.c:189 #, c-format msgid "-f%s not supported: ignored" msgstr "" -#: config/mmix/mmix.c:596 +#: config/mmix/mmix.c:644 #, c-format msgid "" "too large function value type, needs %d registers, have only %d registers " "for this" msgstr "" -#: config/mmix/mmix.c:677 -msgid "stack frame too big" -msgstr "" - -#: config/mmix/mmix.c:705 -#, c-format -msgid "stack frame not a multiple of 8 bytes: %d" -msgstr "" - -#: config/mmix/mmix.c:1044 -#, c-format -msgid "stack frame not a multiple of octabyte: %d" -msgstr "" - -#: config/mmix/mmix.c:1203 +#: config/mmix/mmix.c:826 msgid "function_profiler support for MMIX" msgstr "" -#: config/mmix/mmix.c:1240 -msgid "neither varargs or stdarg in mmix_setup_incoming_varargs" -msgstr "" - -#: config/mmix/mmix.c:1246 +#: config/mmix/mmix.c:848 msgid "MMIX Internal: Last named vararg would not fit in a register" msgstr "" -#. FIXME: Remove when I know this trigs. -#: config/mmix/mmix.c:1608 -msgid "oops, not debugged; fixing up value:" -msgstr "" - -#: config/mmix/mmix.c:2185 config/mmix/mmix.c:2319 +#: config/mmix/mmix.c:1639 config/mmix/mmix.c:1769 msgid "MMIX Internal: Expected a CONST_INT, not this" msgstr "" -#: config/mmix/mmix.c:2193 config/mmix/mmix.c:2217 config/mmix/mmix.c:2336 +#: config/mmix/mmix.c:1647 config/mmix/mmix.c:1671 config/mmix/mmix.c:1787 #, c-format msgid "MMIX Internal: Bad register: %d" msgstr "" -#: config/mmix/mmix.c:2264 +#: config/mmix/mmix.c:1718 msgid "MMIX Internal: Bad value for 'm', not a CONST_INT" msgstr "" -#: config/mmix/mmix.c:2287 +#: config/mmix/mmix.c:1737 msgid "MMIX Internal: Expected a register, not this" msgstr "" -#: config/mmix/mmix.c:2297 +#: config/mmix/mmix.c:1747 msgid "MMIX Internal: Expected a constant, not this" msgstr "" #. Presumably there's a missing case above if we get here. -#: config/mmix/mmix.c:2329 +#: config/mmix/mmix.c:1779 #, c-format msgid "MMIX Internal: Missing `%c' case in mmix_print_operand" msgstr "" #. We need the original here. -#: config/mmix/mmix.c:2380 +#: config/mmix/mmix.c:1831 msgid "MMIX Internal: Cannot decode this operand" msgstr "" -#: config/mmix/mmix.c:2445 +#: config/mmix/mmix.c:1891 msgid "MMIX Internal: This is not a recognized address" msgstr "" -#: config/mmix/mmix.c:2941 config/mmix/mmix.c:3010 +#: config/mmix/mmix.c:2082 +#, c-format +msgid "stack frame not a multiple of 8 bytes: %d" +msgstr "" + +#: config/mmix/mmix.c:2321 +#, c-format +msgid "stack frame not a multiple of octabyte: %d" +msgstr "" + +#: config/mmix/mmix.c:2818 config/mmix/mmix.c:2887 #, c-format msgid "MMIX Internal: %s is not a shiftable int" msgstr "" -#: config/mmix/mmix.c:3129 +#: config/mmix/mmix.c:3006 msgid "MMIX Internal: Trying to output invalidly reversed condition:" msgstr "" -#: config/mmix/mmix.c:3136 +#: config/mmix/mmix.c:3013 msgid "MMIX Internal: What's the CC of this?" msgstr "" -#: config/mmix/mmix.c:3140 +#: config/mmix/mmix.c:3017 msgid "MMIX Internal: What is the CC of this?" msgstr "" -#: config/mmix/mmix.c:3211 +#: config/mmix/mmix.c:3088 msgid "MMIX Internal: This is not a constant:" msgstr "" @@ -11728,8 +11829,6 @@ msgstr "" #. the opposite, since we don't have to care about old littering and #. soon outdated generic comments. #. Node: Driver -#. When both ABI:s work, this is how we tell them apart in code. The -#. GNU abi is implied the default. Also implied in TARGET_DEFAULT. #. User symbols are in the same name-space as built-in symbols, but we #. don't need the built-in symbols, so remove those and instead apply #. stricter operand checking. Don't warn when expanding insns. @@ -11738,69 +11837,77 @@ msgstr "" #. Don't do this if linking relocatably, with -r. For a final link, #. produce mmo, unless ELF is requested or when linking relocatably. #. Put unused option values here. -#: config/mmix/mmix.h:137 +#: config/mmix/mmix.h:132 msgid "Set start-address of the program" msgstr "" -#: config/mmix/mmix.h:139 +#: config/mmix/mmix.h:134 msgid "Set start-address of data" msgstr "" #. FIXME: Provide a way to *load* the epsilon register. -#: config/mmix/mmix.h:188 +#: config/mmix/mmix.h:198 msgid "For intrinsics library: pass all parameters in registers" msgstr "" -#: config/mmix/mmix.h:191 +#: config/mmix/mmix.h:201 msgid "Use register stack for parameters and return value" msgstr "" -#: config/mmix/mmix.h:193 +#: config/mmix/mmix.h:203 msgid "Use call-clobbered registers for parameters and return value" msgstr "" -#: config/mmix/mmix.h:195 +#: config/mmix/mmix.h:205 msgid "Use epsilon-respecting floating point compare instructions" msgstr "" -#: config/mmix/mmix.h:198 +#: config/mmix/mmix.h:208 msgid "Use zero-extending memory loads, not sign-extending ones" msgstr "" -#: config/mmix/mmix.h:201 +#: config/mmix/mmix.h:211 msgid "" "Generate divide results with reminder having the same sign as the divisor " "(not the dividend)" msgstr "" -#: config/mmix/mmix.h:205 +#: config/mmix/mmix.h:215 msgid "Prepend global symbols with \":\" (for use with PREFIX)" msgstr "" -#: config/mmix/mmix.h:207 +#: config/mmix/mmix.h:217 msgid "Do not provide a default start-address 0x100 of the program" msgstr "" -#: config/mmix/mmix.h:209 +#: config/mmix/mmix.h:219 msgid "Link to emit program in ELF format (rather than mmo)" msgstr "" -#: config/mmix/mmix.h:211 +#: config/mmix/mmix.h:221 msgid "Use P-mnemonics for branches statically predicted as taken" msgstr "" -#: config/mmix/mmix.h:213 +#: config/mmix/mmix.h:223 msgid "Don't use P-mnemonics for branches" msgstr "" -#: config/mmix/mmix.h:215 +#: config/mmix/mmix.h:225 msgid "Use addresses that allocate global registers" msgstr "" -#: config/mmix/mmix.h:217 +#: config/mmix/mmix.h:227 msgid "Do not use addresses that allocate global registers" msgstr "" +#: config/mmix/mmix.h:229 +msgid "Generate a single exit point for each function" +msgstr "" + +#: config/mmix/mmix.h:231 +msgid "Do not generate a single exit point for each function" +msgstr "" + #: config/mn10300/mn10300.h:59 msgid "Work around hardware multiply bug" msgstr "" @@ -11817,152 +11924,282 @@ msgstr "" msgid "Enable linker relaxations" msgstr "" -#: config/ns32k/ns32k.h:104 config/s390/s390.h:57 +#: config/ns32k/ns32k.h:142 config/s390/s390.h:69 msgid "Don't use hardware fp" msgstr "" -#: config/ns32k/ns32k.h:105 +#: config/ns32k/ns32k.h:143 msgid "Alternative calling convention" msgstr "" -#: config/ns32k/ns32k.h:107 +#: config/ns32k/ns32k.h:145 msgid "Pass some arguments in registers" msgstr "" -#: config/ns32k/ns32k.h:108 +#: config/ns32k/ns32k.h:146 msgid "Pass all arguments on stack" msgstr "" -#: config/ns32k/ns32k.h:109 +#: config/ns32k/ns32k.h:147 msgid "Optimize for 32532 cpu" msgstr "" -#: config/ns32k/ns32k.h:110 +#: config/ns32k/ns32k.h:148 msgid "Optimize for 32332 cpu" msgstr "" -#: config/ns32k/ns32k.h:112 +#: config/ns32k/ns32k.h:150 msgid "Optimize for 32032" msgstr "" -#: config/ns32k/ns32k.h:114 +#: config/ns32k/ns32k.h:152 msgid "Register sb is zero. Use for absolute addressing" msgstr "" -#: config/ns32k/ns32k.h:115 +#: config/ns32k/ns32k.h:153 msgid "Do not use register sb" msgstr "" -#: config/ns32k/ns32k.h:116 -msgid "Do not use bit-field instructions" +#: config/ns32k/ns32k.h:155 +msgid "Use bit-field instructions" msgstr "" -#: config/ns32k/ns32k.h:117 -msgid "Use bit-field instructions" +#: config/ns32k/ns32k.h:157 +msgid "Do not use bit-field instructions" msgstr "" -#: config/ns32k/ns32k.h:118 +#: config/ns32k/ns32k.h:158 msgid "Generate code for high memory" msgstr "" -#: config/ns32k/ns32k.h:119 +#: config/ns32k/ns32k.h:159 msgid "Generate code for low memory" msgstr "" -#: config/ns32k/ns32k.h:120 +#: config/ns32k/ns32k.h:160 msgid "32381 fpu" msgstr "" -#: config/ns32k/ns32k.h:121 +#: config/ns32k/ns32k.h:162 msgid "Use multiply-accumulate fp instructions" msgstr "" -#: config/ns32k/ns32k.h:123 +#: config/ns32k/ns32k.h:164 msgid "Do not use multiply-accumulate fp instructions" msgstr "" -#: config/ns32k/ns32k.h:124 +#: config/ns32k/ns32k.h:165 msgid "\"Small register classes\" kludge" msgstr "" -#: config/ns32k/ns32k.h:125 +#: config/ns32k/ns32k.h:166 msgid "No \"Small register classes\" kludge" msgstr "" -#: config/pa/pa.c:182 +#: config/pa/pa.c:246 #, c-format msgid "" "unknown -mschedule= option (%s).\n" -"Valid options are 700, 7100, 7100LC, 7200, and 8000\n" +"Valid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n" msgstr "" -#: config/pa/pa.c:207 +#: config/pa/pa.c:271 #, c-format msgid "" "unknown -march= option (%s).\n" "Valid options are 1.0, 1.1, and 2.0\n" msgstr "" -#: config/pa/pa.c:212 +#: config/pa/pa.c:284 msgid "PIC code generation is not supported in the portable runtime model\n" msgstr "" -#: config/pa/pa.c:217 +#: config/pa/pa.c:289 msgid "PIC code generation is not compatible with fast indirect calls\n" msgstr "" -#: config/pa/pa.c:222 +#: config/pa/pa.c:294 msgid "-g is only supported when using GAS on this processor," msgstr "" -#: config/pa/pa.c:223 +#: config/pa/pa.c:295 msgid "-g option disabled" msgstr "" -#: config/pdp11/pdp11.h:56 +#: config/pa/pa-hiux.h:75 config/pa/pa-hpux.h:80 config/pa/pa-hpux7.h:81 +#: config/pa/pa64-hpux.h:25 +msgid "Generate cpp defines for server IO" +msgstr "" + +#: config/pa/pa-hiux.h:76 config/pa/pa-hpux.h:81 config/pa/pa-hpux7.h:82 +#: config/pa/pa64-hpux.h:27 +msgid "Generate cpp defines for workstation IO" +msgstr "" + +#. Macro to define tables used to set the flags. This is a +#. list in braces of target switches with each switch being +#. { "NAME", VALUE, "HELP_STRING" }. VALUE is the bits to set, +#. or minus the bits to clear. An empty string NAME is used to +#. identify the default VALUE. Do not mark empty strings for +#. translation. +#: config/pa/pa.h:218 config/pa/pa.h:224 +msgid "Generate PA1.1 code" +msgstr "" + +#: config/pa/pa.h:220 config/pa/pa.h:222 +msgid "Generate PA1.0 code" +msgstr "" + +#: config/pa/pa.h:226 +msgid "Generate PA2.0 code (requires binutils 2.10 or later)" +msgstr "" + +#: config/pa/pa.h:228 +msgid "Disable FP regs" +msgstr "" + +#: config/pa/pa.h:230 +msgid "Do not disable FP regs" +msgstr "" + +#: config/pa/pa.h:232 +msgid "Disable space regs" +msgstr "" + +#: config/pa/pa.h:234 +msgid "Do not disable space regs" +msgstr "" + +#: config/pa/pa.h:236 +msgid "Put jumps in call delay slots" +msgstr "" + +#: config/pa/pa.h:238 +msgid "Do not put jumps in call delay slots" +msgstr "" + +#: config/pa/pa.h:240 +msgid "Disable indexed addressing" +msgstr "" + +#: config/pa/pa.h:242 +msgid "Do not disable indexed addressing" +msgstr "" + +#: config/pa/pa.h:244 +msgid "Use portable calling conventions" +msgstr "" + +#: config/pa/pa.h:246 +msgid "Do not use portable calling conventions" +msgstr "" + +#: config/pa/pa.h:248 +msgid "Assume code will be assembled by GAS" +msgstr "" + +#: config/pa/pa.h:250 +msgid "Do not assume code will be assembled by GAS" +msgstr "" + +#: config/pa/pa.h:254 +msgid "Do not use software floating point" +msgstr "" + +#: config/pa/pa.h:256 +msgid "Emit long load/store sequences" +msgstr "" + +#: config/pa/pa.h:258 +msgid "Do not emit long load/store sequences" +msgstr "" + +#: config/pa/pa.h:260 +msgid "Generate fast indirect calls" +msgstr "" + +#: config/pa/pa.h:262 +msgid "Do not generate fast indirect calls" +msgstr "" + +#: config/pa/pa.h:264 +msgid "Generate code for huge switch statements" +msgstr "" + +#: config/pa/pa.h:266 +msgid "Do not generate code for huge switch statements" +msgstr "" + +#: config/pa/pa.h:268 +msgid "Always generate long calls" +msgstr "" + +#: config/pa/pa.h:270 +msgid "Generate long calls only when needed" +msgstr "" + +#: config/pa/pa.h:272 +msgid "Enable linker optimizations" +msgstr "" + +#: config/pa/pa.h:298 +msgid "" +"Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. " +"2.0 requires gas snapshot 19990413 or later." +msgstr "" + +#: config/pa/pa64-hpux.h:29 +msgid "Assume code will be linked by GNU ld" +msgstr "" + +#: config/pa/pa64-hpux.h:31 +msgid "Assume code will be linked by HP ld" +msgstr "" + +#: config/pdp11/pdp11.h:57 msgid "Do not use hardware floating point" msgstr "" #. return float result in ac0 -#: config/pdp11/pdp11.h:58 +#: config/pdp11/pdp11.h:59 msgid "Return floating point results in ac0" msgstr "" -#: config/pdp11/pdp11.h:59 +#: config/pdp11/pdp11.h:60 msgid "Return floating point results in memory" msgstr "" #. is 11/40 -#: config/pdp11/pdp11.h:61 +#: config/pdp11/pdp11.h:62 msgid "Generate code for an 11/40" msgstr "" #. is 11/45 -#: config/pdp11/pdp11.h:64 +#: config/pdp11/pdp11.h:65 msgid "Generate code for an 11/45" msgstr "" #. is 11/10 -#: config/pdp11/pdp11.h:67 +#: config/pdp11/pdp11.h:68 msgid "Generate code for an 11/10" msgstr "" #. use movstrhi for bcopy #. use 32 bit for int -#: config/pdp11/pdp11.h:72 config/pdp11/pdp11.h:73 +#: config/pdp11/pdp11.h:73 config/pdp11/pdp11.h:74 msgid "Use 32 bit int" msgstr "" -#: config/pdp11/pdp11.h:74 config/pdp11/pdp11.h:75 +#: config/pdp11/pdp11.h:75 config/pdp11/pdp11.h:76 msgid "Use 16 bit int" msgstr "" #. use 32 bit for float -#: config/pdp11/pdp11.h:77 config/pdp11/pdp11.h:78 +#: config/pdp11/pdp11.h:78 config/pdp11/pdp11.h:79 msgid "Use 32 bit float" msgstr "" -#: config/pdp11/pdp11.h:79 config/pdp11/pdp11.h:80 +#: config/pdp11/pdp11.h:80 config/pdp11/pdp11.h:81 msgid "Use 64 bit float" msgstr "" @@ -11970,74 +12207,50 @@ msgstr "" #. is branching expensive - on a PDP, it's actually really cheap #. this is just to play around and check what code gcc generates #. split instruction and data memory? -#: config/pdp11/pdp11.h:89 +#: config/pdp11/pdp11.h:90 msgid "Target has split I&D" msgstr "" -#: config/pdp11/pdp11.h:90 +#: config/pdp11/pdp11.h:91 msgid "Target does not have split I&D" msgstr "" #. UNIX assembler syntax? -#: config/pdp11/pdp11.h:92 +#: config/pdp11/pdp11.h:93 msgid "Use UNIX assembler syntax" msgstr "" -#: config/pdp11/pdp11.h:93 +#: config/pdp11/pdp11.h:94 msgid "Use DEC assembler syntax" msgstr "" -#: config/pj/pj.h:73 -msgid "Generate little endian data" -msgstr "" - -#: config/pj/pj.h:75 -msgid "Generate big endian data" -msgstr "" - -#: config/pj/pj.h:77 -msgid "Turn on maintainer testing code" -msgstr "" - -#: config/pj/pj.h:79 -msgid "Enable Transmeta picoJava extensions" -msgstr "" - -#: config/pj/pj.h:81 -msgid "Disable Transmeta picoJava extensions" -msgstr "" - -#: config/pj/pj.h:83 -msgid "Disable reorganization pass" -msgstr "" - -#: config/romp/romp.c:709 config/rs6000/rs6000.c:6551 +#: config/romp/romp.c:717 config/rs6000/rs6000.c:7718 #, c-format msgid "invalid %%S value" msgstr "" -#: config/romp/romp.c:718 config/romp/romp.c:725 +#: config/romp/romp.c:726 config/romp/romp.c:733 #, c-format msgid "invalid %%b value" msgstr "" -#: config/romp/romp.c:765 config/romp/romp.c:776 +#: config/romp/romp.c:773 config/romp/romp.c:784 #, c-format msgid "invalid %%z value" msgstr "" -#: config/romp/romp.c:784 config/romp/romp.c:792 +#: config/romp/romp.c:792 config/romp/romp.c:800 #, c-format msgid "invalid %%Z value" msgstr "" -#: config/romp/romp.c:799 config/romp/romp.c:808 config/romp/romp.c:815 -#: config/rs6000/rs6000.c:6330 +#: config/romp/romp.c:807 config/romp/romp.c:816 config/romp/romp.c:823 +#: config/rs6000/rs6000.c:7547 #, c-format msgid "invalid %%k value" msgstr "" -#: config/romp/romp.c:900 config/romp/romp.c:943 +#: config/romp/romp.c:908 config/romp/romp.c:951 #, c-format msgid "invalid %%j value" msgstr "" @@ -12059,139 +12272,198 @@ msgstr "" msgid "can't have varargs with -mfp-arg-in-fp-regs" msgstr "" -#: config/rs6000/rs6000.c:475 +#. Handle the machine specific pragma longcall. Its syntax is +#. +#. # pragma longcall ( TOGGLE ) +#. +#. where TOGGLE is either 0 or 1. +#. +#. rs6000_default_long_calls is set to the value of TOGGLE, changing +#. whether or not new function declarations receive a longcall +#. attribute by default. +#: config/rs6000/rs6000-c.c:44 +msgid "ignoring malformed #pragma longcall" +msgstr "" + +#: config/rs6000/rs6000-c.c:58 +msgid "missing open paren" +msgstr "" + +#: config/rs6000/rs6000-c.c:60 +msgid "missing number" +msgstr "" + +#: config/rs6000/rs6000-c.c:62 +msgid "missing close paren" +msgstr "" + +#: config/rs6000/rs6000-c.c:65 +msgid "number must be 0 or 1" +msgstr "" + +#: config/rs6000/rs6000-c.c:68 +msgid "junk at end of #pragma longcall" +msgstr "" + +#: config/rs6000/rs6000.c:588 msgid "-mmultiple is not supported on little endian systems" msgstr "" -#: config/rs6000/rs6000.c:482 +#: config/rs6000/rs6000.c:595 msgid "-mstring is not supported on little endian systems" msgstr "" -#: config/rs6000/rs6000.c:491 config/xtensa/xtensa.c:1846 +#: config/rs6000/rs6000.c:619 #, c-format -msgid "-f%s ignored (all code is position independent)" +msgid "unknown -mdebug-%s switch" msgstr "" -#: config/rs6000/rs6000.c:499 -msgid "-ffunction-sections disabled on AIX when debugging" +#: config/rs6000/rs6000.c:631 +#, c-format +msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'" msgstr "" -#: config/rs6000/rs6000.c:505 -msgid "-fdata-sections not supported on AIX" +#: config/rs6000/rs6000.c:642 +#, c-format +msgid "Unknown switch -mlong-double-%s" msgstr "" -#: config/rs6000/rs6000.c:520 +#: config/rs6000/rs6000.c:734 #, c-format -msgid "unknown -mdebug-%s switch" +msgid "unknown -misel= option specified: '%s'" msgstr "" -#: config/rs6000/rs6000.c:530 +#: config/rs6000/rs6000.c:749 #, c-format -msgid "Unknown switch -mlong-double-%s" +msgid "unknown -mvrsave= option specified: '%s'" msgstr "" -#: config/rs6000/rs6000.c:597 +#: config/rs6000/rs6000.c:768 #, c-format msgid "unknown ABI specified: '%s'" msgstr "" -#: config/rs6000/rs6000.c:3636 +#: config/rs6000/rs6000.c:4169 +msgid "argument 1 must be a 5-bit signed literal" +msgstr "" + +#: config/rs6000/rs6000.c:4276 config/rs6000/rs6000.c:4866 +msgid "argument 2 must be a 5-bit unsigned literal" +msgstr "" + +#: config/rs6000/rs6000.c:4319 msgid "argument 1 of __builtin_altivec_predicate must be a constant" msgstr "" -#: config/rs6000/rs6000.c:3690 +#: config/rs6000/rs6000.c:4373 msgid "argument 1 of __builtin_altivec_predicate is out of range" msgstr "" -#: config/rs6000/rs6000.c:4046 +#: config/rs6000/rs6000.c:4452 +msgid "argument 3 must be a 4-bit unsigned literal" +msgstr "" + +#: config/rs6000/rs6000.c:4629 #, c-format -msgid "argument 3 of `%s' must be a 2-bit literal" +msgid "argument to `%s' must be a 2-bit unsigned literal" +msgstr "" + +#: config/rs6000/rs6000.c:4745 +msgid "argument to dss must be a 2-bit unsigned literal" +msgstr "" + +#: config/rs6000/rs6000.c:4976 +msgid "argument 1 of __builtin_spe_predicate must be a constant" msgstr "" -#: config/rs6000/rs6000.c:6257 +#: config/rs6000/rs6000.c:5049 +msgid "argument 1 of __builtin_spe_predicate is out of range" +msgstr "" + +#: config/rs6000/rs6000.c:7474 #, c-format msgid "invalid %%f value" msgstr "" -#: config/rs6000/rs6000.c:6266 +#: config/rs6000/rs6000.c:7483 #, c-format msgid "invalid %%F value" msgstr "" -#: config/rs6000/rs6000.c:6275 +#: config/rs6000/rs6000.c:7492 #, c-format msgid "invalid %%G value" msgstr "" -#: config/rs6000/rs6000.c:6310 +#: config/rs6000/rs6000.c:7527 #, c-format msgid "invalid %%j code" msgstr "" -#: config/rs6000/rs6000.c:6320 +#: config/rs6000/rs6000.c:7537 #, c-format msgid "invalid %%J code" msgstr "" -#: config/rs6000/rs6000.c:6350 +#: config/rs6000/rs6000.c:7567 #, c-format msgid "invalid %%K value" msgstr "" -#: config/rs6000/rs6000.c:6577 -#, c-format -msgid "%%S computed all 1's mask" -msgstr "" - -#: config/rs6000/rs6000.c:6604 +#: config/rs6000/rs6000.c:7634 #, c-format -msgid "%%S computed all 0's mask" +msgid "invalid %%O value" msgstr "" -#: config/rs6000/rs6000.c:6614 +#: config/rs6000/rs6000.c:7756 #, c-format msgid "invalid %%T value" msgstr "" -#: config/rs6000/rs6000.c:6624 +#: config/rs6000/rs6000.c:7766 #, c-format msgid "invalid %%u value" msgstr "" -#: config/rs6000/rs6000.c:6633 +#: config/rs6000/rs6000.c:7775 #, c-format msgid "invalid %%v value" msgstr "" -#: config/rs6000/aix.h:137 config/rs6000/beos.h:32 +#: config/rs6000/rs6000.c:12180 +msgid "no profiling of 64-bit code for this ABI" +msgstr "" + +#: config/rs6000/aix.h:160 config/rs6000/beos.h:32 msgid "Always pass floating-point arguments in memory" msgstr "" -#: config/rs6000/aix.h:139 config/rs6000/beos.h:34 +#: config/rs6000/aix.h:162 config/rs6000/beos.h:34 msgid "Don't always pass floating-point arguments in memory" msgstr "" #: config/rs6000/aix41.h:28 config/rs6000/aix43.h:32 config/rs6000/aix51.h:32 +#: config/rs6000/aix52.h:32 msgid "Support message passing with the Parallel Environment" msgstr "" -#: config/rs6000/aix43.h:28 config/rs6000/aix51.h:28 +#: config/rs6000/aix43.h:28 config/rs6000/aix51.h:28 config/rs6000/aix52.h:28 msgid "Compile for 64-bit pointers" msgstr "" -#: config/rs6000/aix43.h:30 config/rs6000/aix51.h:30 +#: config/rs6000/aix43.h:30 config/rs6000/aix51.h:30 config/rs6000/aix52.h:30 msgid "Compile for 32-bit pointers" msgstr "" -#: config/rs6000/aix43.h:49 config/rs6000/aix51.h:49 +#: config/rs6000/aix43.h:49 config/rs6000/aix51.h:49 config/rs6000/aix52.h:49 msgid "-maix64 and POWER architecture are incompatible" msgstr "" -#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:54 +#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:54 config/rs6000/aix52.h:54 msgid "-maix64 requires PowerPC64 architecture remain enabled" msgstr "" -#: config/rs6000/aix43.h:58 config/rs6000/aix51.h:58 +#: config/rs6000/aix43.h:58 config/rs6000/aix51.h:58 config/rs6000/aix52.h:58 msgid "" "-maix64 required: 64-bit computation with 32-bit addressing not yet supported" msgstr "" @@ -12203,146 +12475,162 @@ msgstr "" #. each pair being { "NAME", VALUE } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/rs6000/rs6000.h:277 +#: config/rs6000/rs6000.h:240 msgid "Use POWER instruction set" msgstr "" -#: config/rs6000/rs6000.h:280 +#: config/rs6000/rs6000.h:243 msgid "Use POWER2 instruction set" msgstr "" -#: config/rs6000/rs6000.h:282 +#: config/rs6000/rs6000.h:245 msgid "Do not use POWER2 instruction set" msgstr "" -#: config/rs6000/rs6000.h:285 +#: config/rs6000/rs6000.h:248 msgid "Do not use POWER instruction set" msgstr "" -#: config/rs6000/rs6000.h:287 +#: config/rs6000/rs6000.h:250 msgid "Use PowerPC instruction set" msgstr "" -#: config/rs6000/rs6000.h:290 +#: config/rs6000/rs6000.h:253 msgid "Do not use PowerPC instruction set" msgstr "" -#: config/rs6000/rs6000.h:292 +#: config/rs6000/rs6000.h:255 msgid "Use PowerPC General Purpose group optional instructions" msgstr "" -#: config/rs6000/rs6000.h:294 +#: config/rs6000/rs6000.h:257 msgid "Don't use PowerPC General Purpose group optional instructions" msgstr "" -#: config/rs6000/rs6000.h:296 +#: config/rs6000/rs6000.h:259 msgid "Use PowerPC Graphics group optional instructions" msgstr "" -#: config/rs6000/rs6000.h:298 +#: config/rs6000/rs6000.h:261 msgid "Don't use PowerPC Graphics group optional instructions" msgstr "" -#: config/rs6000/rs6000.h:300 +#: config/rs6000/rs6000.h:263 msgid "Use PowerPC-64 instruction set" msgstr "" -#: config/rs6000/rs6000.h:302 +#: config/rs6000/rs6000.h:265 msgid "Don't use PowerPC-64 instruction set" msgstr "" -#: config/rs6000/rs6000.h:304 +#: config/rs6000/rs6000.h:267 msgid "Use AltiVec instructions" msgstr "" -#: config/rs6000/rs6000.h:306 +#: config/rs6000/rs6000.h:269 msgid "Don't use AltiVec instructions" msgstr "" -#: config/rs6000/rs6000.h:308 +#: config/rs6000/rs6000.h:271 msgid "Use new mnemonics for PowerPC architecture" msgstr "" -#: config/rs6000/rs6000.h:310 +#: config/rs6000/rs6000.h:273 msgid "Use old mnemonics for PowerPC architecture" msgstr "" -#: config/rs6000/rs6000.h:313 +#: config/rs6000/rs6000.h:276 msgid "Put everything in the regular TOC" msgstr "" -#: config/rs6000/rs6000.h:315 +#: config/rs6000/rs6000.h:278 msgid "Place floating point constants in TOC" msgstr "" -#: config/rs6000/rs6000.h:317 +#: config/rs6000/rs6000.h:280 msgid "Don't place floating point constants in TOC" msgstr "" -#: config/rs6000/rs6000.h:319 +#: config/rs6000/rs6000.h:282 msgid "Place symbol+offset constants in TOC" msgstr "" -#: config/rs6000/rs6000.h:321 +#: config/rs6000/rs6000.h:284 msgid "Don't place symbol+offset constants in TOC" msgstr "" -#: config/rs6000/rs6000.h:327 +#: config/rs6000/rs6000.h:290 msgid "Place variable addresses in the regular TOC" msgstr "" -#: config/rs6000/rs6000.h:333 +#: config/rs6000/rs6000.h:296 msgid "Generate load/store multiple instructions" msgstr "" -#: config/rs6000/rs6000.h:335 +#: config/rs6000/rs6000.h:298 msgid "Do not generate load/store multiple instructions" msgstr "" -#: config/rs6000/rs6000.h:339 +#: config/rs6000/rs6000.h:302 msgid "Generate string instructions for block moves" msgstr "" -#: config/rs6000/rs6000.h:341 +#: config/rs6000/rs6000.h:304 msgid "Do not generate string instructions for block moves" msgstr "" -#: config/rs6000/rs6000.h:345 +#: config/rs6000/rs6000.h:308 msgid "Generate load/store with update instructions" msgstr "" -#: config/rs6000/rs6000.h:347 +#: config/rs6000/rs6000.h:310 msgid "Do not generate load/store with update instructions" msgstr "" -#: config/rs6000/rs6000.h:355 +#: config/rs6000/rs6000.h:318 msgid "Don't schedule the start and end of the procedure" msgstr "" -#: config/rs6000/rs6000.h:361 +#: config/rs6000/rs6000.h:324 msgid "Return all structures in memory (AIX default)" msgstr "" -#: config/rs6000/rs6000.h:363 +#: config/rs6000/rs6000.h:326 msgid "Return small structures in registers (SVR4 default)" msgstr "" -#: config/rs6000/rs6000.h:426 config/sparc/sparc.h:639 +#: config/rs6000/rs6000.h:391 config/sparc/sparc.h:633 msgid "Use features of and schedule code for given CPU" msgstr "" -#: config/rs6000/rs6000.h:429 +#: config/rs6000/rs6000.h:394 msgid "Enable debug output" msgstr "" -#: config/rs6000/rs6000.h:430 +#: config/rs6000/rs6000.h:396 +msgid "Select full, part, or no traceback table" +msgstr "" + +#: config/rs6000/rs6000.h:397 msgid "Specify ABI to use" msgstr "" -#: config/rs6000/rs6000.h:432 +#: config/rs6000/rs6000.h:399 msgid "Specify size of long double (64 or 128 bits)" msgstr "" +#: config/rs6000/rs6000.h:401 +msgid "Specify yes/no if isel instructions should be generated" +msgstr "" + +#: config/rs6000/rs6000.h:403 +msgid "Specify yes/no if VRSAVE instructions should be generated for AltiVec" +msgstr "" + +#: config/rs6000/rs6000.h:405 +msgid "Avoid all range limits on call instructions" +msgstr "" + #. Definitions for __builtin_return_address and __builtin_frame_address. #. __builtin_return_address (0) should give link register (65), enable #. this. @@ -12355,99 +12643,103 @@ msgstr "" #. Number of bytes into the frame return addresses can be found. See #. rs6000_stack_info in rs6000.c for more information on how the different #. abi's store the return address. -#: config/rs6000/rs6000.h:1772 +#: config/rs6000/rs6000.h:1869 msgid "RETURN_ADDRESS_OFFSET not supported" msgstr "" -#: config/rs6000/sysv4.h:88 +#: config/rs6000/sysv4.h:87 msgid "Select ABI calling convention" msgstr "" -#: config/rs6000/sysv4.h:89 +#: config/rs6000/sysv4.h:88 msgid "Select method for sdata handling" msgstr "" -#: config/rs6000/sysv4.h:104 +#: config/rs6000/sysv4.h:103 msgid "Align to the base type of the bit-field" msgstr "" -#: config/rs6000/sysv4.h:106 +#: config/rs6000/sysv4.h:105 msgid "Don't align to the base type of the bit-field" msgstr "" -#: config/rs6000/sysv4.h:108 +#: config/rs6000/sysv4.h:107 msgid "Don't assume that unaligned accesses are handled by the system" msgstr "" -#: config/rs6000/sysv4.h:110 +#: config/rs6000/sysv4.h:109 msgid "Assume that unaligned accesses are handled by the system" msgstr "" -#: config/rs6000/sysv4.h:112 config/rs6000/sysv4.h:116 +#: config/rs6000/sysv4.h:111 config/rs6000/sysv4.h:115 msgid "Produce code relocatable at runtime" msgstr "" -#: config/rs6000/sysv4.h:114 config/rs6000/sysv4.h:118 +#: config/rs6000/sysv4.h:113 config/rs6000/sysv4.h:117 msgid "Don't produce code relocatable at runtime" msgstr "" -#: config/rs6000/sysv4.h:120 config/rs6000/sysv4.h:122 +#: config/rs6000/sysv4.h:119 config/rs6000/sysv4.h:121 msgid "Produce little endian code" msgstr "" -#: config/rs6000/sysv4.h:124 config/rs6000/sysv4.h:126 +#: config/rs6000/sysv4.h:123 config/rs6000/sysv4.h:125 msgid "Produce big endian code" msgstr "" -#: config/rs6000/sysv4.h:127 config/rs6000/sysv4.h:128 -#: config/rs6000/sysv4.h:129 config/rs6000/sysv4.h:130 -#: config/rs6000/sysv4.h:131 config/rs6000/sysv4.h:132 -#: config/rs6000/sysv4.h:142 config/rs6000/sysv4.h:143 -#: config/rs6000/sysv4.h:154 config/rs6000/sysv4.h:155 +#: config/rs6000/sysv4.h:126 config/rs6000/sysv4.h:127 +#: config/rs6000/sysv4.h:128 config/rs6000/sysv4.h:129 +#: config/rs6000/sysv4.h:130 config/rs6000/sysv4.h:131 +#: config/rs6000/sysv4.h:141 config/rs6000/sysv4.h:142 +#: config/rs6000/sysv4.h:153 config/rs6000/sysv4.h:155 #: config/rs6000/sysv4.h:157 msgid "no description yet" msgstr "" -#: config/rs6000/sysv4.h:133 +#: config/rs6000/sysv4.h:132 msgid "Use EABI" msgstr "" -#: config/rs6000/sysv4.h:134 +#: config/rs6000/sysv4.h:133 msgid "Don't use EABI" msgstr "" -#: config/rs6000/sysv4.h:137 +#: config/rs6000/sysv4.h:136 msgid "Do not allow bit-fields to cross word boundaries" msgstr "" -#: config/rs6000/sysv4.h:139 +#: config/rs6000/sysv4.h:138 msgid "Use alternate register names" msgstr "" -#: config/rs6000/sysv4.h:141 +#: config/rs6000/sysv4.h:140 msgid "Don't use alternate register names" msgstr "" -#: config/rs6000/sysv4.h:145 +#: config/rs6000/sysv4.h:144 msgid "Link with libsim.a, libc.a and sim-crt0.o" msgstr "" -#: config/rs6000/sysv4.h:147 +#: config/rs6000/sysv4.h:146 msgid "Link with libads.a, libc.a and crt0.o" msgstr "" -#: config/rs6000/sysv4.h:149 +#: config/rs6000/sysv4.h:148 msgid "Link with libyk.a, libc.a and crt0.o" msgstr "" -#: config/rs6000/sysv4.h:151 +#: config/rs6000/sysv4.h:150 msgid "Link with libmvme.a, libc.a and crt0.o" msgstr "" -#: config/rs6000/sysv4.h:153 +#: config/rs6000/sysv4.h:152 msgid "Set the PPC_EMB bit in the ELF flags header" msgstr "" +#: config/rs6000/sysv4.h:154 +msgid "Use the WindISS simulator" +msgstr "" + #. Sometimes certain combinations of command options do not make sense #. on a particular target machine. You can define a macro #. `OVERRIDE_OPTIONS' to take account of this. This macro, if @@ -12481,179 +12773,183 @@ msgstr "" msgid "-msdata=%s and -mcall-%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:270 +#: config/rs6000/sysv4.h:272 msgid "-mrelocatable and -mno-minimal-toc are incompatible" msgstr "" -#: config/rs6000/sysv4.h:276 +#: config/rs6000/sysv4.h:278 #, c-format msgid "-mrelocatable and -mcall-%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:283 +#: config/rs6000/sysv4.h:285 #, c-format msgid "-fPIC and -mcall-%s are incompatible" msgstr "" -#: config/rs6000/sysv4.h:290 +#: config/rs6000/sysv4.h:292 msgid "-mcall-aixdesc must be big endian" msgstr "" -#: config/s390/s390.c:1958 +#: config/s390/s390.c:2584 msgid "invalid UNSPEC as operand (1)" msgstr "" -#: config/s390/s390.c:1988 +#: config/s390/s390.c:2620 msgid "invalid UNSPEC as operand (2)" msgstr "" -#: config/s390/s390.c:1994 +#: config/s390/s390.c:2626 msgid "UNKNOWN in s390_output_symbolic_const !?" msgstr "" -#: config/s390/s390.c:2010 +#: config/s390/s390.c:2644 msgid "Cannot decompose address." msgstr "" -#: config/s390/s390.c:2158 +#: config/s390/s390.c:2784 msgid "UNKNOWN in print_operand !?" msgstr "" -#: config/s390/s390.c:2751 +#: config/s390/s390.c:4421 msgid "Total size of local variables exceeds architecture limit." msgstr "" -#: config/s390/s390.h:58 +#: config/s390/s390.h:70 msgid "Set backchain" msgstr "" -#: config/s390/s390.h:59 +#: config/s390/s390.h:71 msgid "Don't set backchain (faster, but debug harder" msgstr "" -#: config/s390/s390.h:60 +#: config/s390/s390.h:72 msgid "Use bras for execucable < 64k" msgstr "" -#: config/s390/s390.h:61 +#: config/s390/s390.h:73 msgid "Don't use bras" msgstr "" -#: config/s390/s390.h:62 +#: config/s390/s390.h:74 msgid "Additional debug prints" msgstr "" -#: config/s390/s390.h:63 +#: config/s390/s390.h:75 msgid "Don't print additional debug prints" msgstr "" -#: config/s390/s390.h:64 +#: config/s390/s390.h:76 msgid "64 bit mode" msgstr "" -#: config/s390/s390.h:65 +#: config/s390/s390.h:77 msgid "31 bit mode" msgstr "" -#: config/s390/s390.h:66 +#: config/s390/s390.h:78 msgid "mvcle use" msgstr "" -#: config/s390/s390.h:67 +#: config/s390/s390.h:79 msgid "mvc&ex" msgstr "" -#: config/sh/sh.c:5069 +#: config/sh/sh.c:5134 msgid "__builtin_saveregs not supported by this subtarget" msgstr "" +#: config/sh/sh.c:5684 +msgid "attribute interrupt_handler is not compatible with -m5-compact" +msgstr "" + #. The sp_switch attribute only has meaning for interrupt functions. -#: config/sh/sh.c:5619 config/sh/sh.c:5658 +#: config/sh/sh.c:5710 config/sh/sh.c:5749 #, c-format msgid "`%s' attribute only applies to interrupt functions" msgstr "" #. The argument must be a constant string. -#: config/sh/sh.c:5626 +#: config/sh/sh.c:5717 #, c-format msgid "`%s' attribute argument not a string constant" msgstr "" #. The argument must be a constant integer. -#: config/sh/sh.c:5665 +#: config/sh/sh.c:5756 #, c-format msgid "`%s' attribute argument not an integer constant" msgstr "" #. There are no delay slots on SHmedia. #. Relaxation isn't yet supported for SHmedia -#: config/sh/sh.h:367 +#: config/sh/sh.h:437 msgid "Profiling is not supported on this target." msgstr "" -#: config/sparc/sparc.c:317 +#: config/sparc/sparc.c:329 #, c-format msgid "%s is not supported by this configuration" msgstr "" -#: config/sparc/sparc.c:324 +#: config/sparc/sparc.c:336 msgid "-mlong-double-64 not allowed with -m64" msgstr "" -#: config/sparc/sparc.c:349 +#: config/sparc/sparc.c:361 msgid "-mcmodel= is not supported on 32 bit systems" msgstr "" -#: config/sparc/sparc.c:5985 config/sparc/sparc.c:5991 +#: config/sparc/sparc.c:6299 config/sparc/sparc.c:6305 #, c-format msgid "invalid %%Y operand" msgstr "" -#: config/sparc/sparc.c:6061 +#: config/sparc/sparc.c:6375 #, c-format msgid "invalid %%A operand" msgstr "" -#: config/sparc/sparc.c:6071 +#: config/sparc/sparc.c:6385 #, c-format msgid "invalid %%B operand" msgstr "" -#: config/sparc/sparc.c:6110 +#: config/sparc/sparc.c:6424 #, c-format msgid "invalid %%c operand" msgstr "" -#: config/sparc/sparc.c:6111 +#: config/sparc/sparc.c:6425 #, c-format msgid "invalid %%C operand" msgstr "" -#: config/sparc/sparc.c:6132 +#: config/sparc/sparc.c:6446 #, c-format msgid "invalid %%d operand" msgstr "" -#: config/sparc/sparc.c:6133 +#: config/sparc/sparc.c:6447 #, c-format msgid "invalid %%D operand" msgstr "" -#: config/sparc/sparc.c:6149 +#: config/sparc/sparc.c:6463 #, c-format msgid "invalid %%f operand" msgstr "" -#: config/sparc/sparc.c:6199 +#: config/sparc/sparc.c:6513 msgid "long long constant not a valid immediate operand" msgstr "" -#: config/sparc/sparc.c:6202 +#: config/sparc/sparc.c:6516 msgid "floating point constant not a valid immediate operand" msgstr "" -#: config/sparc/freebsd.h:81 config/sparc/linux.h:89 -#: config/sparc/linux64.h:146 config/sparc/netbsd-elf.h:241 +#: config/sparc/freebsd.h:80 config/sparc/linux.h:87 config/sparc/linux64.h:89 +#: config/sparc/netbsd-elf.h:239 msgid "Use 128 bit long doubles" msgstr "" @@ -12665,334 +12961,379 @@ msgstr "" msgid "Generate code for little endian" msgstr "" -#: config/sparc/sp86x-aout.h:51 config/sparc/sp86x-elf.h:67 +#: config/sparc/sp86x-aout.h:51 config/sparc/sp86x-elf.h:65 msgid "Use little-endian byte order for data" msgstr "" -#: config/sparc/sparc.h:539 +#: config/sparc/sparc.h:532 msgid "Assume possible double misalignment" msgstr "" -#: config/sparc/sparc.h:541 +#: config/sparc/sparc.h:534 msgid "Assume all doubles are aligned" msgstr "" -#: config/sparc/sparc.h:543 +#: config/sparc/sparc.h:536 msgid "Pass -assert pure-text to linker" msgstr "" -#: config/sparc/sparc.h:545 +#: config/sparc/sparc.h:538 msgid "Do not pass -assert pure-text to linker" msgstr "" -#: config/sparc/sparc.h:547 +#: config/sparc/sparc.h:540 msgid "Use flat register window model" msgstr "" -#: config/sparc/sparc.h:549 +#: config/sparc/sparc.h:542 msgid "Do not use flat register window model" msgstr "" -#: config/sparc/sparc.h:551 +#: config/sparc/sparc.h:544 msgid "Use ABI reserved registers" msgstr "" -#: config/sparc/sparc.h:553 +#: config/sparc/sparc.h:546 msgid "Do not use ABI reserved registers" msgstr "" -#: config/sparc/sparc.h:555 +#: config/sparc/sparc.h:548 msgid "Use hardware quad fp instructions" msgstr "" -#: config/sparc/sparc.h:557 +#: config/sparc/sparc.h:550 msgid "Do not use hardware quad fp instructions" msgstr "" -#: config/sparc/sparc.h:559 +#: config/sparc/sparc.h:552 msgid "Compile for v8plus ABI" msgstr "" -#: config/sparc/sparc.h:561 +#: config/sparc/sparc.h:554 msgid "Do not compile for v8plus ABI" msgstr "" -#: config/sparc/sparc.h:563 +#: config/sparc/sparc.h:556 msgid "Utilize Visual Instruction Set" msgstr "" -#: config/sparc/sparc.h:565 +#: config/sparc/sparc.h:558 msgid "Do not utilize Visual Instruction Set" msgstr "" #. ??? These are deprecated, coerced to -mcpu=. Delete in 2.9. -#: config/sparc/sparc.h:568 +#: config/sparc/sparc.h:561 msgid "Optimize for Cypress processors" msgstr "" -#: config/sparc/sparc.h:570 -msgid "Optimize for SparcLite processors" +#: config/sparc/sparc.h:563 +msgid "Optimize for SPARCLite processors" msgstr "" -#: config/sparc/sparc.h:572 +#: config/sparc/sparc.h:565 msgid "Optimize for F930 processors" msgstr "" -#: config/sparc/sparc.h:574 +#: config/sparc/sparc.h:567 msgid "Optimize for F934 processors" msgstr "" -#: config/sparc/sparc.h:576 -msgid "Use V8 Sparc ISA" +#: config/sparc/sparc.h:569 +msgid "Use V8 SPARC ISA" msgstr "" -#: config/sparc/sparc.h:578 -msgid "Optimize for SuperSparc processors" +#: config/sparc/sparc.h:571 +msgid "Optimize for SuperSPARC processors" msgstr "" #. End of deprecated options. -#: config/sparc/sparc.h:581 +#: config/sparc/sparc.h:574 msgid "Pointers are 64-bit" msgstr "" -#: config/sparc/sparc.h:583 +#: config/sparc/sparc.h:576 msgid "Pointers are 32-bit" msgstr "" -#: config/sparc/sparc.h:585 +#: config/sparc/sparc.h:578 msgid "Use 32-bit ABI" msgstr "" -#: config/sparc/sparc.h:587 +#: config/sparc/sparc.h:580 msgid "Use 64-bit ABI" msgstr "" -#: config/sparc/sparc.h:589 +#: config/sparc/sparc.h:582 msgid "Use stack bias" msgstr "" -#: config/sparc/sparc.h:591 +#: config/sparc/sparc.h:584 msgid "Do not use stack bias" msgstr "" -#: config/sparc/sparc.h:593 +#: config/sparc/sparc.h:586 msgid "Use structs on stronger alignment for double-word copies" msgstr "" -#: config/sparc/sparc.h:595 +#: config/sparc/sparc.h:588 msgid "Do not use structs on stronger alignment for double-word copies" msgstr "" -#: config/sparc/sparc.h:597 +#: config/sparc/sparc.h:590 msgid "Optimize tail call instructions in assembler and linker" msgstr "" -#: config/sparc/sparc.h:599 +#: config/sparc/sparc.h:592 msgid "Do not optimize tail call instructions in assembler or linker" msgstr "" -#: config/sparc/sparc.h:643 -msgid "Use given Sparc code model" +#: config/sparc/sparc.h:637 +msgid "Use given SPARC code model" msgstr "" -#: config/stormy16/stormy16.c:1180 +#: config/stormy16/stormy16.c:1192 msgid "cannot use va_start in interrupt function" msgstr "" -#: config/stormy16/stormy16.c:1538 +#: config/stormy16/stormy16.c:1552 msgid "`B' operand is not constant" msgstr "" -#: config/stormy16/stormy16.c:1544 +#: config/stormy16/stormy16.c:1558 msgid "`B' operand has multiple bits set" msgstr "" -#: config/stormy16/stormy16.c:1571 +#: config/stormy16/stormy16.c:1585 msgid "`o' operand is not constant" msgstr "" -#: config/stormy16/stormy16.c:1586 +#: config/stormy16/stormy16.c:1600 msgid "xstormy16_print_operand: unknown code" msgstr "" -#: config/stormy16/stormy16.c:1636 +#: config/stormy16/stormy16.c:1650 #, c-format msgid "switch statement of size %lu entries too large" msgstr "" -#: config/v850/v850-c.c:68 +#: config/v850/v850-c.c:67 msgid "#pragma GHS endXXXX found without previous startXXX" msgstr "" -#: config/v850/v850-c.c:70 +#: config/v850/v850-c.c:69 msgid "#pragma GHS endXXX does not match previous startXXX" msgstr "" -#: config/v850/v850-c.c:95 +#: config/v850/v850-c.c:94 msgid "cannot set interrupt attribute: no current function" msgstr "" -#: config/v850/v850-c.c:103 +#: config/v850/v850-c.c:102 msgid "cannot set interrupt attribute: no such identifier" msgstr "" -#: config/v850/v850-c.c:149 +#: config/v850/v850-c.c:148 msgid "junk at end of #pragma ghs section" msgstr "" -#: config/v850/v850-c.c:166 +#: config/v850/v850-c.c:165 #, c-format msgid "unrecognized section name \"%s\"" msgstr "" -#: config/v850/v850-c.c:181 +#: config/v850/v850-c.c:180 msgid "malformed #pragma ghs section" msgstr "" -#: config/v850/v850-c.c:201 +#: config/v850/v850-c.c:200 msgid "junk at end of #pragma ghs interrupt" msgstr "" -#: config/v850/v850-c.c:213 +#: config/v850/v850-c.c:212 msgid "junk at end of #pragma ghs starttda" msgstr "" -#: config/v850/v850-c.c:225 +#: config/v850/v850-c.c:224 msgid "junk at end of #pragma ghs startsda" msgstr "" -#: config/v850/v850-c.c:237 +#: config/v850/v850-c.c:236 msgid "junk at end of #pragma ghs startzda" msgstr "" -#: config/v850/v850-c.c:249 +#: config/v850/v850-c.c:248 msgid "junk at end of #pragma ghs endtda" msgstr "" -#: config/v850/v850-c.c:261 +#: config/v850/v850-c.c:260 msgid "junk at end of #pragma ghs endsda" msgstr "" -#: config/v850/v850-c.c:273 +#: config/v850/v850-c.c:272 msgid "junk at end of #pragma ghs endzda" msgstr "" -#: config/v850/v850.c:122 +#: config/v850/v850.c:129 #, c-format msgid "%s=%s is not numeric" msgstr "" -#: config/v850/v850.c:129 +#: config/v850/v850.c:136 #, c-format msgid "%s=%s is too large" msgstr "" -#: config/v850/v850.c:285 +#: config/v850/v850.c:302 msgid "const_double_split got a bad insn:" msgstr "" -#: config/v850/v850.c:777 +#: config/v850/v850.c:837 msgid "output_move_single:" msgstr "" -#: config/v850/v850.c:2084 +#: config/v850/v850.c:2217 msgid "a data area attribute cannot be specified for local variables" msgstr "" -#: config/v850/v850.c:2095 +#: config/v850/v850.c:2228 #, c-format msgid "data area of '%s' conflicts with previous declaration" msgstr "" -#: config/v850/v850.c:2298 +#: config/v850/v850.c:2447 #, c-format msgid "bogus JR construction: %d\n" msgstr "" -#: config/v850/v850.c:2319 config/v850/v850.c:2521 +#: config/v850/v850.c:2468 config/v850/v850.c:2670 #, c-format msgid "bad amount of stack space removal: %d" msgstr "" -#: config/v850/v850.c:2497 +#: config/v850/v850.c:2646 #, c-format msgid "bogus JARL construction: %d\n" msgstr "" +#: config/v850/v850.c:3026 +#, c-format +msgid "Bogus DISPOSE construction: %d\n" +msgstr "" + +#: config/v850/v850.c:3048 +#, c-format +msgid "Too much stack space to dispose of: %d" +msgstr "" + +#: config/v850/v850.c:3224 +#, c-format +msgid "Bogus PREPEARE construction: %d\n" +msgstr "" + +#: config/v850/v850.c:3246 +#, c-format +msgid "Too much stack space to prepare: %d" +msgstr "" + #. Macro to define tables used to set the flags. #. This is a list in braces of pairs in braces, #. each pair being { "NAME", VALUE } #. where VALUE is the bits to set or minus the bits to clear. #. An empty string NAME is used to identify the default VALUE. -#: config/v850/v850.h:120 +#: config/v850/v850.h:158 msgid "Support Green Hills ABI" msgstr "" -#: config/v850/v850.h:123 +#: config/v850/v850.h:161 msgid "Prohibit PC relative function calls" msgstr "" -#: config/v850/v850.h:126 +#: config/v850/v850.h:164 msgid "Reuse r30 on a per function basis" msgstr "" -#: config/v850/v850.h:129 +#: config/v850/v850.h:167 msgid "Use stubs for function prologues" msgstr "" -#: config/v850/v850.h:132 +#: config/v850/v850.h:170 msgid "Same as: -mep -mprolog-function" msgstr "" -#: config/v850/v850.h:133 +#: config/v850/v850.h:171 msgid "Enable backend debugging" msgstr "" -#: config/v850/v850.h:135 +#: config/v850/v850.h:173 msgid "Compile for the v850 processor" msgstr "" -#: config/v850/v850.h:138 +#: config/v850/v850.h:175 +msgid "Compile for v850e processor" +msgstr "" + +#. Make sure that the other bits are cleared. +#: config/v850/v850.h:177 +msgid "Enable the use of the short load instructions" +msgstr "" + +#: config/v850/v850.h:180 +msgid "Do not use the callt instruction" +msgstr "" + +#: config/v850/v850.h:187 +msgid "Do not use registers r2 and r5" +msgstr "" + +#: config/v850/v850.h:189 +msgid "Enfore strict alignment" +msgstr "" + +#: config/v850/v850.h:192 msgid "Use 4 byte entries in switch tables" msgstr "" -#: config/v850/v850.h:164 +#: config/v850/v850.h:218 msgid "Set the max size of data eligible for the TDA area" msgstr "" -#: config/v850/v850.h:167 +#: config/v850/v850.h:221 msgid "Set the max size of data eligible for the SDA area" msgstr "" -#: config/v850/v850.h:170 +#: config/v850/v850.h:224 msgid "Set the max size of data eligible for the ZDA area" msgstr "" -#: config/xtensa/xtensa.c:1048 config/xtensa/xtensa.c:1082 -#: config/xtensa/xtensa.c:1091 +#: config/xtensa/xtensa.c:1062 config/xtensa/xtensa.c:1096 +#: config/xtensa/xtensa.c:1105 msgid "bad test" msgstr "" -#: config/xtensa/xtensa.c:1790 +#: config/xtensa/xtensa.c:1824 msgid "boolean registers required for the floating-point option" msgstr "" -#: config/xtensa/xtensa.c:1965 +#: config/xtensa/xtensa.c:1991 msgid "invalid mask" msgstr "" -#: config/xtensa/xtensa.c:2017 +#: config/xtensa/xtensa.c:2038 msgid "invalid address" msgstr "" -#: config/xtensa/xtensa.c:2042 +#: config/xtensa/xtensa.c:2063 msgid "no register in address" msgstr "" -#: config/xtensa/xtensa.c:2050 +#: config/xtensa/xtensa.c:2071 msgid "address offset not a constant" msgstr "" +#: config/xtensa/xtensa.c:2809 +msgid "only uninitialized variables can be placed in a .bss section" +msgstr "" + #: config/xtensa/xtensa.h:114 msgid "Use the Xtensa code density option" msgstr "" @@ -13115,519 +13456,574 @@ msgstr "" msgid "Use direct CALLn instructions for fast calls" msgstr "" -#: ada/misc.c:234 +#: ada/misc.c:233 msgid "`-gnat' misspelled as `-gant'" msgstr "" -#: cp/call.c:270 cp/init.c:1633 +#: cp/call.c:258 cp/init.c:1587 msgid "qualified type `%T' does not match destructor name `~%T'" msgstr "" -#: cp/call.c:279 +#: cp/call.c:267 msgid "type of `%E' does not match destructor type `%T' (type was `%T')" msgstr "" -#: cp/call.c:288 +#: cp/call.c:276 msgid "`%D' is a namespace" msgstr "" -#: cp/call.c:296 +#: cp/call.c:284 msgid "base object `%E' of scoped method call is of non-aggregate type `%T'" msgstr "" -#: cp/call.c:377 +#: cp/call.c:366 msgid "unable to call pointer to member function here" msgstr "" -#: cp/call.c:513 +#: cp/call.c:515 msgid "destructors take no parameters" msgstr "" -#: cp/call.c:520 +#: cp/call.c:519 msgid "destructor name `~%T' does not match type `%T' of expression" msgstr "" -#: cp/call.c:2357 +#: cp/call.c:535 cp/call.c:4857 +msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'" +msgstr "" + +#: cp/call.c:557 +msgid "request for member `%D' is ambiguous" +msgstr "" + +#: cp/call.c:2446 msgid "%s %D(%T, %T, %T) <built-in>" msgstr "" -#: cp/call.c:2362 +#: cp/call.c:2451 msgid "%s %D(%T, %T) <built-in>" msgstr "" -#: cp/call.c:2366 +#: cp/call.c:2455 msgid "%s %D(%T) <built-in>" msgstr "" -#: cp/call.c:2370 +#: cp/call.c:2459 msgid "%s %T <conversion>" msgstr "" -#: cp/call.c:2372 +#: cp/call.c:2461 msgid "%s %+#D%s" msgstr "" -#: cp/call.c:2517 -msgid "no viable candidates" +#: cp/call.c:2615 +msgid "conversion from `%T' to `%T' is ambiguous" msgstr "" -#: cp/call.c:2531 -msgid "conversion from `%T' to `%T' is ambiguous" +#: cp/call.c:2690 +msgid "incomplete type '%T' cannot be used to name a scope" +msgstr "" + +#: cp/call.c:2706 cp/typeck.c:2176 cp/typeck.c:2205 +msgid "'%D' has no member named '%E'" msgstr "" -#: cp/call.c:2648 +#: cp/call.c:2812 msgid "no matching function for call to `%D(%A)'" msgstr "" -#: cp/call.c:2659 cp/call.c:4655 +#: cp/call.c:2823 cp/call.c:4948 msgid "call of overloaded `%D(%A)' is ambiguous" msgstr "" #. It's no good looking for an overloaded operator() on a #. pointer-to-member-function. -#: cp/call.c:2686 +#: cp/call.c:2850 #, c-format msgid "" "pointer-to-member function %E cannot be called without an object; consider " "using .* or ->*" msgstr "" -#: cp/call.c:2755 +#: cp/call.c:2920 msgid "no match for call to `(%T) (%A)'" msgstr "" -#: cp/call.c:2765 +#: cp/call.c:2930 msgid "call of `(%T) (%A)' is ambiguous" msgstr "" -#: cp/call.c:2800 +#: cp/call.c:2965 msgid "%s for `%T ? %T : %T' operator" msgstr "" -#: cp/call.c:2805 +#: cp/call.c:2970 msgid "%s for `%T %s' operator" msgstr "" -#: cp/call.c:2808 +#: cp/call.c:2973 msgid "%s for `%T [%T]' operator" msgstr "" -#: cp/call.c:2813 +#: cp/call.c:2978 msgid "%s for `%T %s %T' operator" msgstr "" -#: cp/call.c:2816 +#: cp/call.c:2981 msgid "%s for `%s %T' operator" msgstr "" -#: cp/call.c:2908 +#: cp/call.c:3071 msgid "ISO C++ forbids omitting the middle term of a ?: expression" msgstr "" -#: cp/call.c:2967 +#: cp/call.c:3130 #, c-format msgid "`%E' has type `void' and is not a throw-expression" msgstr "" -#: cp/call.c:3000 cp/call.c:3200 +#: cp/call.c:3163 cp/call.c:3363 msgid "operands to ?: have different types" msgstr "" -#: cp/call.c:3153 +#: cp/call.c:3316 msgid "enumeral mismatch in conditional expression: `%T' vs `%T'" msgstr "" -#: cp/call.c:3160 +#: cp/call.c:3323 msgid "enumeral and non-enumeral type in conditional expression" msgstr "" -#: cp/call.c:3241 +#: cp/call.c:3405 msgid "`%D' must be declared before use" msgstr "" -#: cp/call.c:3404 +#: cp/call.c:3604 msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead" msgstr "" -#: cp/call.c:3451 +#: cp/call.c:3651 msgid "using synthesized `%#D' for copy assignment" msgstr "" -#: cp/call.c:3453 +#: cp/call.c:3653 msgid " where cfront would use `%#D'" msgstr "" -#: cp/call.c:3480 +#: cp/call.c:3680 msgid "comparison between `%#T' and `%#T'" msgstr "" -#: cp/call.c:3719 +#: cp/call.c:3919 msgid "no suitable `operator delete' for `%T'" msgstr "" -#: cp/call.c:3738 +#: cp/call.c:3938 msgid "`%+#D' is private" msgstr "" -#: cp/call.c:3740 +#: cp/call.c:3940 msgid "`%+#D' is protected" msgstr "" -#: cp/call.c:3742 +#: cp/call.c:3942 msgid "`%+#D' is inaccessible" msgstr "" -#: cp/call.c:3743 +#: cp/call.c:3943 msgid "within this context" msgstr "" -#: cp/call.c:3785 +#: cp/call.c:3985 msgid "invalid conversion from `%T' to `%T'" msgstr "" -#: cp/call.c:3787 cp/call.c:3926 cp/call.c:3928 +#: cp/call.c:3987 cp/call.c:4126 cp/call.c:4128 msgid " initializing argument %P of `%D'" msgstr "" -#: cp/call.c:3850 cp/call.c:3854 +#: cp/call.c:4050 cp/call.c:4054 msgid " initializing argument %P of `%D' from result of `%D'" msgstr "" -#: cp/call.c:3860 cp/call.c:3863 +#: cp/call.c:4060 cp/call.c:4063 msgid " initializing temporary from result of `%D'" msgstr "" -#. Undefined behaviour [expr.call] 5.2.2/7. -#: cp/call.c:3997 -msgid "cannot pass objects of non-POD type `%#T' through `...'" +#. Undefined behavior [expr.call] 5.2.2/7. We used to just warn +#. here and do a bitwise copy, but now cp_expr_size will abort if we +#. try to do that. +#: cp/call.c:4215 +msgid "" +"cannot pass objects of non-POD type `%#T' through `...'; call will abort at " +"runtime" msgstr "" -#. Undefined behaviour [expr.call] 5.2.2/7. -#: cp/call.c:4022 +#. Undefined behavior [expr.call] 5.2.2/7. +#: cp/call.c:4242 msgid "cannot receive objects of non-POD type `%#T' through `...'" msgstr "" -#: cp/call.c:4167 +#: cp/call.c:4422 msgid "passing `%T' as `this' argument of `%#D' discards qualifiers" msgstr "" -#: cp/call.c:4417 +#: cp/call.c:4656 msgid "could not find class$ field in java interface type `%T'" msgstr "" -#: cp/call.c:4518 cp/typeck.c:2019 -msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'" +#: cp/call.c:4831 +msgid "call to non-function `%D'" msgstr "" -#: cp/call.c:4644 +#: cp/call.c:4937 msgid "no matching function for call to `%T::%D(%A)%#V'" msgstr "" -#: cp/call.c:4674 +#: cp/call.c:4967 msgid "cannot call member function `%D' without object" msgstr "" -#: cp/call.c:5287 +#: cp/call.c:5580 msgid "passing `%T' chooses `%T' over `%T'" msgstr "" -#: cp/call.c:5289 cp/decl2.c:4508 +#: cp/call.c:5582 cp/decl2.c:4081 msgid " in call to `%D'" msgstr "" -#: cp/call.c:5338 cp/call.c:5463 +#: cp/call.c:5631 cp/call.c:5756 msgid "choosing `%D' over `%D'" msgstr "" -#: cp/call.c:5339 +#: cp/call.c:5632 msgid " for conversion from `%T' to `%T'" msgstr "" -#: cp/call.c:5341 +#: cp/call.c:5634 msgid " because conversion sequence for the argument is better" msgstr "" -#: cp/call.c:5465 +#: cp/call.c:5758 msgid "" " because worst conversion for the former is better than worst conversion " "for the latter" msgstr "" -#: cp/call.c:5581 cp/call.c:5602 +#: cp/call.c:5874 cp/call.c:5895 msgid "could not convert `%E' to `%T'" msgstr "" -#: cp/class.c:287 +#: cp/class.c:286 msgid "" "cannot convert from base `%T' to derived type `%T' via virtual base `%T'" msgstr "" -#: cp/class.c:1049 +#: cp/class.c:943 msgid "`%#D' and `%#D' cannot be overloaded" msgstr "" -#. There has already been a declaration of this method -#. or member template. -#: cp/class.c:1060 -msgid "`%D' has already been declared in `%T'" -msgstr "" - -#: cp/class.c:1141 +#: cp/class.c:1027 msgid "duplicate enum value `%D'" msgstr "" -#: cp/class.c:1144 +#: cp/class.c:1030 msgid "duplicate field `%D' (as enum and non-enum)" msgstr "" -#: cp/class.c:1151 +#: cp/class.c:1037 msgid "duplicate nested type `%D'" msgstr "" -#: cp/class.c:1162 +#: cp/class.c:1048 msgid "duplicate field `%D' (as type and non-type)" msgstr "" -#: cp/class.c:1166 +#: cp/class.c:1052 msgid "duplicate member `%D'" msgstr "" -#: cp/class.c:1209 +#: cp/class.c:1095 msgid "conflicting access specifications for method `%D', ignored" msgstr "" -#: cp/class.c:1211 +#: cp/class.c:1097 #, c-format msgid "conflicting access specifications for field `%s', ignored" msgstr "" -#: cp/class.c:1254 +#: cp/class.c:1142 msgid "`%D' names constructor" msgstr "" -#: cp/class.c:1260 +#: cp/class.c:1147 msgid "`%D' invalid in `%T'" msgstr "" -#: cp/class.c:1268 +#: cp/class.c:1155 msgid "no members matching `%D' in `%#T'" msgstr "" -#: cp/class.c:1300 cp/class.c:1308 +#: cp/class.c:1187 cp/class.c:1195 msgid "`%D' invalid in `%#T'" msgstr "" -#: cp/class.c:1301 +#: cp/class.c:1188 msgid " because of local method `%#D' with same name" msgstr "" -#: cp/class.c:1309 +#: cp/class.c:1196 msgid " because of local member `%#D' with same name" msgstr "" -#: cp/class.c:1381 +#: cp/class.c:1268 msgid "base class `%#T' has a non-virtual destructor" msgstr "" -#: cp/class.c:1401 +#: cp/class.c:1288 msgid "" "base `%T' with only non-default constructor in class without a constructor" msgstr "" -#: cp/class.c:1988 +#: cp/class.c:1860 msgid "all member functions in class `%T' are private" msgstr "" -#: cp/class.c:2002 +#: cp/class.c:1874 msgid "`%#T' only defines a private destructor and has no friends" msgstr "" -#: cp/class.c:2045 +#: cp/class.c:1917 msgid "`%#T' only defines private constructors and has no friends" msgstr "" -#: cp/class.c:2166 cp/class.c:5093 +#: cp/class.c:2038 cp/class.c:5172 msgid "redefinition of `%#T'" msgstr "" -#: cp/class.c:2167 +#: cp/class.c:2039 msgid "previous definition of `%#T'" msgstr "" -#: cp/class.c:2497 +#: cp/class.c:2313 msgid "no unique final overrider for `%D' in `%T'" msgstr "" #. Here we know it is a hider, and no overrider exists. -#: cp/class.c:2879 +#: cp/class.c:2652 msgid "`%D' was hidden" msgstr "" -#: cp/class.c:2880 +#: cp/class.c:2653 msgid " by `%D'" msgstr "" -#: cp/class.c:2922 +#: cp/class.c:2695 msgid "ISO C++ forbids member `%D' with same name as enclosing class" msgstr "" -#: cp/class.c:2927 cp/decl2.c:1874 +#: cp/class.c:2700 cp/decl2.c:1327 msgid "`%#D' invalid; an anonymous union can only have non-static data members" msgstr "" -#: cp/class.c:2933 cp/decl2.c:1880 +#: cp/class.c:2706 cp/decl2.c:1333 msgid "private member `%#D' in anonymous union" msgstr "" -#: cp/class.c:2936 cp/decl2.c:1882 +#: cp/class.c:2709 cp/decl2.c:1335 msgid "protected member `%#D' in anonymous union" msgstr "" -#: cp/class.c:3088 +#: cp/class.c:2834 +msgid "" +"vtable layout for class `%T' may not be ABI-compliant and may change in a " +"future version of GCC due to implicit virtual destructor" +msgstr "" + +#: cp/class.c:2898 msgid "bit-field `%#D' with non-integral type" msgstr "" -#: cp/class.c:3108 +#: cp/class.c:2918 msgid "bit-field `%D' width not an integer constant" msgstr "" -#: cp/class.c:3114 +#: cp/class.c:2924 msgid "negative width in bit-field `%D'" msgstr "" -#: cp/class.c:3119 +#: cp/class.c:2929 msgid "zero width for bit-field `%D'" msgstr "" -#: cp/class.c:3125 +#: cp/class.c:2935 msgid "width of `%D' exceeds its type" msgstr "" -#: cp/class.c:3134 +#: cp/class.c:2944 msgid "`%D' is too small to hold all values of `%#T'" msgstr "" -#: cp/class.c:3218 +#: cp/class.c:3028 msgid "member `%#D' with constructor not allowed in union" msgstr "" -#: cp/class.c:3221 +#: cp/class.c:3031 msgid "member `%#D' with destructor not allowed in union" msgstr "" -#: cp/class.c:3224 +#: cp/class.c:3034 msgid "member `%#D' with copy assignment operator not allowed in union" msgstr "" -#: cp/class.c:3251 +#: cp/class.c:3061 msgid "multiple fields in union `%T' initialized" msgstr "" -#: cp/class.c:3370 +#: cp/class.c:3183 msgid "field `%D' in local class cannot be static" msgstr "" -#: cp/class.c:3376 +#: cp/class.c:3189 msgid "field `%D' invalidly declared function type" msgstr "" -#: cp/class.c:3383 +#: cp/class.c:3196 msgid "field `%D' invalidly declared method type" msgstr "" -#: cp/class.c:3389 +#: cp/class.c:3202 msgid "field `%D' invalidly declared offset type" msgstr "" #. Unions cannot have static members. -#: cp/class.c:3407 +#: cp/class.c:3220 msgid "field `%D' declared static in union" msgstr "" -#: cp/class.c:3433 +#: cp/class.c:3247 msgid "non-static reference `%#D' in class without a constructor" msgstr "" -#: cp/class.c:3464 +#: cp/class.c:3282 msgid "non-static const member `%#D' in class without a constructor" msgstr "" -#: cp/class.c:3479 +#: cp/class.c:3298 msgid "field `%#D' with same name as class" msgstr "" -#: cp/class.c:3497 +#: cp/class.c:3316 msgid "`%#T' has pointer data members" msgstr "" -#: cp/class.c:3501 +#: cp/class.c:3320 msgid " but does not override `%T(const %T&)'" msgstr "" -#: cp/class.c:3503 +#: cp/class.c:3322 msgid " or `operator=(const %T&)'" msgstr "" -#: cp/class.c:3506 +#: cp/class.c:3325 msgid " but does not override `operator=(const %T&)'" msgstr "" -#: cp/class.c:3972 +#: cp/class.c:3775 +msgid "" +"offset of empty base `%T' may not be ABI-compliant and maychange in a future " +"version of GCC" +msgstr "" + +#: cp/class.c:3883 +msgid "class `%T' will be considered nearly empty in a future version of GCC" +msgstr "" + +#: cp/class.c:3973 msgid "initializer specified for non-virtual method `%D'" msgstr "" -#: cp/class.c:4757 -msgid "virtual base `%T' inaccessible in `%T' due to ambiguity" +#: cp/class.c:4709 +msgid "" +"offset of virtual base `%T' is not ABI-compliant and may change in a future " +"version of GCC" msgstr "" -#: cp/class.c:4827 +#: cp/class.c:4809 msgid "direct base `%T' inaccessible in `%T' due to ambiguity" msgstr "" -#: cp/class.c:5254 +#: cp/class.c:4822 +msgid "virtual base `%T' inaccessible in `%T' due to ambiguity" +msgstr "" + +#: cp/class.c:4978 +msgid "" +"size assigned to `%T' may not be ABI-compliant and may change in a future " +"version of GCC" +msgstr "" + +#: cp/class.c:5011 +msgid "" +"offset of `%D' is not ABI-compliant and may change in a future version of GCC" +msgstr "" + +#: cp/class.c:5020 +msgid "" +"`%D' contains empty classes which may cause base classes to be placed at " +"different locations in a future version of GCC" +msgstr "" + +#: cp/class.c:5079 +msgid "" +"layout of classes derived from empty class `%T' may change in a future " +"version of GCC" +msgstr "" + +#: cp/class.c:5320 msgid "`%#T' has virtual functions but non-virtual destructor" msgstr "" -#: cp/class.c:5338 +#: cp/class.c:5405 msgid "trying to finish struct, but kicked out due to previous parse errors" msgstr "" -#: cp/class.c:5795 +#: cp/class.c:5861 #, c-format msgid "language string `\"%s\"' not recognized" msgstr "" -#: cp/class.c:5891 +#: cp/class.c:5957 msgid "" "cannot resolve overloaded function `%D' based on conversion to type `%T'" msgstr "" -#: cp/class.c:6012 +#: cp/class.c:6078 msgid "no matches converting function `%D' to type `%#T'" msgstr "" -#: cp/class.c:6035 +#: cp/class.c:6101 msgid "converting overloaded function `%D' to type `%#T' is ambiguous" msgstr "" -#: cp/class.c:6061 +#: cp/class.c:6127 msgid "assuming pointer to member `%D'" msgstr "" -#: cp/class.c:6064 +#: cp/class.c:6130 #, c-format msgid "(a pointer to member can only be formed with `&%E')" msgstr "" -#: cp/class.c:6108 cp/class.c:6276 cp/class.c:6283 +#: cp/class.c:6174 cp/class.c:6345 cp/class.c:6352 msgid "not enough type information" msgstr "" -#: cp/class.c:6117 +#: cp/class.c:6183 msgid "argument of type `%T' does not match `%T'" msgstr "" -#: cp/class.c:6260 +#: cp/class.c:6329 msgid "invalid operation on uninstantiated type" msgstr "" @@ -13636,11 +14032,11 @@ msgstr "" #. A name N used in a class S shall refer to the same declaration #. in its context and when re-evaluated in the completed scope of #. S. -#: cp/class.c:6512 cp/decl.c:1029 cp/decl.c:3169 cp/pt.c:1844 +#: cp/class.c:6612 cp/decl.c:1006 cp/decl.c:3102 cp/pt.c:1845 msgid "declaration of `%#D'" msgstr "" -#: cp/class.c:6513 +#: cp/class.c:6613 msgid "changes meaning of `%D' from `%+#D'" msgstr "" @@ -13656,206 +14052,210 @@ msgstr "" msgid "converting from `%T' to `%T'" msgstr "" -#: cp/cvt.c:198 cp/cvt.c:202 +#: cp/cvt.c:201 cp/cvt.c:205 msgid "pointer to member cast from `%T' to `%T' is via virtual base" msgstr "" -#: cp/cvt.c:220 cp/cvt.c:233 cp/cvt.c:272 +#: cp/cvt.c:223 cp/cvt.c:236 cp/cvt.c:283 msgid "cannot convert `%E' from type `%T' to type `%T'" msgstr "" -#: cp/cvt.c:525 +#: cp/cvt.c:262 +msgid "invalid conversion from '%T' to '%T'" +msgstr "" + +#: cp/cvt.c:537 msgid "conversion from `%T' to `%T' discards qualifiers" msgstr "" -#: cp/cvt.c:543 +#: cp/cvt.c:555 msgid "casting `%T' to `%T' does not dereference pointer" msgstr "" -#: cp/cvt.c:572 +#: cp/cvt.c:584 msgid "cannot convert type `%T' to type `%T'" msgstr "" -#: cp/cvt.c:689 +#: cp/cvt.c:701 msgid "conversion from `%#T' to `%#T'" msgstr "" -#: cp/cvt.c:701 +#: cp/cvt.c:713 msgid "`%#T' used where a `%T' was expected" msgstr "" -#: cp/cvt.c:718 +#: cp/cvt.c:730 msgid "the address of `%D', will always be `true'" msgstr "" -#: cp/cvt.c:738 +#: cp/cvt.c:750 msgid "`%#T' used where a floating point value was expected" msgstr "" -#: cp/cvt.c:793 +#: cp/cvt.c:797 msgid "conversion from `%T' to non-scalar type `%T' requested" msgstr "" -#: cp/cvt.c:879 +#: cp/cvt.c:883 msgid "object of incomplete type `%T' will not be accessed in %s" msgstr "" -#: cp/cvt.c:882 +#: cp/cvt.c:886 msgid "object of type `%T' will not be accessed in %s" msgstr "" -#: cp/cvt.c:898 +#: cp/cvt.c:902 msgid "object `%E' of incomplete type `%T' will not be accessed in %s" msgstr "" #. [over.over] enumerates the places where we can take the address #. of an overloaded function, and this is not one of them. -#: cp/cvt.c:918 +#: cp/cvt.c:922 #, c-format msgid "%s cannot resolve address of overloaded function" msgstr "" #. Only warn when there is no &. -#: cp/cvt.c:923 +#: cp/cvt.c:927 #, c-format msgid "%s is a reference, not call, to function `%E'" msgstr "" -#: cp/cvt.c:1061 +#: cp/cvt.c:1065 msgid "converting NULL to non-pointer type" msgstr "" -#: cp/cvt.c:1137 +#: cp/cvt.c:1141 msgid "ambiguous default type conversion from `%T'" msgstr "" -#: cp/cvt.c:1139 +#: cp/cvt.c:1143 msgid " candidate conversions include `%D' and `%D'" msgstr "" -#: cp/decl.c:1030 cp/decl.c:3272 +#: cp/decl.c:1007 cp/decl.c:3205 msgid "conflicts with previous declaration `%#D'" msgstr "" -#: cp/decl.c:1219 +#: cp/decl.c:1211 msgid "label `%D' used but not defined" msgstr "" -#: cp/decl.c:1224 +#: cp/decl.c:1216 msgid "label `%D' defined but not used" msgstr "" -#: cp/decl.c:2291 +#: cp/decl.c:2249 msgid "namespace alias `%D' not allowed here, assuming `%D'" msgstr "" -#: cp/decl.c:3075 cp/decl.c:3480 +#: cp/decl.c:3008 cp/decl.c:3413 msgid "previous declaration of `%D'" msgstr "" -#: cp/decl.c:3156 cp/decl.c:3194 +#: cp/decl.c:3089 cp/decl.c:3127 msgid "shadowing %s function `%#D'" msgstr "" -#: cp/decl.c:3165 +#: cp/decl.c:3098 msgid "library function `%#D' redeclared as non-function `%#D'" msgstr "" -#: cp/decl.c:3170 +#: cp/decl.c:3103 msgid "conflicts with built-in declaration `%#D'" msgstr "" -#: cp/decl.c:3189 cp/decl.c:3282 cp/decl.c:3298 +#: cp/decl.c:3122 cp/decl.c:3219 cp/decl.c:3235 msgid "new declaration `%#D'" msgstr "" -#: cp/decl.c:3190 +#: cp/decl.c:3123 msgid "ambiguates built-in declaration `%#D'" msgstr "" -#: cp/decl.c:3246 +#: cp/decl.c:3179 msgid "`%#D' redeclared as different kind of symbol" msgstr "" -#: cp/decl.c:3249 +#: cp/decl.c:3182 msgid "previous declaration of `%#D'" msgstr "" -#: cp/decl.c:3271 +#: cp/decl.c:3204 msgid "declaration of template `%#D'" msgstr "" -#: cp/decl.c:3283 cp/decl.c:3299 +#: cp/decl.c:3220 cp/decl.c:3236 msgid "ambiguates old declaration `%#D'" msgstr "" -#: cp/decl.c:3291 +#: cp/decl.c:3228 msgid "declaration of C function `%#D' conflicts with" msgstr "" -#: cp/decl.c:3293 +#: cp/decl.c:3230 msgid "previous declaration `%#D' here" msgstr "" -#: cp/decl.c:3309 +#: cp/decl.c:3246 msgid "conflicting types for `%#D'" msgstr "" -#: cp/decl.c:3310 +#: cp/decl.c:3247 msgid "previous declaration as `%#D'" msgstr "" -#: cp/decl.c:3353 +#: cp/decl.c:3290 msgid "`%#D' previously defined here" msgstr "" -#: cp/decl.c:3354 +#: cp/decl.c:3291 msgid "`%#D' previously declared here" msgstr "" #. Prototype decl follows defn w/o prototype. -#: cp/decl.c:3363 +#: cp/decl.c:3300 msgid "prototype for `%#D'" msgstr "" -#: cp/decl.c:3364 +#: cp/decl.c:3301 msgid "follows non-prototype definition here" msgstr "" -#: cp/decl.c:3376 +#: cp/decl.c:3313 msgid "previous declaration of `%#D' with %L linkage" msgstr "" -#: cp/decl.c:3378 +#: cp/decl.c:3315 msgid "conflicts with new declaration with %L linkage" msgstr "" -#: cp/decl.c:3401 cp/decl.c:3408 +#: cp/decl.c:3338 cp/decl.c:3345 msgid "default argument given for parameter %d of `%#D'" msgstr "" -#: cp/decl.c:3403 cp/decl.c:3410 +#: cp/decl.c:3340 cp/decl.c:3347 msgid "after previous specification in `%#D'" msgstr "" -#: cp/decl.c:3419 +#: cp/decl.c:3356 msgid "`%#D' was used before it was declared inline" msgstr "" -#: cp/decl.c:3421 +#: cp/decl.c:3358 msgid "previous non-inline declaration here" msgstr "" -#: cp/decl.c:3479 +#: cp/decl.c:3412 msgid "redundant redeclaration of `%D' in same scope" msgstr "" -#: cp/decl.c:3563 +#: cp/decl.c:3493 #, c-format msgid "declaration of `%F' throws different exceptions" msgstr "" -#: cp/decl.c:3565 +#: cp/decl.c:3495 #, c-format msgid "than previous declaration `%F'" msgstr "" @@ -13868,15 +14268,15 @@ msgstr "" #. that specialization that would cause an implicit #. instantiation to take place, in every translation unit in #. which such a use occurs. -#: cp/decl.c:3698 +#: cp/decl.c:3632 msgid "explicit specialization of %D after first use" msgstr "" -#: cp/decl.c:3943 +#: cp/decl.c:3886 msgid "`%#D' used prior to declaration" msgstr "" -#: cp/decl.c:3974 +#: cp/decl.c:3917 msgid "redeclaration of `wchar_t' as `%T'" msgstr "" @@ -13886,856 +14286,900 @@ msgstr "" #. [basic.start.main] #. #. This function shall not be overloaded. -#: cp/decl.c:4002 +#: cp/decl.c:3945 msgid "invalid redeclaration of `%D'" msgstr "" -#: cp/decl.c:4003 +#: cp/decl.c:3946 msgid "as `%D'" msgstr "" -#: cp/decl.c:4093 +#: cp/decl.c:4036 msgid "previous external decl of `%#D'" msgstr "" -#: cp/decl.c:4134 +#: cp/decl.c:4077 msgid "`%D' was previously implicitly declared to return `int'" msgstr "" -#: cp/decl.c:4194 +#: cp/decl.c:4137 msgid "extern declaration of `%#D' doesn't match" msgstr "" -#: cp/decl.c:4195 +#: cp/decl.c:4138 msgid "global declaration `%#D'" msgstr "" -#: cp/decl.c:4226 +#: cp/decl.c:4169 msgid "declaration of `%#D' shadows a parameter" msgstr "" -#: cp/decl.c:4246 +#: cp/decl.c:4189 #, c-format msgid "declaration of `%s' shadows a member of `this'" msgstr "" -#: cp/decl.c:4597 +#: cp/decl.c:4541 msgid "`%#D' hides constructor for `%#T'" msgstr "" -#: cp/decl.c:4612 +#: cp/decl.c:4556 msgid "`%#D' conflicts with previous using declaration `%#D'" msgstr "" -#: cp/decl.c:4624 +#: cp/decl.c:4568 msgid "previous non-function declaration `%#D'" msgstr "" -#: cp/decl.c:4625 +#: cp/decl.c:4569 msgid "conflicts with function declaration `%#D'" msgstr "" -#: cp/decl.c:4715 +#: cp/decl.c:4659 msgid "implicit declaration of function `%#D'" msgstr "" -#: cp/decl.c:4873 +#: cp/decl.c:4817 #, c-format msgid "label `%s' referenced outside of any function" msgstr "" -#: cp/decl.c:4976 cp/decl.c:5000 cp/decl.c:5093 +#: cp/decl.c:4920 cp/decl.c:4944 cp/decl.c:5037 msgid "jump to label `%D'" msgstr "" -#: cp/decl.c:4978 cp/decl.c:5002 +#: cp/decl.c:4922 cp/decl.c:4946 msgid "jump to case label" msgstr "" -#: cp/decl.c:4986 +#: cp/decl.c:4930 msgid " crosses initialization of `%#D'" msgstr "" -#: cp/decl.c:4989 cp/decl.c:5109 +#: cp/decl.c:4933 cp/decl.c:5053 msgid " enters scope of non-POD `%#D'" msgstr "" -#: cp/decl.c:5009 cp/decl.c:5113 +#: cp/decl.c:4953 cp/decl.c:5057 msgid " enters try block" msgstr "" #. Can't skip init of __exception_info. -#: cp/decl.c:5011 cp/decl.c:5105 cp/decl.c:5115 +#: cp/decl.c:4955 cp/decl.c:5049 cp/decl.c:5059 msgid " enters catch block" msgstr "" -#: cp/decl.c:5094 +#: cp/decl.c:5038 msgid " from here" msgstr "" -#: cp/decl.c:5107 +#: cp/decl.c:5051 msgid " skips initialization of `%#D'" msgstr "" -#: cp/decl.c:5142 +#: cp/decl.c:5086 msgid "label named wchar_t" msgstr "" -#: cp/decl.c:5146 +#: cp/decl.c:5090 msgid "duplicate label `%D'" msgstr "" -#: cp/decl.c:5231 +#: cp/decl.c:5175 #, c-format msgid "case label `%E' not within a switch statement" msgstr "" #. Definition isn't the kind we were looking for. -#: cp/decl.c:5408 cp/decl.c:5427 +#: cp/decl.c:5354 cp/decl.c:5373 msgid "`%#D' redeclared as %C" msgstr "" #. This happens for A::B where B is a template, and there are no #. template arguments. -#: cp/decl.c:5515 cp/typeck.c:1981 +#: cp/decl.c:5461 cp/typeck.c:2062 cp/typeck.c:2217 msgid "invalid use of `%D'" msgstr "" -#: cp/decl.c:5556 +#: cp/decl.c:5502 msgid "`%D::%D' is not a template" msgstr "" -#: cp/decl.c:5573 +#: cp/decl.c:5519 msgid "`%D' undeclared in namespace `%D'" msgstr "" -#: cp/decl.c:5710 +#: cp/decl.c:5652 msgid "`%D' used without template parameters" msgstr "" -#: cp/decl.c:5721 cp/decl.c:5737 cp/decl.c:5825 +#: cp/decl.c:5663 cp/decl.c:5679 cp/decl.c:5783 msgid "no class template named `%#T' in `%#T'" msgstr "" -#: cp/decl.c:5755 cp/decl.c:5785 +#: cp/decl.c:5702 cp/decl.c:5712 cp/decl.c:5744 msgid "no type named `%#T' in `%#T'" msgstr "" -#: cp/decl.c:6008 +#: cp/decl.c:5968 msgid "lookup of `%D' finds `%#D'" msgstr "" -#: cp/decl.c:6010 +#: cp/decl.c:5970 msgid " instead of `%D' from dependent base class" msgstr "" -#: cp/decl.c:6012 +#: cp/decl.c:5972 msgid " (use `typename %T::%D' if that's what you meant)" msgstr "" -#: cp/decl.c:6185 +#: cp/decl.c:6003 +msgid "name lookup of `%D' changed" +msgstr "" + +#: cp/decl.c:6005 +msgid " matches this `%D' under ISO standard rules" +msgstr "" + +#: cp/decl.c:6007 +msgid " matches this `%D' under old rules" +msgstr "" + +#: cp/decl.c:6021 cp/decl.c:6028 +msgid "name lookup of `%D' changed for new ISO `for' scoping" +msgstr "" + +#: cp/decl.c:6023 +msgid " cannot use obsolete binding at `%D' because it has a destructor" +msgstr "" + +#: cp/decl.c:6030 +msgid " using obsolete binding at `%D'" +msgstr "" + +#: cp/decl.c:6211 msgid "" "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the " "current scope (`%#D')" msgstr "" -#: cp/decl.c:7024 +#: cp/decl.c:7025 msgid "an anonymous union cannot have function members" msgstr "" -#: cp/decl.c:7041 +#: cp/decl.c:7042 msgid "member %#D' with constructor not allowed in anonymous aggregate" msgstr "" -#: cp/decl.c:7044 +#: cp/decl.c:7045 msgid "member %#D' with destructor not allowed in anonymous aggregate" msgstr "" -#: cp/decl.c:7047 +#: cp/decl.c:7048 msgid "" "member %#D' with copy assignment operator not allowed in anonymous aggregate" msgstr "" -#: cp/decl.c:7085 +#: cp/decl.c:7086 msgid "redeclaration of C++ built-in type `%T'" msgstr "" -#: cp/decl.c:7120 +#: cp/decl.c:7122 msgid "multiple types in one declaration" msgstr "" -#: cp/decl.c:7123 -msgid "declaration does not declare anything" -msgstr "" - -#: cp/decl.c:7147 +#: cp/decl.c:7149 msgid "missing type-name in typedef-declaration" msgstr "" -#: cp/decl.c:7154 +#: cp/decl.c:7156 msgid "ISO C++ prohibits anonymous structs" msgstr "" -#: cp/decl.c:7161 +#: cp/decl.c:7163 msgid "`%D' can only be specified for functions" msgstr "" -#: cp/decl.c:7163 +#: cp/decl.c:7165 msgid "`%D' can only be specified inside a class" msgstr "" -#: cp/decl.c:7165 +#: cp/decl.c:7167 msgid "`%D' can only be specified for constructors" msgstr "" -#: cp/decl.c:7168 +#: cp/decl.c:7170 msgid "`%D' can only be specified for objects and functions" msgstr "" -#: cp/decl.c:7317 -msgid "typedef `%D' is initialized" +#: cp/decl.c:7312 cp/decl2.c:927 +msgid "typedef `%D' is initialized (use __typeof__ instead)" msgstr "" -#: cp/decl.c:7323 +#: cp/decl.c:7317 msgid "function `%#D' is initialized like a variable" msgstr "" -#: cp/decl.c:7335 +#: cp/decl.c:7329 msgid "declaration of `%#D' has `extern' and is initialized" msgstr "" -#: cp/decl.c:7369 +#: cp/decl.c:7363 msgid "`%#D' is not a static member of `%#T'" msgstr "" -#: cp/decl.c:7374 +#: cp/decl.c:7368 msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'" msgstr "" -#: cp/decl.c:7385 +#: cp/decl.c:7379 msgid "duplicate initialization of %D" msgstr "" -#: cp/decl.c:7414 +#: cp/decl.c:7408 msgid "declaration of `%#D' outside of class is not definition" msgstr "" -#: cp/decl.c:7462 +#: cp/decl.c:7456 msgid "variable `%#D' has initializer but incomplete type" msgstr "" -#: cp/decl.c:7470 cp/decl.c:7821 +#: cp/decl.c:7464 cp/decl.c:8006 msgid "elements of array `%#D' have incomplete type" msgstr "" -#: cp/decl.c:7486 +#: cp/decl.c:7480 msgid "aggregate `%#D' has incomplete type and cannot be defined" msgstr "" -#: cp/decl.c:7525 +#: cp/decl.c:7519 msgid "`%D' declared as reference but not initialized" msgstr "" -#: cp/decl.c:7534 +#: cp/decl.c:7528 msgid "ISO C++ forbids use of initializer list to initialize reference `%D'" msgstr "" -#: cp/decl.c:7567 +#: cp/decl.c:7561 msgid "cannot initialize `%T' from `%T'" msgstr "" -#: cp/decl.c:7628 +#: cp/decl.c:7595 msgid "initializer fails to determine size of `%D'" msgstr "" -#: cp/decl.c:7633 +#: cp/decl.c:7600 msgid "array size missing in `%D'" msgstr "" -#: cp/decl.c:7645 +#: cp/decl.c:7612 msgid "zero-size array `%D'" msgstr "" #. An automatic variable with an incomplete type: that is an error. #. Don't talk about array types here, since we took care of that #. message in grokdeclarator. -#: cp/decl.c:7678 +#: cp/decl.c:7650 msgid "storage size of `%D' isn't known" msgstr "" -#: cp/decl.c:7700 +#: cp/decl.c:7672 msgid "storage size of `%D' isn't constant" msgstr "" -#: cp/decl.c:7751 +#: cp/decl.c:7723 msgid "" "sorry: semantics of inline function static data `%#D' are wrong (you'll wind " "up with multiple copies)" msgstr "" -#: cp/decl.c:7752 +#: cp/decl.c:7724 msgid " you can work around this by removing the initializer" msgstr "" -#: cp/decl.c:7780 +#: cp/decl.c:7752 msgid "uninitialized const `%D'" msgstr "" -#: cp/decl.c:7815 +#: cp/decl.c:7836 +msgid "brace-enclosed initializer used to initialize `%T'" +msgstr "" + +#: cp/decl.c:7900 +msgid "initializer for `%T' must be brace-enclosed" +msgstr "" + +#: cp/decl.c:7964 +msgid "too many initializers for `%T'" +msgstr "" + +#: cp/decl.c:8000 msgid "variable-sized object `%D' may not be initialized" msgstr "" -#: cp/decl.c:7826 cp/typeck2.c:201 +#: cp/decl.c:8011 msgid "`%D' has incomplete type" msgstr "" -#: cp/decl.c:7858 +#: cp/decl.c:8060 msgid "`%D' must be initialized by constructor, not by `{...}'" msgstr "" -#: cp/decl.c:7888 +#: cp/decl.c:8101 msgid "structure `%D' with uninitialized const members" msgstr "" -#: cp/decl.c:7890 +#: cp/decl.c:8103 msgid "structure `%D' with uninitialized reference members" msgstr "" -#: cp/decl.c:8157 +#: cp/decl.c:8346 msgid "assignment (not initialization) in declaration" msgstr "" -#: cp/decl.c:8169 +#: cp/decl.c:8358 msgid "cannot initialize `%D' to namespace `%D'" msgstr "" -#: cp/decl.c:8226 +#: cp/decl.c:8409 msgid "shadowing previous type declaration of `%#D'" msgstr "" -#: cp/decl.c:8624 +#: cp/decl.c:8455 +msgid "`%D' cannot be thread-local because it has non-POD type `%T'" +msgstr "" + +#: cp/decl.c:8470 +msgid "`%D' is thread-local and so cannot be dynamically initialized" +msgstr "" + +#: cp/decl.c:8864 cp/init.c:547 msgid "multiple initializations given for `%D'" msgstr "" -#: cp/decl.c:8724 +#: cp/decl.c:8956 msgid "invalid catch parameter" msgstr "" -#: cp/decl.c:8842 +#: cp/decl.c:9074 msgid "destructor for alien class `%T' cannot be a member" msgstr "" -#: cp/decl.c:8845 +#: cp/decl.c:9077 msgid "constructor for alien class `%T' cannot be a member" msgstr "" -#: cp/decl.c:8864 +#: cp/decl.c:9096 msgid "`%D' declared as a `virtual' %s" msgstr "" -#: cp/decl.c:8866 +#: cp/decl.c:9098 msgid "`%D' declared as an `inline' %s" msgstr "" -#: cp/decl.c:8868 +#: cp/decl.c:9100 msgid "" "`const' and `volatile' function specifiers on `%D' invalid in %s declaration" msgstr "" -#: cp/decl.c:8871 +#: cp/decl.c:9103 msgid "`%D' declared as a friend" msgstr "" -#: cp/decl.c:8877 +#: cp/decl.c:9109 msgid "`%D' declared with an exception specification" msgstr "" -#: cp/decl.c:8952 +#: cp/decl.c:9184 msgid "cannot declare `::main' to be a template" msgstr "" -#: cp/decl.c:8954 +#: cp/decl.c:9186 msgid "cannot declare `::main' to be inline" msgstr "" -#: cp/decl.c:8956 +#: cp/decl.c:9188 msgid "cannot declare `::main' to be static" msgstr "" -#: cp/decl.c:8959 +#: cp/decl.c:9191 msgid "`main' must return `int'" msgstr "" -#: cp/decl.c:8987 +#: cp/decl.c:9219 msgid "non-local function `%#D' uses anonymous type" msgstr "" -#: cp/decl.c:8990 +#: cp/decl.c:9222 msgid "" "`%#D' does not refer to the unqualified type, so it is not used for linkage" msgstr "" -#: cp/decl.c:8996 +#: cp/decl.c:9228 msgid "non-local function `%#D' uses local type `%T'" msgstr "" -#: cp/decl.c:9019 +#: cp/decl.c:9251 msgid "%smember function `%D' cannot have `%T' method qualifier" msgstr "" -#: cp/decl.c:9043 +#: cp/decl.c:9275 msgid "defining explicit specialization `%D' in friend declaration" msgstr "" #. Something like `template <class T> friend void f<T>()'. -#: cp/decl.c:9053 +#: cp/decl.c:9285 msgid "invalid use of template-id `%D' in declaration of primary template" msgstr "" -#: cp/decl.c:9081 +#: cp/decl.c:9313 msgid "" "default arguments are not allowed in declaration of friend template " "specialization `%D'" msgstr "" -#: cp/decl.c:9088 +#: cp/decl.c:9320 msgid "" "`inline' is not allowed in declaration of friend template specialization `%D'" msgstr "" -#: cp/decl.c:9150 +#: cp/decl.c:9382 msgid "definition of implicitly-declared `%D'" msgstr "" -#: cp/decl.c:9162 cp/decl2.c:1358 +#: cp/decl.c:9394 cp/decl2.c:776 msgid "no `%#D' member function declared in class `%T'" msgstr "" -#: cp/decl.c:9281 +#: cp/decl.c:9527 msgid "non-local variable `%#D' uses local type `%T'" msgstr "" -#: cp/decl.c:9371 +#: cp/decl.c:9625 msgid "" "invalid in-class initialization of static data member of non-integral type `%" "T'" msgstr "" -#: cp/decl.c:9380 +#: cp/decl.c:9634 msgid "ISO C++ forbids in-class initialization of non-const static member `%D'" msgstr "" -#: cp/decl.c:9383 +#: cp/decl.c:9637 msgid "" "ISO C++ forbids initialization of member constant `%D' of non-integral type `" "%T'" msgstr "" -#: cp/decl.c:9433 +#: cp/decl.c:9687 msgid "size of array `%D' has non-integer type" msgstr "" -#: cp/decl.c:9435 +#: cp/decl.c:9689 msgid "size of array has non-integer type" msgstr "" -#: cp/decl.c:9455 +#: cp/decl.c:9709 msgid "size of array `%D' is negative" msgstr "" -#: cp/decl.c:9457 +#: cp/decl.c:9711 msgid "size of array is negative" msgstr "" -#: cp/decl.c:9466 +#: cp/decl.c:9720 msgid "ISO C++ forbids zero-size array `%D'" msgstr "" -#: cp/decl.c:9468 +#: cp/decl.c:9722 msgid "ISO C++ forbids zero-size array" msgstr "" -#: cp/decl.c:9475 +#: cp/decl.c:9729 msgid "size of array `%D' is not an integral constant-expression" msgstr "" -#: cp/decl.c:9478 +#: cp/decl.c:9732 msgid "size of array is not an integral constant-expression" msgstr "" -#: cp/decl.c:9496 +#: cp/decl.c:9750 msgid "ISO C++ forbids variable-size array `%D'" msgstr "" -#: cp/decl.c:9499 +#: cp/decl.c:9753 msgid "ISO C++ forbids variable-size array" msgstr "" -#: cp/decl.c:9510 +#: cp/decl.c:9764 msgid "overflow in array dimension" msgstr "" -#: cp/decl.c:9569 +#: cp/decl.c:9823 msgid "declaration of `%D' as %s" msgstr "" -#: cp/decl.c:9571 +#: cp/decl.c:9825 #, c-format msgid "creating %s" msgstr "" -#: cp/decl.c:9583 +#: cp/decl.c:9837 msgid "" "declaration of `%D' as multidimensional array must have bounds for all " "dimensions except the first" msgstr "" -#: cp/decl.c:9586 +#: cp/decl.c:9840 msgid "" "multidimensional array must have bounds for all dimensions except the first" msgstr "" -#: cp/decl.c:9615 +#: cp/decl.c:9869 msgid "return type specification for constructor invalid" msgstr "" -#: cp/decl.c:9622 +#: cp/decl.c:9876 msgid "return type specification for destructor invalid" msgstr "" -#: cp/decl.c:9628 +#: cp/decl.c:9882 msgid "operator `%T' declared to return `%T'" msgstr "" -#: cp/decl.c:9630 +#: cp/decl.c:9884 msgid "return type specified for `operator %T'" msgstr "" -#: cp/decl.c:9798 +#: cp/decl.c:10052 msgid "destructors must be member functions" msgstr "" -#: cp/decl.c:9817 +#: cp/decl.c:10071 msgid "destructor `%T' must match class name `%T'" msgstr "" -#: cp/decl.c:9867 +#: cp/decl.c:10100 +msgid "variable declaration is not allowed here" +msgstr "" + +#: cp/decl.c:10127 msgid "invalid declarator" msgstr "" -#: cp/decl.c:9920 +#: cp/decl.c:10178 msgid "declarator-id missing; using reserved word `%D'" msgstr "" -#: cp/decl.c:9977 +#: cp/decl.c:10235 msgid "type `%T' is not derived from type `%T'" msgstr "" #. Parse error puts this typespec where #. a declarator should go. -#: cp/decl.c:10023 +#: cp/decl.c:10279 msgid "`%T' specified as declarator-id" msgstr "" -#: cp/decl.c:10025 +#: cp/decl.c:10281 msgid " perhaps you want `%T' for a constructor" msgstr "" -#: cp/decl.c:10039 -msgid "`%D' as declarator" +#. Sometimes, we see a template-name used as part of a +#. decl-specifier like in +#. std::allocator alloc; +#. Handle that gracefully. +#: cp/decl.c:10303 +#, c-format +msgid "invalid use of template-name '%E' in a declarator" msgstr "" -#: cp/decl.c:10054 +#: cp/decl.c:10323 msgid "declaration of `%D' as non-function" msgstr "" -#: cp/decl.c:10131 +#: cp/decl.c:10400 msgid "`bool' is now a keyword" msgstr "" -#: cp/decl.c:10133 +#: cp/decl.c:10402 msgid "extraneous `%T' ignored" msgstr "" -#: cp/decl.c:10149 cp/decl.c:10182 +#: cp/decl.c:10418 cp/decl.c:10463 msgid "multiple declarations `%T' and `%T'" msgstr "" -#: cp/decl.c:10162 +#: cp/decl.c:10431 msgid "ISO C++ does not support `long long'" msgstr "" -#: cp/decl.c:10255 cp/decl.c:10258 +#: cp/decl.c:10536 cp/decl.c:10539 #, c-format msgid "ISO C++ forbids declaration of `%s' with no type" msgstr "" #. The implicit typename extension is deprecated and will be #. removed. Warn about its use now. -#: cp/decl.c:10268 +#: cp/decl.c:10549 msgid "`%T' is implicitly a typename" msgstr "" -#: cp/decl.c:10304 +#: cp/decl.c:10585 #, c-format msgid "short, signed or unsigned invalid for `%s'" msgstr "" -#: cp/decl.c:10309 +#: cp/decl.c:10590 #, c-format msgid "long and short specified together for `%s'" msgstr "" -#: cp/decl.c:10320 +#: cp/decl.c:10601 #, c-format msgid "signed and unsigned given together for `%s'" msgstr "" -#: cp/decl.c:10429 +#: cp/decl.c:10710 msgid "qualifiers are not allowed on declaration of `operator %T'" msgstr "" -#: cp/decl.c:10451 +#: cp/decl.c:10732 msgid "member `%D' cannot be declared both virtual and static" msgstr "" -#: cp/decl.c:10460 +#: cp/decl.c:10741 msgid "`%T::%D' is not a valid declarator" msgstr "" -#: cp/decl.c:10471 +#: cp/decl.c:10753 msgid "storage class specifiers invalid in parameter declarations" msgstr "" -#: cp/decl.c:10475 +#: cp/decl.c:10757 msgid "typedef declaration invalid in parameter declaration" msgstr "" -#: cp/decl.c:10488 +#: cp/decl.c:10770 msgid "virtual outside class declaration" msgstr "" -#: cp/decl.c:10542 +#: cp/decl.c:10831 #, c-format msgid "storage class specified for %s `%s'" msgstr "" -#: cp/decl.c:10580 +#: cp/decl.c:10878 msgid "storage class specifiers invalid in friend function declarations" msgstr "" -#: cp/decl.c:10684 -msgid "size of member `%D' is not constant" -msgstr "" - -#: cp/decl.c:10763 +#: cp/decl.c:11048 msgid "destructor cannot be static member function" msgstr "" -#: cp/decl.c:10766 +#: cp/decl.c:11051 #, c-format msgid "destructors may not be `%s'" msgstr "" -#: cp/decl.c:10787 +#: cp/decl.c:11072 msgid "constructor cannot be static member function" msgstr "" -#: cp/decl.c:10790 +#: cp/decl.c:11075 msgid "constructors cannot be declared virtual" msgstr "" -#: cp/decl.c:10795 +#: cp/decl.c:11080 #, c-format msgid "constructors may not be `%s'" msgstr "" -#: cp/decl.c:10805 +#: cp/decl.c:11090 msgid "return value type specifier for constructor ignored" msgstr "" -#: cp/decl.c:10824 +#: cp/decl.c:11109 #, c-format msgid "can't initialize friend function `%s'" msgstr "" #. Cannot be both friend and virtual. -#: cp/decl.c:10828 +#: cp/decl.c:11113 msgid "virtual functions cannot be friends" msgstr "" -#: cp/decl.c:10833 +#: cp/decl.c:11118 msgid "friend declaration not in class definition" msgstr "" -#: cp/decl.c:10835 +#: cp/decl.c:11120 #, c-format msgid "can't define friend function `%s' in a local class definition" msgstr "" -#: cp/decl.c:10859 +#: cp/decl.c:11144 msgid "destructors may not have parameters" msgstr "" -#: cp/decl.c:10889 -#, c-format -msgid "cannot declare %s to references" +#: cp/decl.c:11175 cp/decl.c:11182 +msgid "cannot declare reference to `%#T'" msgstr "" -#: cp/decl.c:10900 -msgid "cannot declare pointer to `%#T' member" +#: cp/decl.c:11176 +msgid "cannot declare pointer to `%#T'" msgstr "" -#: cp/decl.c:10915 -msgid "invalid type: `void &'" +#: cp/decl.c:11181 +msgid "cannot declare pointer to `%#T' member" msgstr "" -#: cp/decl.c:11077 +#: cp/decl.c:11357 msgid "extra qualification `%T::' on member `%s' ignored" msgstr "" -#: cp/decl.c:11087 +#: cp/decl.c:11367 msgid "cannot declare member function `%T::%s' within `%T'" msgstr "" -#: cp/decl.c:11102 +#: cp/decl.c:11382 msgid "cannot declare member `%T::%s' within `%T'" msgstr "" +#: cp/decl.c:11460 +msgid "data member may not have variably modified type `%T'" +msgstr "" + #. [dcl.fct.spec] The explicit specifier shall only be used in #. declarations of constructors within a class definition. -#: cp/decl.c:11182 +#: cp/decl.c:11468 msgid "only declarations of constructors can be `explicit'" msgstr "" -#: cp/decl.c:11190 +#: cp/decl.c:11476 #, c-format msgid "non-member `%s' cannot be declared `mutable'" msgstr "" -#: cp/decl.c:11195 +#: cp/decl.c:11481 #, c-format msgid "non-object member `%s' cannot be declared `mutable'" msgstr "" -#: cp/decl.c:11201 +#: cp/decl.c:11487 #, c-format msgid "function `%s' cannot be declared `mutable'" msgstr "" -#: cp/decl.c:11206 +#: cp/decl.c:11492 #, c-format msgid "static `%s' cannot be declared `mutable'" msgstr "" -#: cp/decl.c:11211 +#: cp/decl.c:11497 #, c-format msgid "const `%s' cannot be declared `mutable'" msgstr "" -#: cp/decl.c:11224 +#: cp/decl.c:11510 msgid "template-id `%D' used as a declarator" msgstr "" -#: cp/decl.c:11245 +#: cp/decl.c:11531 msgid "ISO C++ forbids nested type `%D' with same name as enclosing class" msgstr "" -#: cp/decl.c:11292 +#: cp/decl.c:11580 msgid "typedef name may not be class-qualified" msgstr "" -#: cp/decl.c:11300 +#: cp/decl.c:11588 msgid "invalid type qualifier for non-member function type" msgstr "" -#: cp/decl.c:11316 -msgid "typedef declaration includes an initializer" -msgstr "" - -#: cp/decl.c:11366 +#: cp/decl.c:11651 msgid "type qualifiers specified for friend class declaration" msgstr "" -#: cp/decl.c:11371 +#: cp/decl.c:11656 msgid "`inline' specified for friend class declaration" msgstr "" -#: cp/decl.c:11381 +#: cp/decl.c:11664 msgid "template parameters cannot be friends" msgstr "" -#: cp/decl.c:11383 -msgid "friend declaration requires class-key, i.e. `friend class %T::%T'" +#: cp/decl.c:11666 +msgid "friend declaration requires class-key, i.e. `friend class %T::%D'" msgstr "" -#: cp/decl.c:11388 +#: cp/decl.c:11670 msgid "friend declaration requires class-key, i.e. `friend %#T'" msgstr "" -#: cp/decl.c:11402 +#: cp/decl.c:11684 msgid "trying to make class `%T' a friend of global scope" msgstr "" -#: cp/decl.c:11413 +#: cp/decl.c:11695 msgid "invalid qualifiers on non-member function type" msgstr "" -#: cp/decl.c:11432 +#: cp/decl.c:11714 msgid "abstract declarator `%T' used as declaration" msgstr "" -#: cp/decl.c:11444 +#: cp/decl.c:11726 msgid "unnamed variable or field declared void" msgstr "" -#: cp/decl.c:11453 +#: cp/decl.c:11735 msgid "variable or field declared void" msgstr "" -#: cp/decl.c:11463 +#: cp/decl.c:11745 msgid "cannot use `::' in parameter declaration" msgstr "" #. Something like struct S { int N::j; }; -#: cp/decl.c:11509 +#: cp/decl.c:11784 msgid "invalid use of `::'" msgstr "" -#: cp/decl.c:11521 +#: cp/decl.c:11796 msgid "function `%D' cannot be declared friend" msgstr "" -#: cp/decl.c:11533 +#: cp/decl.c:11808 msgid "can't make `%D' into a method -- not in a class" msgstr "" -#: cp/decl.c:11542 +#: cp/decl.c:11817 msgid "function `%D' declared virtual inside a union" msgstr "" -#: cp/decl.c:11554 +#: cp/decl.c:11829 msgid "`%D' cannot be declared virtual, since it is always static" msgstr "" -#: cp/decl.c:11627 +#: cp/decl.c:11902 msgid "field `%D' has incomplete type" msgstr "" -#: cp/decl.c:11629 +#: cp/decl.c:11904 msgid "name `%T' has incomplete type" msgstr "" -#: cp/decl.c:11638 +#: cp/decl.c:11913 msgid " in instantiation of template `%T'" msgstr "" -#: cp/decl.c:11648 +#: cp/decl.c:11923 #, c-format msgid "`%s' is neither function nor member function; cannot be declared friend" msgstr "" -#: cp/decl.c:11659 +#: cp/decl.c:11934 msgid "member functions are implicitly friends of their class" msgstr "" @@ -14751,101 +15195,106 @@ msgstr "" #. the rest of the compiler does not correctly #. handle the initialization unless the member is #. static so we make it static below. -#: cp/decl.c:11706 +#: cp/decl.c:11981 msgid "ISO C++ forbids initialization of member `%D'" msgstr "" -#: cp/decl.c:11708 +#: cp/decl.c:11983 msgid "making `%D' static" msgstr "" -#: cp/decl.c:11732 +#: cp/decl.c:12007 msgid "" "ISO C++ forbids static data member `%D' with same name as enclosing class" msgstr "" -#: cp/decl.c:11773 +#: cp/decl.c:12048 #, c-format msgid "storage class `auto' invalid for function `%s'" msgstr "" -#: cp/decl.c:11775 +#: cp/decl.c:12050 #, c-format msgid "storage class `register' invalid for function `%s'" msgstr "" -#: cp/decl.c:11786 +#: cp/decl.c:12052 +#, c-format +msgid "storage class `__thread' invalid for function `%s'" +msgstr "" + +#: cp/decl.c:12063 #, c-format msgid "" "storage class `static' invalid for function `%s' declared out of global scope" msgstr "" -#: cp/decl.c:11788 +#: cp/decl.c:12065 #, c-format msgid "" "storage class `inline' invalid for function `%s' declared out of global scope" msgstr "" -#: cp/decl.c:11795 +#: cp/decl.c:12072 #, c-format msgid "virtual non-class function `%s'" msgstr "" -#: cp/decl.c:11824 +#: cp/decl.c:12101 msgid "cannot declare member function `%D' to have static linkage" msgstr "" #. FIXME need arm citation -#: cp/decl.c:11830 +#: cp/decl.c:12107 msgid "cannot declare static function inside another function" msgstr "" -#: cp/decl.c:11858 +#: cp/decl.c:12135 msgid "" "`static' may not be used when defining (as opposed to declaring) a static " "data member" msgstr "" -#: cp/decl.c:11864 +#: cp/decl.c:12141 msgid "static member `%D' declared `register'" msgstr "" -#: cp/decl.c:11869 +#: cp/decl.c:12146 msgid "cannot explicitly declare member `%#D' to have extern linkage" msgstr "" -#: cp/decl.c:12041 +#: cp/decl.c:12318 msgid "default argument for `%#D' has type `%T'" msgstr "" -#: cp/decl.c:12044 +#: cp/decl.c:12321 msgid "default argument for parameter of type `%T' has type `%T'" msgstr "" -#: cp/decl.c:12061 +#: cp/decl.c:12338 msgid "default argument `%E' uses local variable `%D'" msgstr "" -#: cp/decl.c:12106 +#: cp/decl.c:12383 #, c-format msgid "invalid string constant `%E'" msgstr "" -#: cp/decl.c:12108 +#: cp/decl.c:12385 msgid "" "invalid integer constant in parameter list, did you forget to give parameter " "name?" msgstr "" -#: cp/decl.c:12146 +#: cp/decl.c:12423 msgid "parameter `%D' invalidly declared method type" msgstr "" -#: cp/decl.c:12152 +#: cp/decl.c:12429 msgid "parameter `%D' invalidly declared offset type" msgstr "" -#: cp/decl.c:12176 +#: cp/decl.c:12453 msgid "parameter `%D' includes %s to array of unknown bound `%T'" msgstr "" @@ -14864,563 +15313,549 @@ msgstr "" #. or implicitly defined), there's no need to worry about their #. existence. Theoretically, they should never even be #. instantiated, but that's hard to forestall. -#: cp/decl.c:12343 +#: cp/decl.c:12615 msgid "invalid constructor; you probably meant `%T (const %T&)'" msgstr "" -#: cp/decl.c:12494 +#: cp/decl.c:12766 msgid "`%D' must be a nonstatic member function" msgstr "" -#: cp/decl.c:12500 +#: cp/decl.c:12772 msgid "" "`%D' must be either a non-static member function or a non-member function" msgstr "" -#: cp/decl.c:12517 +#: cp/decl.c:12789 msgid "`%D' must have an argument of class or enumerated type" msgstr "" -#: cp/decl.c:12549 +#: cp/decl.c:12821 #, c-format msgid "conversion to %s%s will never use a type conversion operator" msgstr "" #. 13.4.0.3 -#: cp/decl.c:12556 +#: cp/decl.c:12828 msgid "ISO C++ prohibits overloading operator ?:" msgstr "" -#: cp/decl.c:12606 +#: cp/decl.c:12878 msgid "postfix `%D' must take `int' as its argument" msgstr "" -#: cp/decl.c:12610 +#: cp/decl.c:12882 msgid "postfix `%D' must take `int' as its second argument" msgstr "" -#: cp/decl.c:12617 +#: cp/decl.c:12889 msgid "`%D' must take either zero or one argument" msgstr "" -#: cp/decl.c:12619 +#: cp/decl.c:12891 msgid "`%D' must take either one or two arguments" msgstr "" -#: cp/decl.c:12640 +#: cp/decl.c:12912 msgid "prefix `%D' should return `%T'" msgstr "" -#: cp/decl.c:12646 +#: cp/decl.c:12918 msgid "postfix `%D' should return `%T'" msgstr "" -#: cp/decl.c:12655 +#: cp/decl.c:12927 msgid "`%D' must take `void'" msgstr "" -#: cp/decl.c:12657 cp/decl.c:12665 +#: cp/decl.c:12929 cp/decl.c:12937 msgid "`%D' must take exactly one argument" msgstr "" -#: cp/decl.c:12667 +#: cp/decl.c:12939 msgid "`%D' must take exactly two arguments" msgstr "" -#: cp/decl.c:12675 +#: cp/decl.c:12947 msgid "user-defined `%D' always evaluates both arguments" msgstr "" -#: cp/decl.c:12687 +#: cp/decl.c:12961 msgid "`%D' should return by value" msgstr "" -#: cp/decl.c:12699 cp/decl.c:12702 +#: cp/decl.c:12973 cp/decl.c:12976 msgid "`%D' cannot have default arguments" msgstr "" -#: cp/decl.c:12793 +#: cp/decl.c:13052 msgid "`%s %T' declares a new type at namespace scope" msgstr "" -#: cp/decl.c:12796 +#: cp/decl.c:13055 msgid "" " names from dependent base classes are not visible to unqualified name " "lookup - to refer to the inherited type, say `%s %T::%T'" msgstr "" -#: cp/decl.c:12834 +#: cp/decl.c:13093 msgid "using typedef-name `%D' after `%s'" msgstr "" -#: cp/decl.c:12839 +#: cp/decl.c:13098 msgid "using template type parameter `%T' after `%s'" msgstr "" -#: cp/decl.c:12919 +#: cp/decl.c:13178 msgid "use of enum `%#D' without previous declaration" msgstr "" -#: cp/decl.c:13017 +#: cp/decl.c:13264 msgid "derived union `%T' invalid" msgstr "" -#: cp/decl.c:13061 +#: cp/decl.c:13310 msgid "base type `%T' fails to be a struct or class type" msgstr "" -#: cp/decl.c:13071 +#: cp/decl.c:13320 msgid "base class `%T' has incomplete type" msgstr "" -#: cp/decl.c:13079 +#: cp/decl.c:13328 msgid "recursive type `%T' undefined" msgstr "" -#: cp/decl.c:13081 +#: cp/decl.c:13330 msgid "duplicate base type `%T' invalid" msgstr "" -#: cp/decl.c:13192 +#: cp/decl.c:13441 msgid "multiple definition of `%#T'" msgstr "" -#: cp/decl.c:13193 +#: cp/decl.c:13442 msgid "previous definition here" msgstr "" -#: cp/decl.c:13364 +#: cp/decl.c:13610 msgid "enumerator value for `%D' not integer constant" msgstr "" -#: cp/decl.c:13384 +#: cp/decl.c:13630 msgid "overflow in enumeration values at `%D'" msgstr "" -#: cp/decl.c:13470 +#: cp/decl.c:13716 msgid "return type `%#T' is incomplete" msgstr "" -#: cp/decl.c:13586 +#: cp/decl.c:13830 msgid "semicolon missing after declaration of `%#T'" msgstr "" -#: cp/decl.c:13607 +#: cp/decl.c:13851 msgid "return type for `main' changed to `int'" msgstr "" -#: cp/decl.c:13638 +#: cp/decl.c:13882 msgid "`%D' implicitly declared before its definition" msgstr "" -#: cp/decl.c:13660 cp/typeck.c:6541 +#: cp/decl.c:13904 cp/typeck.c:6229 msgid "`operator=' should return a reference to `*this'" msgstr "" -#: cp/decl.c:13924 +#: cp/decl.c:14164 msgid "parameter `%D' declared void" msgstr "" -#: cp/decl.c:14392 +#: cp/decl.c:14628 msgid "`%D' is already defined in class `%T'" msgstr "" -#: cp/decl.c:14609 +#: cp/decl.c:14845 msgid "static member function `%#D' declared with type qualifiers" msgstr "" -#: cp/decl2.c:521 -#, c-format -msgid "-f%s is no longer supported" -msgstr "" - -#: cp/decl2.c:527 -msgid "" -"-fhandle-exceptions has been renamed to -fexceptions (and is now on by " -"default)" -msgstr "" - -#: cp/decl2.c:553 -msgid "-fname-mangling-version is no longer supported" -msgstr "" - -#: cp/decl2.c:613 -msgid "-Wno-strict-prototypes is not supported in C++" -msgstr "" - -#: cp/decl2.c:752 +#: cp/decl2.c:154 #, c-format msgid "duplicate type qualifiers in %s declaration" msgstr "" -#: cp/decl2.c:791 +#: cp/decl2.c:193 msgid "template `%#D' instantiated in file without #pragma interface" msgstr "" -#: cp/decl2.c:797 +#: cp/decl2.c:199 msgid "template `%#D' defined in file without #pragma interface" msgstr "" -#: cp/decl2.c:954 +#: cp/decl2.c:366 msgid "name missing for member function" msgstr "" #. Something has gone very wrong. Assume we are mistakenly reducing #. an expression instead of a declaration. -#: cp/decl2.c:1017 +#: cp/decl2.c:429 msgid "parser may be lost: is there a '{' missing somewhere?" msgstr "" -#: cp/decl2.c:1048 cp/decl2.c:1062 +#: cp/decl2.c:460 cp/decl2.c:474 msgid "ambiguous conversion for array subscript" msgstr "" -#: cp/decl2.c:1056 +#: cp/decl2.c:468 msgid "invalid types `%T[%T]' for array subscript" msgstr "" -#: cp/decl2.c:1104 +#: cp/decl2.c:516 msgid "type `%#T' argument given to `delete', expected pointer" msgstr "" -#: cp/decl2.c:1112 +#: cp/decl2.c:524 msgid "anachronistic use of array size in vector delete" msgstr "" -#: cp/decl2.c:1122 +#: cp/decl2.c:534 msgid "" "cannot delete a function. Only pointer-to-objects are valid arguments to " "`delete'" msgstr "" -#: cp/decl2.c:1129 +#: cp/decl2.c:541 msgid "deleting `%T' is undefined" msgstr "" -#: cp/decl2.c:1137 +#: cp/decl2.c:549 msgid "deleting array `%#D'" msgstr "" #. 14.5.2.2 [temp.mem] #. #. A local class shall not have member templates. -#: cp/decl2.c:1171 +#: cp/decl2.c:583 msgid "invalid declaration of member template `%#D' in local class" msgstr "" -#: cp/decl2.c:1180 +#: cp/decl2.c:592 msgid "invalid use of `virtual' in template declaration of `%#D'" msgstr "" -#: cp/decl2.c:1190 cp/pt.c:2584 +#: cp/decl2.c:602 cp/pt.c:2586 msgid "template declaration of `%#D'" msgstr "" -#: cp/decl2.c:1240 +#: cp/decl2.c:652 msgid "Java method '%D' has non-Java return type `%T'" msgstr "" -#: cp/decl2.c:1249 +#: cp/decl2.c:661 msgid "Java method '%D' has non-Java parameter type `%T'" msgstr "" -#: cp/decl2.c:1345 +#: cp/decl2.c:737 msgid "prototype for `%#D' does not match any in class `%T'" msgstr "" -#: cp/decl2.c:1347 -msgid "candidate%s: %+#D" -msgstr "" - -#: cp/decl2.c:1350 -msgid " %#D" -msgstr "" - -#: cp/decl2.c:1402 +#: cp/decl2.c:819 msgid "local class `%#T' shall not have static data member `%#D'" msgstr "" -#: cp/decl2.c:1410 +#: cp/decl2.c:827 msgid "initializer invalid for static member with constructor" msgstr "" -#: cp/decl2.c:1413 +#: cp/decl2.c:830 msgid "(an out of class initialization is required)" msgstr "" -#: cp/decl2.c:1472 +#: cp/decl2.c:889 msgid "invalid data member initialization" msgstr "" -#: cp/decl2.c:1475 +#: cp/decl2.c:892 msgid "(use `=' to initialize static data members)" msgstr "" -#: cp/decl2.c:1515 +#: cp/decl2.c:938 msgid "member `%D' conflicts with virtual function table field name" msgstr "" -#: cp/decl2.c:1535 +#: cp/decl2.c:958 msgid "`%D' is already defined in `%T'" msgstr "" -#: cp/decl2.c:1586 +#: cp/decl2.c:1010 msgid "field initializer is not constant" msgstr "" -#: cp/decl2.c:1609 +#: cp/decl2.c:1034 msgid "`asm' specifiers are not permitted on non-static data members" msgstr "" -#: cp/decl2.c:1661 +#: cp/decl2.c:1086 msgid "cannot declare `%D' to be a bit-field type" msgstr "" -#: cp/decl2.c:1671 +#: cp/decl2.c:1096 msgid "cannot declare bit-field `%D' with function type" msgstr "" -#: cp/decl2.c:1678 +#: cp/decl2.c:1103 msgid "`%D' is already defined in the class %T" msgstr "" -#: cp/decl2.c:1685 +#: cp/decl2.c:1110 msgid "static member `%D' cannot be a bit-field" msgstr "" -#: cp/decl2.c:1754 +#: cp/decl2.c:1197 msgid "initializer specified for non-member function `%D'" msgstr "" -#: cp/decl2.c:1758 +#: cp/decl2.c:1201 msgid "invalid initializer for virtual method `%D'" msgstr "" -#: cp/decl2.c:1862 +#: cp/decl2.c:1315 msgid "anonymous struct not inside named type" msgstr "" -#: cp/decl2.c:1958 +#: cp/decl2.c:1411 msgid "namespace-scope anonymous aggregates must be static" msgstr "" -#: cp/decl2.c:1968 +#: cp/decl2.c:1424 msgid "anonymous aggregate with no members" msgstr "" -#: cp/decl2.c:2035 +#: cp/decl2.c:1493 msgid "`operator new' must return type `%T'" msgstr "" -#: cp/decl2.c:2043 +#: cp/decl2.c:1501 msgid "`operator new' takes type `size_t' (`%T') as first parameter" msgstr "" -#: cp/decl2.c:2070 +#: cp/decl2.c:1528 msgid "`operator delete' must return type `%T'" msgstr "" -#: cp/decl2.c:2078 +#: cp/decl2.c:1536 msgid "`operator delete' takes type `%T' as first parameter" msgstr "" #. Overflow occurred. That means there are at least 4 billion #. initialization functions. -#: cp/decl2.c:2819 +#: cp/decl2.c:2290 msgid "too many initialization functions required" msgstr "" -#: cp/decl2.c:3639 +#: cp/decl2.c:2966 +msgid "inline function `%D' used but never defined" +msgstr "" + +#: cp/decl2.c:3086 msgid "use of old-style cast" msgstr "" -#: cp/decl2.c:4220 +#: cp/decl2.c:3794 msgid "use of `%D' is ambiguous" msgstr "" -#: cp/decl2.c:4221 +#: cp/decl2.c:3795 msgid " first declared as `%#D' here" msgstr "" -#: cp/decl2.c:4224 +#: cp/decl2.c:3798 msgid " also declared as `%#D' here" msgstr "" -#: cp/decl2.c:4239 +#: cp/decl2.c:3813 msgid "`%D' denotes an ambiguous type" msgstr "" -#: cp/decl2.c:4240 +#: cp/decl2.c:3814 msgid " first type here" msgstr "" -#: cp/decl2.c:4241 +#: cp/decl2.c:3815 msgid " other type here" msgstr "" -#: cp/decl2.c:4338 +#: cp/decl2.c:3912 msgid "declaration of `%D' not in a namespace surrounding `%D'" msgstr "" -#: cp/decl2.c:4372 +#: cp/decl2.c:3946 msgid "`%D' should have been declared inside `%D'" msgstr "" -#: cp/decl2.c:4506 +#: cp/decl2.c:4079 msgid "`%D' is not a function," msgstr "" -#: cp/decl2.c:4507 +#: cp/decl2.c:4080 msgid " conflict with `%D'" msgstr "" #. The parser did not find it, so it's not there. -#: cp/decl2.c:4821 +#: cp/decl2.c:4396 msgid "unknown namespace `%D'" msgstr "" -#: cp/decl2.c:4855 cp/decl2.c:5125 +#: cp/decl2.c:4430 cp/decl2.c:4707 msgid "`%T' is not a namespace" msgstr "" -#: cp/decl2.c:4857 +#: cp/decl2.c:4432 msgid "`%D' is not a namespace" msgstr "" -#: cp/decl2.c:4866 +#: cp/decl2.c:4441 msgid "a using-declaration cannot specify a template-id. Try `using %D'" msgstr "" -#: cp/decl2.c:4880 +#: cp/decl2.c:4455 msgid "namespace `%D' not allowed in using-declaration" msgstr "" -#: cp/decl2.c:4909 +#: cp/decl2.c:4484 msgid "`%D' not declared" msgstr "" -#: cp/decl2.c:4960 +#: cp/decl2.c:4535 msgid "`%D' is already declared in this scope" msgstr "" -#: cp/decl2.c:4987 +#: cp/decl2.c:4562 msgid "using declaration `%D' introduced ambiguous type `%T'" msgstr "" -#: cp/decl2.c:5078 +#: cp/decl2.c:4653 msgid "using-declaration for non-member at class scope" msgstr "" -#: cp/decl2.c:5084 +#: cp/decl2.c:4659 msgid "using-declaration for destructor" msgstr "" -#: cp/decl2.c:5090 +#: cp/decl2.c:4665 msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'" msgstr "" -#: cp/decl2.c:5119 +#: cp/decl2.c:4701 msgid "namespace `%T' undeclared" msgstr "" -#: cp/decl2.c:5148 +#: cp/decl2.c:4730 msgid "default argument missing for parameter %P of `%+#D'" msgstr "" -#: cp/decl2.c:5238 +#: cp/decl2.c:4829 msgid "extra qualification `%T::' on member `%D' ignored" msgstr "" -#: cp/decl2.c:5242 +#: cp/decl2.c:4833 msgid "`%T' does not have a class or union named `%D'" msgstr "" -#: cp/decl2.c:5255 +#: cp/decl2.c:4848 msgid "`%T' is not a class or union type" msgstr "" -#: cp/error.c:36 +#: cp/decl2.c:4862 +msgid "template argument is required for `%T'" +msgstr "" + +#: cp/error.c:35 #, c-format msgid "`%s' not supported by %s" msgstr "" -#: cp/error.c:576 +#: cp/error.c:571 #, c-format msgid "<anonymous %s>" msgstr "" -#: cp/error.c:813 +#: cp/error.c:808 #, c-format msgid "(static %s for %s)" msgstr "" -#: cp/error.c:2434 +#: cp/error.c:1482 +#, c-format +msgid "\\x%x" +msgstr "" + +#: cp/error.c:2430 #, c-format msgid "In %s `%s':" msgstr "" -#: cp/error.c:2489 +#: cp/error.c:2487 #, c-format msgid "%s: In instantiation of `%s':\n" msgstr "" -#: cp/error.c:2513 +#: cp/error.c:2511 #, c-format msgid "%s:%d: instantiated from `%s'\n" msgstr "" -#: cp/error.c:2518 +#: cp/error.c:2516 #, c-format msgid "%s:%d: instantiated from here\n" msgstr "" #. damn ICE suppression -#: cp/error.c:2671 +#: cp/error.c:2670 #, c-format msgid "unexpected letter `%c' in locate_error\n" msgstr "" #. Can't throw a reference. -#: cp/except.c:245 +#: cp/except.c:240 msgid "type `%T' is disallowed in Java `throw' or `catch'" msgstr "" -#: cp/except.c:256 +#: cp/except.c:251 msgid "call to Java `catch' or `throw' with `jthrowable' undefined" msgstr "" #. Thrown object must be a Throwable. -#: cp/except.c:263 +#: cp/except.c:258 msgid "type `%T' is not derived from `java::lang::Throwable'" msgstr "" -#: cp/except.c:327 +#: cp/except.c:322 msgid "mixing C++ and Java catches in a single translation unit" msgstr "" -#: cp/except.c:641 +#: cp/except.c:639 msgid "throwing NULL, which has integral, not pointer type" msgstr "" -#: cp/except.c:732 +#: cp/except.c:730 msgid " in thrown expression" msgstr "" -#: cp/except.c:858 +#: cp/except.c:856 msgid "" "expression '%E' of abstract class type '%T' cannot be used in throw-" "expression" msgstr "" -#: cp/except.c:946 +#: cp/except.c:944 msgid "exception of type `%T' will be caught" msgstr "" -#: cp/except.c:949 +#: cp/except.c:947 msgid " by earlier handler for `%T'" msgstr "" -#: cp/except.c:970 +#: cp/except.c:968 msgid "`...' handler must be the last handler for its try block" msgstr "" @@ -15432,140 +15867,127 @@ msgstr "" msgid "previous friend declaration of `%D'" msgstr "" -#: cp/friend.c:197 +#: cp/friend.c:202 msgid "invalid type `%T' declared `friend'" msgstr "" #. [temp.friend] -#. #. Friend declarations shall not declare partial #. specializations. -#: cp/friend.c:209 +#: cp/friend.c:218 msgid "partial specialization `%T' declared `friend'" msgstr "" -#: cp/friend.c:221 +#: cp/friend.c:227 msgid "class `%T' is implicitly friends with itself" msgstr "" #. template <class T> friend typename S<T>::X; -#: cp/friend.c:239 +#: cp/friend.c:245 msgid "typename type `%#T' declared `friend'" msgstr "" #. template <class T> friend class T; -#: cp/friend.c:245 +#: cp/friend.c:251 msgid "template parameter type `%T' declared `friend'" msgstr "" #. template <class T> friend class A; where A is not a template -#: cp/friend.c:251 +#: cp/friend.c:257 msgid "`%#T' is not a template" msgstr "" -#: cp/friend.c:266 +#: cp/friend.c:272 msgid "`%T' is already a friend of `%T'" msgstr "" -#: cp/friend.c:362 +#: cp/friend.c:370 msgid "member `%D' declared as friend before type `%T' defined" msgstr "" -#: cp/friend.c:417 +#: cp/friend.c:425 msgid "friend declaration `%#D' declares a non-template function" msgstr "" -#: cp/friend.c:420 +#: cp/friend.c:428 msgid "" "(if this is not what you intended, make sure the function template has " "already been declared and add <> after the function name here) -Wno-non-" "template-friend disables this warning" msgstr "" -#: cp/g++spec.c:198 java/jvspec.c:424 +#: cp/g++spec.c:209 java/jvspec.c:423 #, c-format msgid "argument to `%s' missing\n" msgstr "" -#: cp/init.c:264 +#: cp/init.c:320 +msgid "`%D' should be initialized in the member initialization list" +msgstr "" + +#: cp/init.c:369 msgid "default-initialization of `%#D', which has reference type" msgstr "" -#: cp/init.c:269 +#: cp/init.c:374 msgid "uninitialized reference member `%D'" msgstr "" -#: cp/init.c:277 +#: cp/init.c:382 msgid "initializer list treated as compound expression" msgstr "" -#: cp/init.c:389 -msgid "member initializers for `%#D'" +#: cp/init.c:523 +msgid "`%D' will be initialized after" msgstr "" -#: cp/init.c:391 -msgid " and `%#D'" +#: cp/init.c:526 +msgid "base `%T' will be initialized after" msgstr "" -#: cp/init.c:392 -msgid " will be re-ordered to match declaration order" +#: cp/init.c:529 +msgid " `%#D'" msgstr "" -#: cp/init.c:407 -msgid "multiple initializations given for member `%D'" +#: cp/init.c:531 +msgid " base `%T'" msgstr "" -#: cp/init.c:479 -msgid "initializations for multiple members of `%T'" -msgstr "" - -#: cp/init.c:596 -msgid "base initializers for `%#T'" +#: cp/init.c:549 +msgid "multiple initializations given for base `%T'" msgstr "" -#: cp/init.c:597 -msgid " and `%#T'" -msgstr "" - -#: cp/init.c:598 -msgid " will be re-ordered to match inheritance order" -msgstr "" - -#: cp/init.c:610 -msgid "base class `%T' already initialized" +#: cp/init.c:616 +msgid "initializations for multiple members of `%T'" msgstr "" -#: cp/init.c:681 +#: cp/init.c:671 msgid "" "base class `%#T' should be explicitly initialized in the copy constructor" msgstr "" -#: cp/init.c:724 -msgid "`%D' should be initialized in the member initialization list" -msgstr "" - -#: cp/init.c:966 +#: cp/init.c:916 msgid "class `%T' does not have any field named `%D'" msgstr "" -#: cp/init.c:972 +#: cp/init.c:922 msgid "" "field `%#D' is static; the only point of initialization is its definition" msgstr "" -#: cp/init.c:1011 +#: cp/init.c:956 msgid "unnamed initializer for `%T', which has no base classes" msgstr "" -#: cp/init.c:1018 +#: cp/init.c:963 msgid "unnamed initializer for `%T', which uses multiple inheritance" msgstr "" -#: cp/init.c:1047 +#: cp/init.c:1000 msgid "type `%D' is not a direct or virtual base of `%T'" msgstr "" -#: cp/init.c:1050 +#: cp/init.c:1003 msgid "type `%D' is not a direct base of `%T'" msgstr "" @@ -15581,554 +16003,522 @@ msgstr "" #. COMPLEX zees(1.0, 0.0)[10]; #. } #. -#: cp/init.c:1144 +#: cp/init.c:1097 msgid "bad array initializer" msgstr "" -#: cp/init.c:1356 +#: cp/init.c:1304 msgid "`%T' is not an aggregate type" msgstr "" -#: cp/init.c:1379 +#: cp/init.c:1327 msgid "`%T' fails to be an aggregate typedef" msgstr "" -#: cp/init.c:1388 +#: cp/init.c:1336 msgid "type `%T' is of non-aggregate type" msgstr "" -#: cp/init.c:1490 +#: cp/init.c:1439 msgid "cannot call destructor `%T::~%T' without object" msgstr "" -#: cp/init.c:1529 +#: cp/init.c:1483 msgid "invalid use of non-static field `%D'" msgstr "" #. We can get here when processing a bad default #. argument, like: #. struct S { int a; void f(int i = a); } -#: cp/init.c:1538 cp/method.c:163 +#: cp/init.c:1492 cp/method.c:160 msgid "invalid use of member `%D'" msgstr "" -#: cp/init.c:1548 +#: cp/init.c:1502 msgid "no method `%T::%D'" msgstr "" -#: cp/init.c:1641 +#: cp/init.c:1595 msgid "incomplete type `%T' does not have member `%D'" msgstr "" -#: cp/init.c:1710 +#: cp/init.c:1669 msgid "`%D' is not a member of type `%T'" msgstr "" -#: cp/init.c:1729 -msgid "illegal pointer to bit-field `%D'" +#: cp/init.c:1688 +msgid "invalid pointer to bit-field `%D'" msgstr "" -#: cp/init.c:1768 +#: cp/init.c:1727 msgid "object missing in use of pointer-to-member construct" msgstr "" -#: cp/init.c:1808 +#: cp/init.c:1767 msgid "member `%D' is non-static but referenced as a static member" msgstr "" -#: cp/init.c:1810 cp/typeck.c:3142 cp/typeck.c:3250 +#: cp/init.c:1769 cp/typeck.c:2828 cp/typeck.c:2932 msgid "at this point in file" msgstr "" -#: cp/init.c:1845 cp/typeck.c:2941 +#: cp/init.c:1806 #, c-format msgid "object missing in `%E'" msgstr "" -#: cp/init.c:1976 +#: cp/init.c:1937 msgid "new of array type fails to specify size" msgstr "" -#: cp/init.c:1987 +#: cp/init.c:1948 msgid "size in array new must have integral type" msgstr "" -#: cp/init.c:1993 +#: cp/init.c:1954 msgid "zero size array reserves no space" msgstr "" -#: cp/init.c:2058 +#: cp/init.c:2019 msgid "new cannot be applied to a reference type" msgstr "" -#: cp/init.c:2064 +#: cp/init.c:2025 msgid "new cannot be applied to a function type" msgstr "" -#: cp/init.c:2111 +#: cp/init.c:2072 msgid "call to Java constructor, while `jclass' undefined" msgstr "" -#: cp/init.c:2127 +#: cp/init.c:2088 msgid "can't find class$" msgstr "" -#: cp/init.c:2241 +#: cp/init.c:2202 msgid "invalid type `void' for new" msgstr "" -#: cp/init.c:2293 +#: cp/init.c:2254 #, c-format msgid "call to Java constructor with `%s' undefined" msgstr "" -#: cp/init.c:2400 +#: cp/init.c:2362 msgid "ISO C++ forbids initialization in array new" msgstr "" -#: cp/init.c:2418 cp/typeck2.c:359 cp/typeck2.c:1224 +#: cp/init.c:2380 cp/typeck2.c:360 cp/typeck2.c:1223 msgid "initializer list being treated as compound expression" msgstr "" -#: cp/init.c:2424 +#: cp/init.c:2386 msgid "ISO C++ forbids aggregate initializer to new" msgstr "" -#: cp/init.c:2510 +#: cp/init.c:2474 msgid "uninitialized const in `new' of `%#T'" msgstr "" -#: cp/init.c:2874 +#: cp/init.c:2840 msgid "initializer ends prematurely" msgstr "" -#: cp/init.c:2944 +#: cp/init.c:2910 msgid "cannot initialize multi-dimensional array with initializer" msgstr "" -#: cp/init.c:3119 +#: cp/init.c:3100 msgid "unknown array size in delete" msgstr "" -#: cp/init.c:3380 +#: cp/init.c:3365 msgid "type to vector delete is neither pointer or array type" msgstr "" -#: cp/lex.c:144 +#: cp/lex.c:136 msgid "type name expected before `*'" msgstr "" -#: cp/lex.c:166 +#: cp/lex.c:158 msgid "cannot declare references to references" msgstr "" -#: cp/lex.c:171 +#: cp/lex.c:163 msgid "cannot declare pointers to references" msgstr "" -#: cp/lex.c:175 +#: cp/lex.c:167 msgid "type name expected before `&'" msgstr "" -#: cp/lex.c:948 +#: cp/lex.c:894 #, c-format msgid "semicolon missing after %s declaration" msgstr "" -#: cp/lex.c:951 +#: cp/lex.c:897 msgid "semicolon missing after declaration of `%T'" msgstr "" -#: cp/lex.c:999 +#: cp/lex.c:945 #, c-format msgid "junk at end of #pragma %s" msgstr "" -#: cp/lex.c:1006 +#: cp/lex.c:952 #, c-format msgid "invalid #pragma %s" msgstr "" -#: cp/lex.c:1015 +#: cp/lex.c:961 msgid "#pragma vtable no longer supported" msgstr "" -#: cp/lex.c:1092 +#: cp/lex.c:1038 #, c-format msgid "#pragma implementation for %s appears after file is included" msgstr "" -#: cp/lex.c:1117 +#: cp/lex.c:1063 msgid "junk at end of #pragma GCC java_exceptions" msgstr "" -#: cp/lex.c:1205 +#: cp/lex.c:1107 msgid "`%D' not defined" msgstr "" -#: cp/lex.c:1210 +#: cp/lex.c:1110 msgid "`%D' was not declared in this scope" msgstr "" -#: cp/lex.c:1220 +#: cp/lex.c:1118 msgid "`%D' undeclared (first use this function)" msgstr "" -#: cp/lex.c:1224 +#: cp/lex.c:1122 msgid "" "(Each undeclared identifier is reported only once for each function it " "appears in.)" msgstr "" -#: cp/lex.c:1247 -#, c-format -msgid "name lookup of `%s' changed" -msgstr "" - -#: cp/lex.c:1249 -msgid " matches this `%D' under ISO standard rules" -msgstr "" - -#: cp/lex.c:1251 -msgid " matches this `%D' under old rules" -msgstr "" - -#: cp/lex.c:1261 cp/lex.c:1268 -#, c-format -msgid "name lookup of `%s' changed for new ISO `for' scoping" -msgstr "" - -#: cp/lex.c:1263 -msgid " cannot use obsolete binding at `%D' because it has a destructor" -msgstr "" - -#: cp/lex.c:1270 -msgid " using obsolete binding at `%D'" -msgstr "" - -#: cp/lex.c:1336 +#: cp/lex.c:1239 msgid "`::%D' undeclared (first use here)" msgstr "" -#: cp/mangle.c:1918 +#: cp/mangle.c:2061 msgid "real-valued template parameters when cross-compiling" msgstr "" -#: cp/method.c:157 +#: cp/mangle.c:2325 +msgid "the mangled name of `%D' will change in a future version of GCC" +msgstr "" + +#: cp/method.c:154 msgid "invalid use of member `%D' in static member function" msgstr "" -#: cp/method.c:205 +#: cp/method.c:216 msgid "use of namespace `%D' as expression" msgstr "" -#: cp/method.c:210 +#: cp/method.c:221 msgid "use of class template `%T' as expression" msgstr "" -#: cp/method.c:223 +#: cp/method.c:234 #, c-format msgid "use of %s from containing function" msgstr "" -#: cp/method.c:226 +#: cp/method.c:237 msgid " `%#D' declared here" msgstr "" -#: cp/method.c:244 +#: cp/method.c:255 msgid "request for member `%D' is ambiguous in multiple inheritance lattice" msgstr "" -#: cp/method.c:297 -msgid "implementation-reserved name `%D' used" -msgstr "" - -#: cp/method.c:428 +#: cp/method.c:455 msgid "generic thunk code fails for method `%#D' which uses `...'" msgstr "" -#: cp/method.c:653 +#: cp/method.c:694 msgid "non-static const member `%#D', can't use default assignment operator" msgstr "" -#: cp/method.c:658 +#: cp/method.c:699 msgid "" "non-static reference member `%#D', can't use default assignment operator" msgstr "" -#: parse.y:218 +#: parse.y:261 msgid "`%s' tag used in naming `%#T'" msgstr "" -#: parse.y:507 +#: parse.y:541 msgid "keyword `export' not implemented, and will be ignored" msgstr "" -#: parse.y:612 +#: parse.y:645 msgid "use of linkage spec `%D' is different from previous spec `%D'" msgstr "" -#: parse.y:685 -msgid "invalid default template argument" -msgstr "" - -#: parse.y:916 -msgid "only constructors take base initializers" -msgstr "" - -#: parse.y:918 +#: parse.y:942 msgid "no base or member initializers given following ':'" msgstr "" -#: parse.y:960 parse.y:966 +#: parse.y:983 parse.y:989 msgid "anachronistic old style base class initializer" msgstr "" #. Handle `Class<Class<Type>>' without space in the `>>' -#: parse.y:1092 +#: parse.y:1115 msgid "`>>' should be `> >' in template class name" msgstr "" -#: parse.y:1130 +#: parse.y:1153 msgid "use of template qualifier outside template" msgstr "" -#: parse.y:1159 parse.y:1168 +#: parse.y:1182 parse.y:1191 #, c-format msgid "ISO C++ forbids an empty condition for `%s'" msgstr "" -#: parse.y:1191 +#: parse.y:1214 msgid "definition of class `%T' in condition" msgstr "" -#: parse.y:1193 +#: parse.y:1216 msgid "definition of enum `%T' in condition" msgstr "" -#: parse.y:1204 +#: parse.y:1227 msgid "definition of array `%#D' in condition" msgstr "" -#: parse.y:1313 +#: parse.y:1340 msgid "old style placement syntax, use () instead" msgstr "" -#: parse.y:1324 +#: parse.y:1351 msgid "`%T' is not a valid expression" msgstr "" -#: parse.y:1335 -msgid "ISO C++ forbids initialization of new expression with `='" +#. This was previously allowed as an extension, but +#. was removed in G++ 3.3. +#: parse.y:1358 +msgid "initialization of new expression with `='" msgstr "" -#: parse.y:1366 +#: parse.y:1384 msgid "ISO C++ forbids compound literals" msgstr "" -#: parse.y:1608 +#: parse.y:1631 msgid "ISO C++ forbids braced-groups within expressions" msgstr "" -#: parse.y:2010 parse.y:2025 +#: parse.y:2035 parse.y:2050 msgid "sigof type specifier" msgstr "" -#: parse.y:2015 +#: parse.y:2040 msgid "`sigof' applied to non-aggregate expression" msgstr "" -#: parse.y:2030 +#: parse.y:2055 msgid "`sigof' applied to non-aggregate type" msgstr "" -#: parse.y:2296 +#: parse.y:2321 msgid "using `typename' outside of template" msgstr "" -#: parse.y:2367 +#: parse.y:2391 #, c-format msgid "storage class specifier `%s' not allowed after struct or class" msgstr "" -#: parse.y:2369 +#: parse.y:2393 #, c-format msgid "type specifier `%s' not allowed after struct or class" msgstr "" -#: parse.y:2371 +#: parse.y:2395 #, c-format msgid "type qualifier `%s' not allowed after struct or class" msgstr "" -#: parse.y:2373 +#: parse.y:2397 msgid "no body nor ';' separates two class, struct or union declarations" msgstr "" -#: parse.y:2505 +#: parse.y:2537 msgid "no bases given following `:'" msgstr "" -#: parse.y:2536 parse.y:2551 +#: parse.y:2568 parse.y:2583 msgid "`%D' access" msgstr "" -#: parse.y:2541 +#: parse.y:2573 msgid "multiple access specifiers" msgstr "" -#: parse.y:2559 +#: parse.y:2591 msgid "multiple `virtual' specifiers" msgstr "" -#: parse.y:2596 +#: parse.y:2628 msgid "missing ';' before right brace" msgstr "" -#: parse.y:2817 +#: parse.y:2849 msgid "ISO C++ forbids array dimensions with parenthesized type in new" msgstr "" -#: parse.y:3104 parse.y:3124 parse.y:3133 parse.y:3162 +#: parse.y:3136 parse.y:3156 parse.y:3165 parse.y:3194 msgid "`%T' is not a class or namespace" msgstr "" -#: parse.y:3329 +#: parse.y:3361 msgid "ISO C++ forbids label declarations" msgstr "" -#: parse.y:3489 +#: parse.y:3521 msgid "ISO C++ forbids computed gotos" msgstr "" -#: parse.y:3497 +#: parse.y:3529 msgid "label must be followed by statement" msgstr "" -#: parse.y:3542 +#: parse.y:3574 msgid "must have at least one catch per try block" msgstr "" -#: parse.y:3602 +#: parse.y:3634 msgid "ISO C++ forbids compound statements inside for initializations" msgstr "" #. This helps us recover from really nasty #. parse errors, for example, a missing right #. parenthesis. -#: parse.y:3689 parse.y:3699 +#: parse.y:3721 parse.y:3731 msgid "possibly missing ')'" msgstr "" -#: parse.y:3792 +#: parse.y:3824 msgid "type specifier omitted for parameter" msgstr "" -#: parse.y:3801 +#: parse.y:3833 #, c-format msgid "`%E' is not a type, use `typename %E' to make it one" msgstr "" -#: parse.y:3803 +#: parse.y:3835 msgid "no type `%D' in `%T'" msgstr "" -#: parse.y:3806 +#: parse.y:3838 #, c-format msgid "type specifier omitted for parameter `%E'" msgstr "" -#: parse.y:3814 +#: parse.y:3846 msgid "'%D' is used as a type, but is not defined as a type." msgstr "" -#: cp/pt.c:212 +#: cp/pt.c:198 msgid "data member `%D' cannot be a member template" msgstr "" -#: cp/pt.c:224 +#: cp/pt.c:210 msgid "invalid member template declaration `%D'" msgstr "" -#: cp/pt.c:619 +#: cp/pt.c:605 msgid "explicit specialization in non-namespace scope `%D'" msgstr "" -#: cp/pt.c:631 +#: cp/pt.c:617 msgid "enclosing class templates are not explicitly specialized" msgstr "" -#: cp/pt.c:706 +#: cp/pt.c:692 msgid "specializing `%#T' in different namespace" msgstr "" -#: cp/pt.c:707 +#: cp/pt.c:693 msgid " from definition of `%#D'" msgstr "" -#: cp/pt.c:715 +#: cp/pt.c:701 msgid "specialization of `%T' after instantiation" msgstr "" -#: cp/pt.c:718 +#: cp/pt.c:704 msgid "explicit specialization of non-template `%T'" msgstr "" -#: cp/pt.c:850 +#: cp/pt.c:836 msgid "specialization of %D after instantiation" msgstr "" -#: cp/pt.c:953 +#: cp/pt.c:939 msgid "%s %+#D" msgstr "" -#: cp/pt.c:1004 +#: cp/pt.c:990 msgid "`%D' is not a function template" msgstr "" -#: cp/pt.c:1127 +#: cp/pt.c:1129 msgid "template-id `%D' for `%+D' does not match any template declaration" msgstr "" -#: cp/pt.c:1135 +#: cp/pt.c:1137 msgid "ambiguous template specialization `%D' for `%+D'" msgstr "" #. This case handles bogus declarations like template <> #. template <class T> void f<int>(); -#: cp/pt.c:1362 cp/pt.c:1436 +#: cp/pt.c:1364 cp/pt.c:1438 msgid "template-id `%D' in declaration of primary template" msgstr "" -#: cp/pt.c:1375 +#: cp/pt.c:1377 msgid "template parameter list used in explicit instantiation" msgstr "" -#: cp/pt.c:1381 +#: cp/pt.c:1383 msgid "definition provided for explicit instantiation" msgstr "" -#: cp/pt.c:1387 +#: cp/pt.c:1389 msgid "too many template parameter lists in declaration of `%D'" msgstr "" -#: cp/pt.c:1403 +#: cp/pt.c:1405 msgid "too few template parameter lists in declaration of `%D'" msgstr "" -#: cp/pt.c:1420 +#: cp/pt.c:1422 msgid "explicit specialization not preceded by `template <>'" msgstr "" -#: cp/pt.c:1433 +#: cp/pt.c:1435 msgid "partial specialization `%D' of function template" msgstr "" -#: cp/pt.c:1465 +#: cp/pt.c:1467 msgid "default argument specified in explicit specialization" msgstr "" -#: cp/pt.c:1469 +#: cp/pt.c:1471 msgid "template specialization with C linkage" msgstr "" @@ -16140,99 +16530,99 @@ msgstr "" #. program is ill-formed. #. #. Similar language is found in [temp.explicit]. -#: cp/pt.c:1557 +#: cp/pt.c:1558 msgid "specialization of implicitly-declared special member function" msgstr "" -#: cp/pt.c:1601 +#: cp/pt.c:1602 msgid "no member function `%D' declared in `%T'" msgstr "" #. There are two many template parameter lists. -#: cp/pt.c:1749 +#: cp/pt.c:1750 msgid "too many template parameter lists in declaration of `%T'" msgstr "" -#: cp/pt.c:1845 +#: cp/pt.c:1846 msgid " shadows template parm `%#D'" msgstr "" -#: cp/pt.c:2249 +#: cp/pt.c:2250 msgid "template parameters not used in partial specialization:" msgstr "" -#: cp/pt.c:2253 +#: cp/pt.c:2254 msgid " `%D'" msgstr "" -#: cp/pt.c:2265 +#: cp/pt.c:2266 msgid "partial specialization `%T' does not specialize any template arguments" msgstr "" -#: cp/pt.c:2290 +#: cp/pt.c:2291 #, c-format msgid "template argument `%E' involves template parameter(s)" msgstr "" -#: cp/pt.c:2333 +#: cp/pt.c:2335 msgid "type `%T' of template argument `%E' depends on template parameter(s)" msgstr "" -#: cp/pt.c:2421 +#: cp/pt.c:2423 msgid "no default argument for `%D'" msgstr "" -#: cp/pt.c:2574 +#: cp/pt.c:2576 msgid "template with C linkage" msgstr "" -#: cp/pt.c:2577 +#: cp/pt.c:2579 msgid "template class without a name" msgstr "" -#: cp/pt.c:2654 +#: cp/pt.c:2656 msgid "`%D' does not declare a template type" msgstr "" -#: cp/pt.c:2660 +#: cp/pt.c:2662 msgid "template definition of non-template `%#D'" msgstr "" -#: cp/pt.c:2701 +#: cp/pt.c:2703 msgid "expected %d levels of template parms for `%#D', got %d" msgstr "" -#: cp/pt.c:2713 +#: cp/pt.c:2715 msgid "got %d template parameters for `%#D'" msgstr "" -#: cp/pt.c:2716 +#: cp/pt.c:2718 msgid "got %d template parameters for `%#T'" msgstr "" -#: cp/pt.c:2718 +#: cp/pt.c:2720 #, c-format msgid " but %d required" msgstr "" -#: cp/pt.c:2799 +#: cp/pt.c:2803 msgid "`%T' is not a template type" msgstr "" -#: cp/pt.c:2815 +#: cp/pt.c:2819 msgid "previous declaration `%D'" msgstr "" -#: cp/pt.c:2816 +#: cp/pt.c:2820 #, c-format msgid "used %d template parameter%s instead of %d" msgstr "" -#: cp/pt.c:2832 +#: cp/pt.c:2836 msgid "template parameter `%#D'" msgstr "" -#: cp/pt.c:2833 +#: cp/pt.c:2837 msgid "redeclared here as `%#D'" msgstr "" @@ -16240,613 +16630,603 @@ msgstr "" #. #. A template-parameter may not be given default arguments #. by two different declarations in the same scope. -#: cp/pt.c:2843 +#: cp/pt.c:2847 msgid "redefinition of default argument for `%#D'" msgstr "" -#: cp/pt.c:2844 +#: cp/pt.c:2848 msgid " original definition appeared here" msgstr "" -#: cp/pt.c:2937 +#: cp/pt.c:2941 #, c-format msgid "`%E' is not a valid template argument" msgstr "" -#: cp/pt.c:2941 +#: cp/pt.c:2945 msgid "it must be the address of a function with external linkage" msgstr "" -#: cp/pt.c:2943 +#: cp/pt.c:2947 msgid "it must be the address of an object with external linkage" msgstr "" -#: cp/pt.c:2947 +#: cp/pt.c:2951 msgid "it must be a pointer-to-member of the form `&X::Y'" msgstr "" -#: cp/pt.c:2958 +#: cp/pt.c:2962 #, c-format msgid "" "string literal %E is not a valid template argument because it is the address " "of an object with static linkage" msgstr "" -#: cp/pt.c:2970 +#: cp/pt.c:2974 #, c-format msgid "address of non-extern `%E' cannot be used as template argument" msgstr "" -#: cp/pt.c:2981 +#: cp/pt.c:2985 #, c-format msgid "non-constant `%E' cannot be used as template argument" msgstr "" -#: cp/pt.c:2988 +#: cp/pt.c:2992 #, c-format msgid "object `%E' cannot be used as template argument" msgstr "" -#: cp/pt.c:3368 +#: cp/pt.c:3367 #, c-format msgid "to refer to a type member of a template parameter, use `typename %E'" msgstr "" -#: cp/pt.c:3381 cp/pt.c:3397 cp/pt.c:3436 +#: cp/pt.c:3380 cp/pt.c:3396 cp/pt.c:3435 msgid "type/value mismatch at argument %d in template parameter list for `%D'" msgstr "" -#: cp/pt.c:3384 +#: cp/pt.c:3383 msgid " expected a constant of type `%T', got `%T'" msgstr "" -#: cp/pt.c:3388 +#: cp/pt.c:3387 #, c-format msgid " expected a type, got `%E'" msgstr "" -#: cp/pt.c:3400 +#: cp/pt.c:3399 msgid " expected a type, got `%T'" msgstr "" -#: cp/pt.c:3402 +#: cp/pt.c:3401 msgid " expected a class template, got `%T'" msgstr "" -#: cp/pt.c:3438 +#: cp/pt.c:3437 msgid " expected a template of type `%D', got `%D'" msgstr "" -#: cp/pt.c:3460 +#: cp/pt.c:3459 msgid "template-argument `%T' uses anonymous type" msgstr "" -#: cp/pt.c:3463 +#: cp/pt.c:3462 msgid "template-argument `%T' uses local type `%T'" msgstr "" -#: cp/pt.c:3498 +#: cp/pt.c:3472 +msgid "template-argument `%T' is a variably modified type" +msgstr "" + +#: cp/pt.c:3507 msgid "could not convert template argument `%E' to `%T'" msgstr "" -#: cp/pt.c:3542 +#: cp/pt.c:3551 #, c-format msgid "wrong number of template arguments (%d, should be %d)" msgstr "" -#: cp/pt.c:3546 +#: cp/pt.c:3555 msgid "provided for `%D'" msgstr "" -#: cp/pt.c:3593 +#: cp/pt.c:3602 #, c-format msgid "template argument %d is invalid" msgstr "" -#: cp/pt.c:3825 +#: cp/pt.c:3837 msgid "non-template used as template" msgstr "" -#: cp/pt.c:3943 +#: cp/pt.c:3968 msgid "`%T' is not a template" msgstr "" -#: cp/pt.c:3956 +#: cp/pt.c:3981 msgid "non-template type `%T' used as a template" msgstr "" -#: cp/pt.c:3958 +#: cp/pt.c:3983 msgid "for template declaration `%D'" msgstr "" -#: cp/pt.c:4521 +#: cp/pt.c:4598 msgid "" "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN " "to increase the maximum) instantiating `%D'" msgstr "" -#: cp/pt.c:4961 +#: cp/pt.c:5074 msgid "ambiguous class template instantiation for `%#T'" msgstr "" -#: cp/pt.c:4968 +#: cp/pt.c:5081 msgid "%s %+#T" msgstr "" -#: cp/pt.c:5993 cp/pt.c:6098 +#: cp/pt.c:6104 cp/pt.c:6214 msgid "instantiation of `%D' as type `%T'" msgstr "" -#: cp/pt.c:6140 +#: cp/pt.c:6258 msgid "invalid parameter type `%T'" msgstr "" -#: cp/pt.c:6142 +#: cp/pt.c:6260 msgid "in declaration `%D'" msgstr "" -#: cp/pt.c:6217 +#: cp/pt.c:6335 msgid "creating pointer to member function of non-class type `%T'" msgstr "" -#: cp/pt.c:6380 +#: cp/pt.c:6498 msgid "creating array with size zero" msgstr "" -#: cp/pt.c:6394 +#: cp/pt.c:6512 #, c-format msgid "creating array with size zero (`%E')" msgstr "" -#: cp/pt.c:6633 +#: cp/pt.c:6751 msgid "forming reference to void" msgstr "" -#: cp/pt.c:6635 +#: cp/pt.c:6753 msgid "forming %s to reference type `%T'" msgstr "" -#: cp/pt.c:6673 +#: cp/pt.c:6791 msgid "creating pointer to member of non-class type `%T'" msgstr "" -#: cp/pt.c:6679 +#: cp/pt.c:6797 msgid "creating pointer to member reference type `%T'" msgstr "" -#: cp/pt.c:6757 +#: cp/pt.c:6875 msgid "creating array of `%T'" msgstr "" -#: cp/pt.c:6800 +#: cp/pt.c:6918 msgid "`%T' is not a class, struct, or union type" msgstr "" -#: cp/pt.c:6910 +#: cp/pt.c:7028 #, c-format msgid "use of `%s' in template" msgstr "" -#: cp/pt.c:7669 +#: cp/pt.c:7790 msgid "type `%T' composed from a local class is not a valid template-argument" msgstr "" -#: cp/pt.c:7670 +#: cp/pt.c:7791 msgid " trying to instantiate `%D'" msgstr "" -#: cp/pt.c:8100 +#: cp/pt.c:8230 msgid "incomplete type unification" msgstr "" -#: cp/pt.c:9067 +#: cp/pt.c:9178 #, c-format msgid "use of `%s' in template type unification" msgstr "" -#: cp/pt.c:9487 cp/pt.c:9555 +#: cp/pt.c:9596 cp/pt.c:9668 msgid "explicit instantiation of non-template `%#D'" msgstr "" -#: cp/pt.c:9503 cp/pt.c:9550 +#: cp/pt.c:9612 cp/pt.c:9663 msgid "no matching template for `%D' found" msgstr "" -#: cp/pt.c:9509 +#: cp/pt.c:9618 msgid "explicit instantiation of `%#D'" msgstr "" -#. [temp.spec] -#. -#. No program shall both explicitly instantiate and explicitly -#. specialize a template. -#: cp/pt.c:9526 -msgid "explicit instantiation of `%#D' after" -msgstr "" - -#: cp/pt.c:9527 cp/pt.c:9664 -msgid "explicit specialization here" -msgstr "" - -#: cp/pt.c:9542 +#: cp/pt.c:9655 msgid "duplicate explicit instantiation of `%#D'" msgstr "" -#: cp/pt.c:9567 +#: cp/pt.c:9680 msgid "ISO C++ forbids the use of `extern' on explicit instantiations" msgstr "" -#: cp/pt.c:9571 cp/pt.c:9649 +#: cp/pt.c:9684 cp/pt.c:9762 msgid "storage class `%D' applied to template instantiation" msgstr "" -#: cp/pt.c:9616 +#: cp/pt.c:9729 msgid "explicit instantiation of non-template type `%T'" msgstr "" -#: cp/pt.c:9630 +#: cp/pt.c:9743 msgid "explicit instantiation of `%#T' before definition of template" msgstr "" -#: cp/pt.c:9638 +#: cp/pt.c:9751 #, c-format msgid "ISO C++ forbids the use of `%s' on explicit instantiations" msgstr "" -#: cp/pt.c:9663 -msgid "explicit instantiation of `%#T' after" -msgstr "" - -#: cp/pt.c:9681 +#: cp/pt.c:9795 msgid "duplicate explicit instantiation of `%#T'" msgstr "" -#: cp/pt.c:10043 +#: cp/pt.c:10177 msgid "explicit instantiation of `%D' but no definition available" msgstr "" -#: cp/pt.c:10415 +#: cp/pt.c:10551 msgid "`%#T' is not a valid type for a template constant parameter" msgstr "" -#: cp/repo.c:272 +#: cp/repo.c:271 msgid "-frepo must be used with -c" msgstr "" -#: cp/repo.c:366 +#: cp/repo.c:361 #, c-format msgid "mysterious repository information in %s" msgstr "" -#: cp/repo.c:381 +#: cp/repo.c:376 #, c-format msgid "can't create repository information file `%s'" msgstr "" -#: cp/rtti.c:200 +#: cp/rtti.c:240 msgid "cannot use typeid with -fno-rtti" msgstr "" -#: cp/rtti.c:206 +#: cp/rtti.c:246 msgid "must #include <typeinfo> before using typeid" msgstr "" -#: cp/rtti.c:280 +#: cp/rtti.c:320 msgid "" "cannot create type information for type `%T' because its size is variable" msgstr "" -#: cp/rtti.c:525 cp/rtti.c:539 +#: cp/rtti.c:585 cp/rtti.c:599 msgid "dynamic_cast of `%#D' to `%#T' can never succeed" msgstr "" -#: cp/rtti.c:614 +#: cp/rtti.c:675 msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)" msgstr "" -#: cp/search.c:340 +#: cp/search.c:348 msgid "`%T' is an inaccessible base of `%T'" msgstr "" -#: cp/search.c:350 +#: cp/search.c:358 msgid "`%T' is an ambiguous base of `%T'" msgstr "" -#: cp/search.c:1818 +#: cp/search.c:1925 msgid "adjusting pointers for covariant returns" msgstr "" -#: cp/search.c:1822 cp/search.c:1829 +#: cp/search.c:1929 cp/search.c:1936 msgid "invalid covariant return type for `%#D'" msgstr "" -#: cp/search.c:1823 +#: cp/search.c:1930 msgid " overriding `%#D' (must be pointer or reference to class)" msgstr "" -#: cp/search.c:1830 +#: cp/search.c:1937 msgid " overriding `%#D' (must use pointer or reference)" msgstr "" -#: cp/search.c:1835 +#: cp/search.c:1942 msgid "conflicting return type specified for `%#D'" msgstr "" -#: cp/search.c:1836 +#: cp/search.c:1943 msgid " overriding `%#D'" msgstr "" -#: cp/search.c:1845 +#: cp/search.c:1952 #, c-format msgid "looser throw specifier for `%#F'" msgstr "" -#: cp/search.c:1846 +#: cp/search.c:1953 #, c-format msgid " overriding `%#F'" msgstr "" #. A static member function cannot match an inherited #. virtual member function. -#: cp/search.c:1936 +#: cp/search.c:2042 msgid "`%#D' cannot be declared" msgstr "" -#: cp/search.c:1937 +#: cp/search.c:2043 msgid " since `%#D' declared in base class" msgstr "" -#: cp/search.c:2078 +#: cp/search.c:2184 msgid "`%#D' needs a final overrider" msgstr "" -#: cp/semantics.c:894 +#: cp/semantics.c:919 #, c-format msgid "type of asm operand `%E' could not be determined" msgstr "" -#: cp/semantics.c:1026 +#: cp/semantics.c:1051 msgid "ISO C++ does not permit named return values" msgstr "" -#: cp/semantics.c:1035 +#: cp/semantics.c:1060 msgid "return identifier `%D' already in place" msgstr "" -#: cp/semantics.c:1043 +#: cp/semantics.c:1068 msgid "can't redefine default return value for constructors" msgstr "" -#: cp/semantics.c:1110 -msgid "base initializer for `%T'" -msgstr "" - -#: cp/semantics.c:1112 -msgid " will be re-ordered to precede member initializations" +#: cp/semantics.c:1100 +msgid "only constructors take base initializers" msgstr "" -#: cp/semantics.c:1300 +#: cp/semantics.c:1342 msgid "`this' is unavailable for static member functions" msgstr "" -#: cp/semantics.c:1306 +#: cp/semantics.c:1348 msgid "invalid use of `this' in non-member function" msgstr "" -#: cp/semantics.c:1308 +#: cp/semantics.c:1350 msgid "invalid use of `this' at top level" msgstr "" -#: cp/semantics.c:1346 +#: cp/semantics.c:1380 msgid "calling type `%T' like a method" msgstr "" -#: cp/semantics.c:1382 +#: cp/semantics.c:1418 msgid "destructor specifier `%T::~%T()' must have matching names" msgstr "" -#: cp/semantics.c:1388 +#: cp/semantics.c:1424 msgid "`%E' is not of type `%T'" msgstr "" -#: cp/semantics.c:1581 +#: cp/semantics.c:1612 msgid "template type parameters must use the keyword `class' or `typename'" msgstr "" -#: cp/semantics.c:1643 +#: cp/semantics.c:1651 +msgid "invalid default template argument" +msgstr "" + +#: cp/semantics.c:1693 msgid "definition of `%#T' inside template parameter list" msgstr "" -#: cp/semantics.c:1659 +#: cp/semantics.c:1709 msgid "invalid definition of qualified type `%T'" msgstr "" -#: cp/semantics.c:2008 +#: cp/semantics.c:2051 msgid "invalid base-class specification" msgstr "" -#: cp/semantics.c:2017 +#: cp/semantics.c:2060 msgid "base class `%T' has cv qualifiers" msgstr "" -#: cp/semantics.c:2050 +#: cp/semantics.c:2091 msgid "multiple declarators in template declaration" msgstr "" -#: cp/spew.c:239 +#: cp/spew.c:225 #, c-format msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy" msgstr "" -#: cp/spew.c:1017 cp/spew.c:1292 +#: cp/spew.c:1002 cp/spew.c:1336 msgid "parse error at end of saved function text" msgstr "" -#: cp/spew.c:1062 +#: cp/spew.c:1090 cp/spew.c:1178 +msgid "%Hend of file read inside definition" +msgstr "" + +#: cp/spew.c:1121 msgid "parse error in method specification" msgstr "" -#: cp/spew.c:1104 +#: cp/spew.c:1161 msgid "function body for constructor missing" msgstr "" -#: cp/spew.c:1371 +#: cp/spew.c:1258 +msgid "%Hend of file read inside default argument" +msgstr "" + +#: cp/spew.c:1415 msgid "circular dependency in default args of `%#D'" msgstr "" -#: cp/spew.c:1435 +#: cp/spew.c:1479 msgid "invalid type `%T' for default argument to `%T'" msgstr "" -#: cp/spew.c:1495 +#: cp/spew.c:1539 #, c-format msgid "%s before `%s'" msgstr "" -#: cp/spew.c:1497 +#: cp/spew.c:1541 #, c-format msgid "%s before `%c'" msgstr "" -#: cp/spew.c:1499 +#: cp/spew.c:1543 #, c-format msgid "%s before `\\%o'" msgstr "" -#: cp/spew.c:1502 +#: cp/spew.c:1546 #, c-format msgid "%s before `%s' token" msgstr "" -#: cp/tree.c:223 +#: cp/tree.c:251 cp/tree.c:263 #, c-format msgid "non-lvalue in %s" msgstr "" -#: cp/tree.c:577 +#: cp/tree.c:635 msgid "`%V' qualifiers cannot be applied to `%T'" msgstr "" -#: cp/tree.c:580 -msgid "ignoring `%V' qualifiers on `%T'" -msgstr "" - -#: cp/tree.c:1921 +#: cp/tree.c:2012 #, c-format msgid "`%s' attribute can only be applied to Java class definitions" msgstr "" -#: cp/tree.c:1951 +#: cp/tree.c:2042 #, c-format msgid "`%s' attribute can only be applied to class definitions" msgstr "" -#: cp/tree.c:1957 +#: cp/tree.c:2048 #, c-format msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default" msgstr "" -#: cp/tree.c:1982 +#: cp/tree.c:2073 msgid "requested init_priority is not an integer constant" msgstr "" -#: cp/tree.c:2003 +#: cp/tree.c:2094 #, c-format msgid "" "can only use `%s' attribute on file-scope definitions of objects of class " "type" msgstr "" -#: cp/tree.c:2011 +#: cp/tree.c:2102 msgid "requested init_priority is out of range" msgstr "" -#: cp/tree.c:2021 +#: cp/tree.c:2112 msgid "requested init_priority is reserved for internal use" msgstr "" -#: cp/tree.c:2031 +#: cp/tree.c:2122 #, c-format msgid "`%s' attribute is not supported on this platform" msgstr "" -#: cp/typeck.c:518 +#: cp/tree.c:2659 +#, c-format +msgid "lang_* check: failed in %s, at %s:%d" +msgstr "" + +#: cp/typeck.c:524 #, c-format msgid "" "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function" msgstr "" -#: cp/typeck.c:539 +#: cp/typeck.c:545 msgid "%s between distinct pointer types `%T' and `%T' lacks a cast" msgstr "" -#: cp/typeck.c:1432 +#: cp/typeck.c:1438 msgid "ISO C++ prohibits conversion from `%#T' to `(...)'" msgstr "" -#: cp/typeck.c:1502 -msgid "ISO C++ forbids applying `sizeof' to a function type" -msgstr "" - -#: cp/typeck.c:1508 -msgid "ISO C++ forbids applying `sizeof' to a member function" -msgstr "" - -#: cp/typeck.c:1514 -msgid "" -"ISO C++ forbids applying `sizeof' to type `void' which is an incomplete type" -msgstr "" - -#: cp/typeck.c:1528 -msgid "`sizeof' applied to non-static member" +#: cp/typeck.c:1516 +#, c-format +msgid "invalid application of `%s' to a member function" msgstr "" -#: cp/typeck.c:1533 -msgid "`sizeof' applied to incomplete type `%T'" +#: cp/typeck.c:1522 +#, c-format +msgid "invalid application of `%s' to non-static member" msgstr "" -#: cp/typeck.c:1563 +#: cp/typeck.c:1540 msgid "sizeof applied to a bit-field" msgstr "" -#: cp/typeck.c:1566 +#: cp/typeck.c:1543 msgid "ISO C++ forbids applying `sizeof' to an expression of function type" msgstr "" -#: cp/typeck.c:1713 +#: cp/typeck.c:1655 msgid "invalid use of non-lvalue array" msgstr "" -#: cp/typeck.c:1819 +#: cp/typeck.c:1761 msgid "deprecated conversion from string constant to `%T'" msgstr "" -#: cp/typeck.c:1837 -msgid "request for member `%T::%D' in expression of non-aggregate type `%T'" +#: cp/typeck.c:1892 cp/typeck.c:2115 +msgid "request for member `%D' in `%E', which is of non-class type `%T'" msgstr "" -#: cp/typeck.c:2031 -msgid "destructor specifier `%T::~%T' must have matching names" +#: cp/typeck.c:1918 +msgid "`%D' is not a member of `%T'" msgstr "" -#: cp/typeck.c:2037 -msgid "type `%T' has no destructor" +#: cp/typeck.c:1958 cp/typeck.c:1979 +msgid "invalid access to non-static data member `%D' of NULL object" msgstr "" -#: cp/typeck.c:2054 cp/typeck.c:2145 -msgid "invalid use of type decl `%#D' as expression" +#: cp/typeck.c:1960 cp/typeck.c:1981 +msgid "(perhaps the `offsetof' macro was used incorrectly)" msgstr "" -#: cp/typeck.c:2059 -msgid "invalid use of template `%#D' as expression" +#: cp/typeck.c:2161 +msgid "`%D::%D' is not a member of `%T'" msgstr "" -#: cp/typeck.c:2136 -msgid "`%#T' has no member named `%D'" +#: cp/typeck.c:2187 +msgid "destructor specifier `%T::~%T' must have matching names" +msgstr "" + +#: cp/typeck.c:2193 +msgid "type `%T' has no destructor" msgstr "" -#: cp/typeck.c:2186 cp/typeck.c:2215 -msgid "invalid offsetof from non-POD type `%#T'; use pointer to member instead" +#: cp/typeck.c:2232 +msgid "`%D' is not a member template function" msgstr "" #. A pointer to incomplete type (other than cv void) can be @@ -16872,99 +17252,84 @@ msgstr "" msgid "subscripting array declared `register'" msgstr "" -#: cp/typeck.c:2648 cp/typeck.c:2803 -msgid "pointer to member function called, but not in class scope" -msgstr "" - -#: cp/typeck.c:2672 -msgid "object missing in call to method `%D'" -msgstr "" - -#: cp/typeck.c:2721 -msgid "" -"function `%D' declared overloaded, but no definitions appear with which to " -"resolve it?!?" -msgstr "" - -#: cp/typeck.c:2801 -msgid "" -"invalid call to member function needing `this' in static member function " -"scope" +#: cp/typeck.c:2558 +#, c-format +msgid "object missing in use of `%E'" msgstr "" -#: cp/typeck.c:2977 +#: cp/typeck.c:2663 msgid "ISO C++ forbids calling `::main' from within program" msgstr "" -#: cp/typeck.c:3002 +#: cp/typeck.c:2688 #, c-format msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'" msgstr "" -#: cp/typeck.c:3015 +#: cp/typeck.c:2701 #, c-format msgid "`%E' cannot be used as a function" msgstr "" -#: cp/typeck.c:3140 +#: cp/typeck.c:2826 msgid "too many arguments to %s `%+#D'" msgstr "" -#: cp/typeck.c:3181 +#: cp/typeck.c:2867 msgid "parameter type of called function is incomplete" msgstr "" -#: cp/typeck.c:3248 +#: cp/typeck.c:2930 msgid "too few arguments to %s `%+#D'" msgstr "" -#: cp/typeck.c:3376 cp/typeck.c:3386 +#: cp/typeck.c:3058 cp/typeck.c:3068 msgid "assuming cast to type `%T' from overloaded function" msgstr "" -#: cp/typeck.c:3446 +#: cp/typeck.c:3128 #, c-format msgid "division by zero in `%E / 0'" msgstr "" -#: cp/typeck.c:3448 +#: cp/typeck.c:3130 #, c-format msgid "division by zero in `%E / 0.'" msgstr "" -#: cp/typeck.c:3478 +#: cp/typeck.c:3160 #, c-format msgid "division by zero in `%E %% 0'" msgstr "" -#: cp/typeck.c:3480 +#: cp/typeck.c:3162 #, c-format msgid "division by zero in `%E %% 0.'" msgstr "" -#: cp/typeck.c:3560 +#: cp/typeck.c:3242 #, c-format msgid "%s rotate count is negative" msgstr "" -#: cp/typeck.c:3563 +#: cp/typeck.c:3245 #, c-format msgid "%s rotate count >= width of type" msgstr "" -#: cp/typeck.c:3594 cp/typeck.c:3599 cp/typeck.c:3690 cp/typeck.c:3695 +#: cp/typeck.c:3276 cp/typeck.c:3281 cp/typeck.c:3372 cp/typeck.c:3377 msgid "ISO C++ forbids comparison between pointer and integer" msgstr "" -#: cp/typeck.c:3873 +#: cp/typeck.c:3555 msgid "comparison between types `%#T' and `%#T'" msgstr "" -#: cp/typeck.c:3909 +#: cp/typeck.c:3591 msgid "comparison between signed and unsigned integer expressions" msgstr "" -#: cp/typeck.c:3974 +#: cp/typeck.c:3656 msgid "invalid operands of types `%T' and `%T' to binary `%O'" msgstr "" @@ -16972,287 +17337,296 @@ msgstr "" #. performed. Note that pointer-difference and pointer-addition #. have already been handled above, and so we don't end up here in #. that case. -#: cp/typeck.c:3996 +#: cp/typeck.c:3678 msgid "NULL used in arithmetic" msgstr "" -#: cp/typeck.c:4063 +#: cp/typeck.c:3745 msgid "ISO C++ forbids using pointer of type `void *' in subtraction" msgstr "" -#: cp/typeck.c:4065 +#: cp/typeck.c:3747 msgid "ISO C++ forbids using pointer to a function in subtraction" msgstr "" -#: cp/typeck.c:4067 +#: cp/typeck.c:3749 msgid "ISO C++ forbids using pointer to a method in subtraction" msgstr "" -#: cp/typeck.c:4069 +#: cp/typeck.c:3751 msgid "ISO C++ forbids using pointer to a member in subtraction" msgstr "" -#: cp/typeck.c:4081 +#: cp/typeck.c:3763 msgid "invalid use of a pointer to an incomplete type in pointer arithmetic" msgstr "" -#: cp/typeck.c:4118 -msgid "attempt to take address of bit-field structure member `%D'" +#: cp/typeck.c:3823 +#, c-format +msgid "" +"invalid use of '%E' to form a pointer-to-member-function. Use a qualified-" +"id." msgstr "" -#: cp/typeck.c:4195 +#: cp/typeck.c:3829 +#, c-format +msgid "" +"parenthesis around '%E' cannot be used to form a pointer-to-member-function" +msgstr "" + +#: cp/typeck.c:3852 msgid "taking address of temporary" msgstr "" -#: cp/typeck.c:4398 +#: cp/typeck.c:4055 #, c-format msgid "ISO C++ forbids %sing an enum" msgstr "" -#: cp/typeck.c:4410 +#: cp/typeck.c:4067 msgid "cannot %s a pointer to incomplete type `%T'" msgstr "" -#: cp/typeck.c:4417 +#: cp/typeck.c:4074 msgid "ISO C++ forbids %sing a pointer of type `%T'" msgstr "" -#: cp/typeck.c:4442 +#: cp/typeck.c:4099 msgid "cast to non-reference type used as lvalue" msgstr "" -#: cp/typeck.c:4476 +#: cp/typeck.c:4133 msgid "invalid use of `--' on bool variable `%D'" msgstr "" #. ARM $3.4 -#: cp/typeck.c:4509 +#: cp/typeck.c:4166 msgid "ISO C++ forbids taking address of function `::main'" msgstr "" #. An expression like &memfn. -#: cp/typeck.c:4576 +#: cp/typeck.c:4233 msgid "" "ISO C++ forbids taking the address of an unqualified non-static member " "function to form a pointer to member function. Say `&%T::%D'" msgstr "" -#: cp/typeck.c:4578 +#: cp/typeck.c:4235 msgid "" "ISO C++ forbids taking the address of a bound member function to form a " "pointer to member function. Say `&%T::%D'" msgstr "" -#: cp/typeck.c:4602 +#: cp/typeck.c:4259 msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression" msgstr "" -#: cp/typeck.c:4618 -msgid "unary `&'" +#: cp/typeck.c:4290 +msgid "attempt to take address of bit-field structure member `%D'" msgstr "" -#: cp/typeck.c:4738 +#: cp/typeck.c:4418 msgid "taking address of destructor" msgstr "" -#: cp/typeck.c:4751 +#: cp/typeck.c:4431 msgid "taking address of bound pointer-to-member expression" msgstr "" -#: cp/typeck.c:4767 +#: cp/typeck.c:4447 msgid "cannot create pointer to reference member `%D'" msgstr "" -#: cp/typeck.c:4835 +#: cp/typeck.c:4510 msgid "cannot take the address of `this', which is an rvalue expression" msgstr "" -#: cp/typeck.c:4851 +#: cp/typeck.c:4529 msgid "address requested for `%D', which is declared `register'" msgstr "" -#: cp/typeck.c:5071 +#: cp/typeck.c:4750 msgid "static_cast from type `%T' to type `%T' casts away constness" msgstr "" -#: cp/typeck.c:5079 +#: cp/typeck.c:4758 msgid "invalid static_cast from type `%T' to type `%T'" msgstr "" -#: cp/typeck.c:5118 +#: cp/typeck.c:4797 msgid "" "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'" msgstr "" -#: cp/typeck.c:5138 +#: cp/typeck.c:4817 msgid "reinterpret_cast from `%T' to `%T' loses precision" msgstr "" -#: cp/typeck.c:5151 +#: cp/typeck.c:4830 msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)" msgstr "" -#: cp/typeck.c:5160 +#: cp/typeck.c:4839 msgid "" "ISO C++ forbids casting between pointer-to-function and pointer-to-object" msgstr "" -#: cp/typeck.c:5166 +#: cp/typeck.c:4845 msgid "invalid reinterpret_cast from type `%T' to type `%T'" msgstr "" -#: cp/typeck.c:5193 +#: cp/typeck.c:4872 msgid "" "invalid use of const_cast with type `%T', which is not a pointer, reference, " "nor a pointer-to-data-member type" msgstr "" -#: cp/typeck.c:5196 +#: cp/typeck.c:4875 msgid "" "invalid use of const_cast with type `%T', which is a pointer or reference to " "a function type" msgstr "" -#: cp/typeck.c:5219 +#: cp/typeck.c:4898 msgid "invalid const_cast of an rvalue of type `%T' to type `%T'" msgstr "" -#: cp/typeck.c:5235 +#: cp/typeck.c:4914 msgid "invalid const_cast from type `%T' to type `%T'" msgstr "" -#: cp/typeck.c:5277 cp/typeck.c:5282 +#: cp/typeck.c:4956 cp/typeck.c:4961 msgid "ISO C++ forbids casting to an array type `%T'" msgstr "" -#: cp/typeck.c:5290 +#: cp/typeck.c:4969 msgid "invalid cast to function type `%T'" msgstr "" -#: cp/typeck.c:5342 +#: cp/typeck.c:5021 msgid "cast from `%T' to `%T' discards qualifiers from pointer target type" msgstr "" -#: cp/typeck.c:5388 +#: cp/typeck.c:5067 msgid "cast from `%T' to `%T' increases required alignment of target type" msgstr "" -#: cp/typeck.c:5557 +#: cp/typeck.c:5235 msgid " in evaluation of `%Q(%#T, %#T)'" msgstr "" -#: cp/typeck.c:5599 +#: cp/typeck.c:5277 msgid "ISO C++ forbids cast to non-reference type used as lvalue" msgstr "" -#: cp/typeck.c:5670 +#: cp/typeck.c:5349 msgid "incompatible types in assignment of `%T' to `%T'" msgstr "" -#: cp/typeck.c:5677 +#: cp/typeck.c:5356 msgid "ISO C++ forbids assignment of arrays" msgstr "" -#: cp/typeck.c:5820 +#: cp/typeck.c:5499 msgid " in pointer to member function conversion" msgstr "" -#: cp/typeck.c:5828 +#: cp/typeck.c:5507 msgid " in pointer to member conversion" msgstr "" #. This is a reinterpret cast, we choose to do nothing. -#: cp/typeck.c:5839 cp/typeck.c:5858 +#: cp/typeck.c:5518 cp/typeck.c:5537 msgid "pointer to member cast via virtual base `%T' of `%T'" msgstr "" -#: cp/typeck.c:5862 +#: cp/typeck.c:5541 msgid "pointer to member conversion via virtual base `%T' of `%T'" msgstr "" -#: cp/typeck.c:5932 +#: cp/typeck.c:5611 msgid "invalid conversion to type `%T' from type `%T'" msgstr "" -#: cp/typeck.c:6097 +#: cp/typeck.c:5776 msgid "passing NULL used for non-pointer %s %P of `%D'" msgstr "" -#: cp/typeck.c:6100 +#: cp/typeck.c:5779 msgid "%s to non-pointer type `%T' from NULL" msgstr "" -#: cp/typeck.c:6108 +#: cp/typeck.c:5787 msgid "passing `%T' for %s %P of `%D'" msgstr "" -#: cp/typeck.c:6111 +#: cp/typeck.c:5790 msgid "%s to `%T' from `%T'" msgstr "" -#: cp/typeck.c:6121 +#: cp/typeck.c:5800 msgid "passing negative value `%E' for %s %P of `%D'" msgstr "" -#: cp/typeck.c:6124 +#: cp/typeck.c:5803 msgid "%s of negative value `%E' to `%T'" msgstr "" -#: cp/typeck.c:6211 +#: cp/typeck.c:5898 msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'" msgstr "" -#: cp/typeck.c:6214 +#: cp/typeck.c:5901 msgid "cannot convert `%T' to `%T' in %s" msgstr "" -#: cp/typeck.c:6301 cp/typeck.c:6303 +#: cp/typeck.c:5988 cp/typeck.c:5990 msgid "in passing argument %P of `%+D'" msgstr "" -#: cp/typeck.c:6417 +#: cp/typeck.c:6105 msgid "returning reference to temporary" msgstr "" -#: cp/typeck.c:6424 +#: cp/typeck.c:6112 msgid "reference to non-lvalue returned" msgstr "" -#: cp/typeck.c:6436 +#: cp/typeck.c:6124 msgid "reference to local variable `%D' returned" msgstr "" -#: cp/typeck.c:6439 +#: cp/typeck.c:6127 msgid "address of local variable `%D' returned" msgstr "" -#: cp/typeck.c:6470 +#: cp/typeck.c:6158 msgid "returning a value from a destructor" msgstr "" #. If a return statement appears in a handler of the #. function-try-block of a constructor, the program is ill-formed. -#: cp/typeck.c:6478 +#: cp/typeck.c:6166 msgid "cannot return from a handler of a function-try-block of a constructor" msgstr "" #. You can't return a value from a constructor. -#: cp/typeck.c:6481 +#: cp/typeck.c:6169 msgid "returning a value from a constructor" msgstr "" -#: cp/typeck.c:6498 +#: cp/typeck.c:6186 msgid "" "return-statement with no value, in function declared with a non-void return " "type" msgstr "" -#: cp/typeck.c:6514 +#: cp/typeck.c:6202 msgid "" "return-statement with a value, in function declared with a void return type" msgstr "" -#: cp/typeck.c:6535 +#: cp/typeck.c:6223 msgid "" "`operator new' must not return NULL unless it is declared `throw()' (or -" "fcheck-new is in effect)" @@ -17298,194 +17672,150 @@ msgstr "" msgid " since type `%T' has abstract virtual functions" msgstr "" -#: cp/typeck2.c:213 -msgid "invalid use of undefined type `%#T'" -msgstr "" - -#: cp/typeck2.c:214 -msgid "forward declaration of `%#T'" -msgstr "" - -#: cp/typeck2.c:218 -msgid "invalid use of `%T'" -msgstr "" - -#: cp/typeck2.c:232 -msgid "invalid use of member (did you forget the `&' ?)" -msgstr "" - -#: cp/typeck2.c:236 -msgid "invalid use of template type parameter" -msgstr "" - -#: cp/typeck2.c:243 -msgid "address of overloaded function with no contextual type information" -msgstr "" - -#: cp/typeck2.c:245 -msgid "overloaded function with no contextual type information" -msgstr "" - -#: cp/typeck2.c:247 -msgid "insufficient contextual information to determine type" -msgstr "" - -#: cp/typeck2.c:301 +#: cp/typeck2.c:331 msgid "constructor syntax used, but no constructor declared for type `%T'" msgstr "" -#: cp/typeck2.c:311 -msgid "initializer list construction invalid for derived class object `%D'" -msgstr "" - -#: cp/typeck2.c:313 -msgid "initializer list construction invalid for polymorphic class object `%D'" -msgstr "" - -#: cp/typeck2.c:316 cp/typeck2.c:322 cp/typeck2.c:328 -msgid "initializer list construction invalid for `%D'" -msgstr "" - -#: cp/typeck2.c:317 -msgid "due to the presence of a constructor" -msgstr "" - -#: cp/typeck2.c:323 cp/typeck2.c:329 -msgid "due to non-public access of member `%D'" -msgstr "" - -#: cp/typeck2.c:341 +#: cp/typeck2.c:342 msgid "comma expression used to initialize return value" msgstr "" -#: cp/typeck2.c:350 +#: cp/typeck2.c:351 msgid "cannot initialize arrays using this syntax" msgstr "" -#: cp/typeck2.c:412 +#: cp/typeck2.c:406 msgid "ISO C++ forbids non-constant aggregate initializer expressions" msgstr "" -#: cp/typeck2.c:498 +#: cp/typeck2.c:490 msgid "initializing array with parameter list" msgstr "" -#: cp/typeck2.c:554 +#: cp/typeck2.c:546 msgid "initializer for scalar variable requires one element" msgstr "" -#: cp/typeck2.c:561 +#: cp/typeck2.c:553 msgid "braces around scalar initializer for `%T'" msgstr "" -#: cp/typeck2.c:564 +#: cp/typeck2.c:556 msgid "ignoring extra initializers for `%T'" msgstr "" -#: cp/typeck2.c:576 +#: cp/typeck2.c:568 msgid "variable-sized object of type `%T' may not be initialized" msgstr "" -#: cp/typeck2.c:586 +#: cp/typeck2.c:578 msgid "subobject of type `%T' must be initialized by constructor, not by `%E'" msgstr "" -#: cp/typeck2.c:652 +#: cp/typeck2.c:644 msgid "aggregate has a partly bracketed initializer" msgstr "" -#: cp/typeck2.c:690 cp/typeck2.c:791 +#: cp/typeck2.c:682 cp/typeck2.c:786 msgid "non-trivial labeled initializers" msgstr "" -#: cp/typeck2.c:707 +#: cp/typeck2.c:699 msgid "non-empty initializer for array of empty elements" msgstr "" -#: cp/typeck2.c:757 +#: cp/typeck2.c:752 msgid "initializer list for object of class with virtual base classes" msgstr "" -#: cp/typeck2.c:763 +#: cp/typeck2.c:758 msgid "initializer list for object of class with base classes" msgstr "" -#: cp/typeck2.c:769 +#: cp/typeck2.c:764 msgid "initializer list for object using virtual functions" msgstr "" -#: cp/typeck2.c:832 cp/typeck2.c:849 +#: cp/typeck2.c:827 cp/typeck2.c:843 msgid "missing initializer for member `%D'" msgstr "" -#: cp/typeck2.c:837 +#: cp/typeck2.c:832 msgid "uninitialized const member `%D'" msgstr "" -#: cp/typeck2.c:840 +#: cp/typeck2.c:834 msgid "member `%D' with uninitialized const fields" msgstr "" -#: cp/typeck2.c:843 +#: cp/typeck2.c:837 msgid "member `%D' is uninitialized reference" msgstr "" -#: cp/typeck2.c:886 +#: cp/typeck2.c:883 msgid "index value instead of field name in union initializer" msgstr "" -#: cp/typeck2.c:898 +#: cp/typeck2.c:895 msgid "no field `%D' in union being initialized" msgstr "" -#: cp/typeck2.c:906 +#: cp/typeck2.c:903 msgid "union `%T' with no named members cannot be initialized" msgstr "" -#: cp/typeck2.c:942 +#: cp/typeck2.c:939 msgid "excess elements in aggregate initializer" msgstr "" -#: cp/typeck2.c:1054 +#: cp/typeck2.c:1053 msgid "circular pointer delegation detected" msgstr "" -#: cp/typeck2.c:1067 +#: cp/typeck2.c:1066 msgid "base operand of `->' has non-pointer type `%T'" msgstr "" -#: cp/typeck2.c:1081 +#: cp/typeck2.c:1080 msgid "result of `operator->()' yields non-pointer result" msgstr "" -#: cp/typeck2.c:1083 +#: cp/typeck2.c:1082 msgid "base operand of `->' is not a pointer" msgstr "" -#: cp/typeck2.c:1149 +#: cp/typeck2.c:1148 msgid "`%E' cannot be used as a member pointer, since it is of type `%T'" msgstr "" -#: cp/typeck2.c:1156 +#: cp/typeck2.c:1155 msgid "" "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'" msgstr "" -#: cp/typeck2.c:1165 +#: cp/typeck2.c:1164 msgid "member type `%T::' incompatible with object type `%T'" msgstr "" -#: cp/typeck2.c:1202 +#: cp/typeck2.c:1201 msgid "`%T' fails to be a typedef or built-in type" msgstr "" -#: cp/typeck2.c:1275 +#: cp/typeck2.c:1274 #, c-format msgid "ISO C++ forbids defining types within %s" msgstr "" +#: cp/typeck2.c:1399 +msgid "call to function `%D' which throws incomplete type `%#T'" +msgstr "" + +#: cp/typeck2.c:1402 +msgid "call to function which throws incomplete type `%#T'" +msgstr "" + #. XXX Not i18n clean. -#: cp/cp-tree.h:3874 +#: cp/cp-tree.h:3846 #, c-format msgid "%s is deprecated, please see the documentation for details" msgstr "" @@ -17652,134 +17982,134 @@ msgstr "" msgid "Don't announce deprecation of compiler features" msgstr "" -#: f/bad.c:386 +#: f/bad.c:387 msgid "note:" msgstr "" -#: f/bad.c:390 +#: f/bad.c:391 msgid "warning:" msgstr "" -#: f/bad.c:394 +#: f/bad.c:395 msgid "fatal:" msgstr "" -#: f/bad.c:436 +#: f/bad.c:437 msgid "(continued):" msgstr "" -#: f/bad.c:486 f/bad.c:504 +#: f/bad.c:487 f/bad.c:505 msgid "[REPORT BUG!!] %" msgstr "" -#: f/bad.c:493 f/bad.c:525 +#: f/bad.c:494 f/bad.c:526 msgid "[REPORT BUG!!]" msgstr "" -#: f/com.c:3130 +#: f/com.c:3132 #, no-c-format msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling" msgstr "" -#: f/com.c:11614 +#: f/com.c:11551 msgid "no INTEGER type can hold a pointer on this configuration" msgstr "" -#: f/com.c:11835 +#: f/com.c:11772 #, c-format msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide," msgstr "" -#: f/com.c:11837 +#: f/com.c:11774 #, c-format msgid "and pointers are %d bits wide, but g77 doesn't yet work" msgstr "" -#: f/com.c:11839 +#: f/com.c:11776 msgid "properly unless they all are 32 bits wide" msgstr "" -#: f/com.c:11840 +#: f/com.c:11777 msgid "Please keep this in mind before you report bugs." msgstr "" #. I/O will probably crash. -#: f/com.c:11848 +#: f/com.c:11785 #, c-format msgid "configuration: char * holds %d bits, but ftnlen only %d" msgstr "" #. ASSIGN 10 TO I will crash. -#: f/com.c:11857 +#: f/com.c:11794 #, c-format msgid "" "configuration: char * holds %d bits, but INTEGER only %d --\n" " ASSIGN statement might fail" msgstr "" -#: f/com.c:13691 +#: f/com.c:13609 msgid "In statement function" msgstr "" -#: f/com.c:13701 +#: f/com.c:13619 msgid "Outside of any program unit:\n" msgstr "" -#: f/com.c:15408 +#: f/com.c:15248 #, no-c-format msgid "%A from %B at %0%C" msgstr "" -#: f/com.c:15585 +#: f/com.c:15425 msgid "directory name must immediately follow -I" msgstr "" -#: f/com.c:15728 +#: f/com.c:15568 #, no-c-format msgid "At %0, INCLUDE file %A exists, but is not readable" msgstr "" -#: f/com.c:15763 +#: f/com.c:15603 #, no-c-format msgid "At %0, INCLUDE nesting too deep" msgstr "" -#: f/expr.c:9613 +#: f/expr.c:9614 #, no-c-format msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses" msgstr "" -#: f/expr.c:9663 +#: f/expr.c:9664 #, no-c-format msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses" msgstr "" -#: f/expr.c:10524 +#: f/expr.c:10525 #, no-c-format msgid "" "Use .EQV./.NEQV. instead of .EQ./.NE. at %0 for LOGICAL operands at %1 and %2" msgstr "" -#: f/expr.c:10895 +#: f/expr.c:10896 #, no-c-format msgid "Unsupported operand for ** at %1 -- converting to default INTEGER" msgstr "" -#: f/g77spec.c:256 +#: f/g77spec.c:255 #, c-format msgid "overflowed output arg list for `%s'" msgstr "" -#: f/g77spec.c:395 +#: f/g77spec.c:394 msgid "--driver no longer supported" msgstr "" -#: f/g77spec.c:408 +#: f/g77spec.c:407 #, c-format msgid "argument to `%s' missing" msgstr "" -#: f/g77spec.c:412 +#: f/g77spec.c:411 msgid "no input files; unwilling to write output files" msgstr "" @@ -17894,21 +18224,21 @@ msgstr "" msgid "INCLUDE at %0 not the only statement on the source line" msgstr "" -#: f/ste.c:1404 f/ste.c:1755 +#: f/ste.c:1400 f/ste.c:1747 msgid "ASSIGNed FORMAT specifier is too small" msgstr "" #. ~~~Someday handle CHARACTER*1, CHARACTER*N -#: f/ste.c:2636 +#: f/ste.c:2624 #, no-c-format msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry" msgstr "" -#: f/ste.c:2965 +#: f/ste.c:2953 msgid "ASSIGN to variable that is too small" msgstr "" -#: f/ste.c:2993 +#: f/ste.c:2981 msgid "ASSIGNed GOTO target variable is too small" msgstr "" @@ -17917,7 +18247,7 @@ msgstr "" msgid "Local adjustable symbol `%A' at %0" msgstr "" -#: f/target.c:2560 +#: f/target.c:2550 msgid "data initializer on host with different endianness" msgstr "" @@ -19242,226 +19572,226 @@ msgstr "" msgid "In anything" msgstr "" -#: java/check-init.c:915 +#: java/check-init.c:917 #, c-format msgid "internal error in check-init: tree code not implemented: %s" msgstr "" -#: java/check-init.c:988 +#: java/check-init.c:990 #, c-format msgid "final field '%s' may not have been initialized" msgstr "" -#: java/class.c:568 java/class.c:593 +#: java/class.c:539 java/class.c:564 msgid "internal error - too many interface type" msgstr "" -#: java/class.c:744 +#: java/class.c:677 msgid "bad method signature" msgstr "" -#: java/class.c:793 +#: java/class.c:726 msgid "misplaced ConstantValue attribute (not in any field)" msgstr "" -#: java/class.c:795 +#: java/class.c:728 #, c-format msgid "duplicate ConstantValue attribute for field '%s'" msgstr "" -#: java/class.c:806 +#: java/class.c:739 #, c-format msgid "ConstantValue attribute of field '%s' has wrong type" msgstr "" -#: java/class.c:1170 +#: java/class.c:1103 #, c-format msgid "field '%s' not found in class" msgstr "" -#: java/class.c:1432 +#: java/class.c:1365 msgid "abstract method in non-abstract class" msgstr "" -#: java/class.c:2138 +#: java/class.c:2067 #, c-format msgid "non-static method '%s' overrides static method" msgstr "" -#: java/decl.c:1509 +#: java/decl.c:1537 #, c-format msgid "In %s: overlapped variable and exception ranges at %d" msgstr "" -#: java/decl.c:1593 +#: java/decl.c:1618 msgid "bad type in parameter debug info" msgstr "" -#: java/decl.c:1603 +#: java/decl.c:1628 #, c-format msgid "bad PC range for debug info for local `%s'" msgstr "" -#: java/expr.c:549 +#: java/expr.c:530 msgid "stack underflow - dup* operation" msgstr "" -#: java/expr.c:1537 +#: java/expr.c:1536 #, c-format msgid "" "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'" msgstr "" -#: java/expr.c:1566 +#: java/expr.c:1565 #, c-format msgid "field `%s' not found" msgstr "" -#: java/expr.c:1721 +#: java/expr.c:1717 msgid "ret instruction not implemented" msgstr "" -#: java/expr.c:1858 +#: java/expr.c:1852 #, c-format msgid "method '%s' not found in class" msgstr "" -#: java/expr.c:2062 +#: java/expr.c:2055 #, c-format msgid "failed to find class '%s'" msgstr "" -#: java/expr.c:2074 +#: java/expr.c:2065 #, c-format msgid "class '%s' has no method named '%s' matching signature '%s'" msgstr "" -#: java/expr.c:2084 +#: java/expr.c:2075 msgid "invokestatic on non static method" msgstr "" -#: java/expr.c:2089 +#: java/expr.c:2080 msgid "invokestatic on abstract method" msgstr "" -#: java/expr.c:2097 +#: java/expr.c:2088 msgid "invoke[non-static] on static method" msgstr "" -#: java/expr.c:2382 +#: java/expr.c:2373 #, c-format msgid "missing field '%s' in '%s'" msgstr "" -#: java/expr.c:2388 +#: java/expr.c:2379 #, c-format msgid "mismatching signature for field '%s' in '%s'" msgstr "" -#: java/expr.c:2411 +#: java/expr.c:2402 #, c-format msgid "assignment to final field `%s' not in field's class" msgstr "" -#: java/expr.c:2416 +#: java/expr.c:2407 #, c-format msgid "assignment to final static field `%s' not in class initializer" msgstr "" -#: java/expr.c:2423 +#: java/expr.c:2414 #, c-format msgid "assignment to final field `%s' not in constructor" msgstr "" -#: java/expr.c:2664 +#: java/expr.c:2661 #, c-format msgid "can't expand %s" msgstr "" -#: java/expr.c:2840 +#: java/expr.c:2838 msgid "invalid PC in line number table" msgstr "" #. We've just reached the end of a region of dead code. -#: java/expr.c:2885 +#: java/expr.c:2883 #, c-format msgid "unreachable bytecode from %d to before %d" msgstr "" #. We've just reached the end of a region of dead code. -#: java/expr.c:2922 +#: java/expr.c:2920 #, c-format msgid "unreachable bytecode from %d to the end of the method" msgstr "" #. duplicate code from LOAD macro -#: java/expr.c:3236 +#: java/expr.c:3238 msgid "unrecogized wide sub-instruction" msgstr "" -#: java/jcf-io.c:410 +#: java/jcf-io.c:537 #, c-format msgid "" "source file for class `%s' is newer than its matching class file. Source " "file `%s' used instead" msgstr "" -#: java/jcf-parse.c:361 +#: java/jcf-parse.c:338 msgid "bad string constant" msgstr "" -#: java/jcf-parse.c:379 +#: java/jcf-parse.c:356 #, c-format msgid "bad value constant type %d, index %d" msgstr "" -#: java/jcf-parse.c:551 +#: java/jcf-parse.c:528 #, c-format msgid "can't reopen %s" msgstr "" -#: java/jcf-parse.c:556 +#: java/jcf-parse.c:533 #, c-format msgid "can't close %s" msgstr "" -#: java/jcf-parse.c:638 +#: java/jcf-parse.c:615 #, c-format msgid "cannot find file for class %s" msgstr "" -#: java/jcf-parse.c:650 +#: java/jcf-parse.c:627 msgid "not a valid Java .class file" msgstr "" -#: java/jcf-parse.c:653 +#: java/jcf-parse.c:630 msgid "error while parsing constant pool" msgstr "" -#: java/jcf-parse.c:656 +#: java/jcf-parse.c:633 #, c-format msgid "error in constant pool entry #%d\n" msgstr "" #. FIXME - where was first time -#: java/jcf-parse.c:668 +#: java/jcf-parse.c:645 #, c-format msgid "reading class %s for the second time from %s" msgstr "" -#: java/jcf-parse.c:686 +#: java/jcf-parse.c:663 msgid "error while parsing fields" msgstr "" -#: java/jcf-parse.c:689 +#: java/jcf-parse.c:666 msgid "error while parsing methods" msgstr "" -#: java/jcf-parse.c:692 +#: java/jcf-parse.c:669 msgid "error while parsing final attributes" msgstr "" -#: java/jcf-parse.c:706 +#: java/jcf-parse.c:683 #, c-format msgid "" "the `java.lang.Object' that was found in `%s' didn't have the special zero-" @@ -19470,99 +19800,104 @@ msgid "" "info page describing how to set the classpath" msgstr "" -#: java/jcf-parse.c:796 +#: java/jcf-parse.c:773 msgid "missing Code attribute" msgstr "" -#: java/jcf-parse.c:1032 +#: java/jcf-parse.c:1010 msgid "source file seen twice on command line and will be compiled only once" msgstr "" -#: java/jcf-parse.c:1048 +#: java/jcf-parse.c:1026 msgid "no input file specified" msgstr "" -#: java/jcf-parse.c:1077 +#: java/jcf-parse.c:1055 #, c-format msgid "can't close input file %s" msgstr "" -#: java/jcf-parse.c:1114 +#: java/jcf-parse.c:1092 #, c-format msgid "bad zip/jar file %s" msgstr "" -#: java/jcf-write.c:2636 +#: java/jcf-write.c:2641 #, c-format msgid "" "internal error in generate_bytecode_insn - tree code not implemented: %s" msgstr "" -#: java/jcf-write.c:2943 +#: java/jcf-write.c:2979 msgid "field initializer type mismatch" msgstr "" -#: java/jcf-write.c:3352 +#: java/jcf-write.c:3387 #, c-format msgid "can't create directory %s" msgstr "" -#: java/jv-scan.c:183 +#: java/jcf-write.c:3441 +#, c-format +msgid "can't create %s" +msgstr "" + +#: java/jv-scan.c:187 msgid "only one of `--print-main', `--list-class', and `--complexity' allowed" msgstr "" -#: java/jv-scan.c:186 +#: java/jv-scan.c:190 #, c-format msgid "can't open output file `%s'" msgstr "" -#: java/jv-scan.c:220 +#: java/jv-scan.c:224 #, c-format msgid "file not found `%s'" msgstr "" -#: java/jvspec.c:427 +#: java/jvspec.c:426 msgid "can't specify `-D' without `--main'\n" msgstr "" -#: java/jvspec.c:430 +#: java/jvspec.c:429 #, c-format msgid "`%s' is not a valid class name" msgstr "" -#: java/jvspec.c:436 -msgid "-R requires -o" +#: java/jvspec.c:435 +msgid "--resource requires -o" msgstr "" -#: java/jvspec.c:443 +#: java/jvspec.c:442 msgid "warning: already-compiled .class files ignored with -C" msgstr "" -#: java/jvspec.c:450 +#: java/jvspec.c:449 msgid "cannot specify both -C and -o" msgstr "" -#: java/jvspec.c:462 +#: java/jvspec.c:461 msgid "cannot create temporary file" msgstr "" -#: java/jvspec.c:490 +#: java/jvspec.c:489 msgid "using both @FILE with multiple files not implemented" msgstr "" -#: java/jvspec.c:548 +#: java/jvspec.c:538 msgid "cannot specify `main' class when not linking" msgstr "" -#: java/lang.c:487 +#: java/lang.c:543 msgid "can't do dependency tracking with input from stdin" msgstr "" -#: java/lang.c:503 +#: java/lang.c:559 msgid "couldn't determine target name for dependency tracking" msgstr "" -#: java/lex.c:308 +#: java/lex.c:303 #, c-format msgid "" "unknown encoding: `%s'\n" @@ -19577,268 +19912,266 @@ msgstr "" msgid "can't mangle %s" msgstr "" -#: java/mangle_name.c:145 java/mangle_name.c:217 +#: java/mangle_name.c:144 java/mangle_name.c:216 msgid "internal error - invalid Utf8 name" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:747 /var/repo/gcc/gcc/java/parse.y:785 -msgid "Missing name" +#: ../../gcc-cvs/gcc/java/parse-scan.y:881 ../../gcc-3cvs/gcc/java/parse.y:962 +#: ../../gcc-3cvs/gcc/java/parse.y:1303 ../../gcc-3cvs/gcc/java/parse.y:1364 +#: ../../gcc-3cvs/gcc/java/parse.y:1574 ../../gcc-3cvs/gcc/java/parse.y:1796 +#: ../../gcc-3cvs/gcc/java/parse.y:1805 ../../gcc-3cvs/gcc/java/parse.y:1816 +#: ../../gcc-3cvs/gcc/java/parse.y:1827 ../../gcc-3cvs/gcc/java/parse.y:1839 +#: ../../gcc-3cvs/gcc/java/parse.y:1854 ../../gcc-3cvs/gcc/java/parse.y:1871 +#: ../../gcc-3cvs/gcc/java/parse.y:1873 ../../gcc-3cvs/gcc/java/parse.y:1945 +#: ../../gcc-3cvs/gcc/java/parse.y:2116 ../../gcc-3cvs/gcc/java/parse.y:2178 +#: ../../gcc-3cvs/gcc/java/parse.y:2330 ../../gcc-3cvs/gcc/java/parse.y:2342 +#: ../../gcc-3cvs/gcc/java/parse.y:2349 ../../gcc-3cvs/gcc/java/parse.y:2356 +#: ../../gcc-3cvs/gcc/java/parse.y:2367 ../../gcc-3cvs/gcc/java/parse.y:2369 +#: ../../gcc-3cvs/gcc/java/parse.y:2407 ../../gcc-3cvs/gcc/java/parse.y:2409 +#: ../../gcc-3cvs/gcc/java/parse.y:2411 ../../gcc-3cvs/gcc/java/parse.y:2432 +#: ../../gcc-3cvs/gcc/java/parse.y:2434 ../../gcc-3cvs/gcc/java/parse.y:2436 +#: ../../gcc-3cvs/gcc/java/parse.y:2452 ../../gcc-3cvs/gcc/java/parse.y:2454 +#: ../../gcc-3cvs/gcc/java/parse.y:2475 ../../gcc-3cvs/gcc/java/parse.y:2477 +#: ../../gcc-3cvs/gcc/java/parse.y:2479 ../../gcc-3cvs/gcc/java/parse.y:2507 +#: ../../gcc-3cvs/gcc/java/parse.y:2509 ../../gcc-3cvs/gcc/java/parse.y:2511 +#: ../../gcc-3cvs/gcc/java/parse.y:2513 ../../gcc-3cvs/gcc/java/parse.y:2531 +#: ../../gcc-3cvs/gcc/java/parse.y:2533 ../../gcc-3cvs/gcc/java/parse.y:2544 +#: ../../gcc-3cvs/gcc/java/parse.y:2555 ../../gcc-3cvs/gcc/java/parse.y:2566 +#: ../../gcc-3cvs/gcc/java/parse.y:2577 ../../gcc-3cvs/gcc/java/parse.y:2588 +#: ../../gcc-3cvs/gcc/java/parse.y:2601 ../../gcc-3cvs/gcc/java/parse.y:2605 +#: ../../gcc-3cvs/gcc/java/parse.y:2607 ../../gcc-3cvs/gcc/java/parse.y:2620 +msgid "Missing term" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:749 /var/repo/gcc/gcc/java/parse.y:787 -#: /var/repo/gcc/gcc/java/parse.y:812 /var/repo/gcc/gcc/java/parse.y:996 -#: /var/repo/gcc/gcc/java/parse.y:1343 /var/repo/gcc/gcc/java/parse.y:1554 -#: /var/repo/gcc/gcc/java/parse.y:1556 /var/repo/gcc/gcc/java/parse.y:1785 -#: /var/repo/gcc/gcc/java/parse.y:1811 /var/repo/gcc/gcc/java/parse.y:1822 -#: /var/repo/gcc/gcc/java/parse.y:1833 /var/repo/gcc/gcc/java/parse.y:1845 +#: ../../gcc-cvs/gcc/java/parse-scan.y:883 ../../gcc-3cvs/gcc/java/parse.y:734 +#: ../../gcc-3cvs/gcc/java/parse.y:772 ../../gcc-3cvs/gcc/java/parse.y:797 +#: ../../gcc-3cvs/gcc/java/parse.y:983 ../../gcc-3cvs/gcc/java/parse.y:1338 +#: ../../gcc-3cvs/gcc/java/parse.y:1550 ../../gcc-3cvs/gcc/java/parse.y:1552 +#: ../../gcc-3cvs/gcc/java/parse.y:1781 ../../gcc-3cvs/gcc/java/parse.y:1807 +#: ../../gcc-3cvs/gcc/java/parse.y:1818 ../../gcc-3cvs/gcc/java/parse.y:1829 +#: ../../gcc-3cvs/gcc/java/parse.y:1841 ../../gcc-3cvs/gcc/java/parse.y:1856 msgid "';' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:810 +#: ../../gcc-3cvs/gcc/java/parse.y:732 ../../gcc-3cvs/gcc/java/parse.y:770 +msgid "Missing name" +msgstr "" + +#: ../../gcc-3cvs/gcc/java/parse.y:795 msgid "'*' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:824 +#: ../../gcc-3cvs/gcc/java/parse.y:809 msgid "Class or interface declaration expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:859 /var/repo/gcc/gcc/java/parse.y:861 +#: ../../gcc-3cvs/gcc/java/parse.y:846 ../../gcc-3cvs/gcc/java/parse.y:848 msgid "Missing class name" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:864 /var/repo/gcc/gcc/java/parse.y:868 -#: /var/repo/gcc/gcc/java/parse.y:876 /var/repo/gcc/gcc/java/parse.y:1041 -#: /var/repo/gcc/gcc/java/parse.y:1289 /var/repo/gcc/gcc/java/parse.y:1291 -#: /var/repo/gcc/gcc/java/parse.y:1620 /var/repo/gcc/gcc/java/parse.y:1856 -#: /var/repo/gcc/gcc/java/parse.y:1888 /var/repo/gcc/gcc/java/parse.y:1940 +#: ../../gcc-3cvs/gcc/java/parse.y:851 ../../gcc-3cvs/gcc/java/parse.y:855 +#: ../../gcc-3cvs/gcc/java/parse.y:863 ../../gcc-3cvs/gcc/java/parse.y:1023 +#: ../../gcc-3cvs/gcc/java/parse.y:1284 ../../gcc-3cvs/gcc/java/parse.y:1286 +#: ../../gcc-3cvs/gcc/java/parse.y:1616 ../../gcc-3cvs/gcc/java/parse.y:1867 +#: ../../gcc-3cvs/gcc/java/parse.y:1899 ../../gcc-3cvs/gcc/java/parse.y:1952 msgid "'{' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:878 +#: ../../gcc-3cvs/gcc/java/parse.y:865 msgid "Missing super class name" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:888 /var/repo/gcc/gcc/java/parse.y:904 +#: ../../gcc-3cvs/gcc/java/parse.y:875 ../../gcc-3cvs/gcc/java/parse.y:891 msgid "Missing interface name" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:975 /var/repo/gcc/gcc/java/parse.y:1308 -#: /var/repo/gcc/gcc/java/parse.y:1369 /var/repo/gcc/gcc/java/parse.y:1578 -#: /var/repo/gcc/gcc/java/parse.y:1800 /var/repo/gcc/gcc/java/parse.y:1809 -#: /var/repo/gcc/gcc/java/parse.y:1820 /var/repo/gcc/gcc/java/parse.y:1831 -#: /var/repo/gcc/gcc/java/parse.y:1843 /var/repo/gcc/gcc/java/parse.y:1860 -#: /var/repo/gcc/gcc/java/parse.y:1862 /var/repo/gcc/gcc/java/parse.y:1933 -#: /var/repo/gcc/gcc/java/parse.y:2104 /var/repo/gcc/gcc/java/parse.y:2166 -#: /var/repo/gcc/gcc/java/parse.y:2318 /var/repo/gcc/gcc/java/parse.y:2330 -#: /var/repo/gcc/gcc/java/parse.y:2337 /var/repo/gcc/gcc/java/parse.y:2344 -#: /var/repo/gcc/gcc/java/parse.y:2355 /var/repo/gcc/gcc/java/parse.y:2357 -#: /var/repo/gcc/gcc/java/parse.y:2395 /var/repo/gcc/gcc/java/parse.y:2397 -#: /var/repo/gcc/gcc/java/parse.y:2399 /var/repo/gcc/gcc/java/parse.y:2420 -#: /var/repo/gcc/gcc/java/parse.y:2422 /var/repo/gcc/gcc/java/parse.y:2424 -#: /var/repo/gcc/gcc/java/parse.y:2440 /var/repo/gcc/gcc/java/parse.y:2442 -#: /var/repo/gcc/gcc/java/parse.y:2463 /var/repo/gcc/gcc/java/parse.y:2465 -#: /var/repo/gcc/gcc/java/parse.y:2467 /var/repo/gcc/gcc/java/parse.y:2495 -#: /var/repo/gcc/gcc/java/parse.y:2497 /var/repo/gcc/gcc/java/parse.y:2499 -#: /var/repo/gcc/gcc/java/parse.y:2501 /var/repo/gcc/gcc/java/parse.y:2519 -#: /var/repo/gcc/gcc/java/parse.y:2521 /var/repo/gcc/gcc/java/parse.y:2532 -#: /var/repo/gcc/gcc/java/parse.y:2543 /var/repo/gcc/gcc/java/parse.y:2554 -#: /var/repo/gcc/gcc/java/parse.y:2565 /var/repo/gcc/gcc/java/parse.y:2576 -#: /var/repo/gcc/gcc/java/parse.y:2589 /var/repo/gcc/gcc/java/parse.y:2593 -#: /var/repo/gcc/gcc/java/parse.y:2595 /var/repo/gcc/gcc/java/parse.y:2608 -msgid "Missing term" -msgstr "" - -#: /var/repo/gcc/gcc/java/parse.y:990 +#: ../../gcc-3cvs/gcc/java/parse.y:977 msgid "Missing variable initializer" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1007 +#: ../../gcc-3cvs/gcc/java/parse.y:994 msgid "Invalid declaration" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1013 -msgid "Can't specify array dimension in a declaration" -msgstr "" - -#: /var/repo/gcc/gcc/java/parse.y:1015 /var/repo/gcc/gcc/java/parse.y:1091 -#: /var/repo/gcc/gcc/java/parse.y:2141 /var/repo/gcc/gcc/java/parse.y:2163 -#: /var/repo/gcc/gcc/java/parse.y:2167 /var/repo/gcc/gcc/java/parse.y:2202 -#: /var/repo/gcc/gcc/java/parse.y:2279 /var/repo/gcc/gcc/java/parse.y:2289 +#: ../../gcc-3cvs/gcc/java/parse.y:997 ../../gcc-3cvs/gcc/java/parse.y:1082 +#: ../../gcc-3cvs/gcc/java/parse.y:2153 ../../gcc-3cvs/gcc/java/parse.y:2175 +#: ../../gcc-3cvs/gcc/java/parse.y:2179 ../../gcc-3cvs/gcc/java/parse.y:2214 +#: ../../gcc-3cvs/gcc/java/parse.y:2291 ../../gcc-3cvs/gcc/java/parse.y:2301 msgid "']' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1019 +#: ../../gcc-3cvs/gcc/java/parse.y:1001 msgid "Unbalanced ']'" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1055 +#: ../../gcc-3cvs/gcc/java/parse.y:1037 msgid "Invalid method declaration, method name required" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1061 /var/repo/gcc/gcc/java/parse.y:1063 -#: /var/repo/gcc/gcc/java/parse.y:2024 +#: ../../gcc-3cvs/gcc/java/parse.y:1042 ../../gcc-3cvs/gcc/java/parse.y:1047 +#: ../../gcc-3cvs/gcc/java/parse.y:1052 ../../gcc-3cvs/gcc/java/parse.y:2036 msgid "Identifier expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1066 +#: ../../gcc-3cvs/gcc/java/parse.y:1057 msgid "Invalid method declaration, return type required" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1089 /var/repo/gcc/gcc/java/parse.y:1534 -#: /var/repo/gcc/gcc/java/parse.y:1541 /var/repo/gcc/gcc/java/parse.y:1550 -#: /var/repo/gcc/gcc/java/parse.y:1552 /var/repo/gcc/gcc/java/parse.y:1580 -#: /var/repo/gcc/gcc/java/parse.y:1688 /var/repo/gcc/gcc/java/parse.y:1969 -#: /var/repo/gcc/gcc/java/parse.y:2022 +#: ../../gcc-3cvs/gcc/java/parse.y:1080 ../../gcc-3cvs/gcc/java/parse.y:1530 +#: ../../gcc-3cvs/gcc/java/parse.y:1537 ../../gcc-3cvs/gcc/java/parse.y:1546 +#: ../../gcc-3cvs/gcc/java/parse.y:1548 ../../gcc-3cvs/gcc/java/parse.y:1576 +#: ../../gcc-3cvs/gcc/java/parse.y:1684 ../../gcc-3cvs/gcc/java/parse.y:1981 +#: ../../gcc-3cvs/gcc/java/parse.y:2034 msgid "')' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1105 +#: ../../gcc-3cvs/gcc/java/parse.y:1096 msgid "Missing formal parameter term" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1120 /var/repo/gcc/gcc/java/parse.y:1125 +#: ../../gcc-3cvs/gcc/java/parse.y:1111 ../../gcc-3cvs/gcc/java/parse.y:1116 msgid "Missing identifier" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1145 /var/repo/gcc/gcc/java/parse.y:1154 +#: ../../gcc-3cvs/gcc/java/parse.y:1136 ../../gcc-3cvs/gcc/java/parse.y:1145 msgid "Missing class type term" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1306 +#: ../../gcc-3cvs/gcc/java/parse.y:1301 msgid "Invalid interface type" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1498 /var/repo/gcc/gcc/java/parse.y:1667 -#: /var/repo/gcc/gcc/java/parse.y:1669 +#: ../../gcc-3cvs/gcc/java/parse.y:1494 ../../gcc-3cvs/gcc/java/parse.y:1663 +#: ../../gcc-3cvs/gcc/java/parse.y:1665 msgid "':' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1520 /var/repo/gcc/gcc/java/parse.y:1525 -#: /var/repo/gcc/gcc/java/parse.y:1530 +#: ../../gcc-3cvs/gcc/java/parse.y:1516 ../../gcc-3cvs/gcc/java/parse.y:1521 +#: ../../gcc-3cvs/gcc/java/parse.y:1526 msgid "Invalid expression statement" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1548 /var/repo/gcc/gcc/java/parse.y:1576 -#: /var/repo/gcc/gcc/java/parse.y:1616 /var/repo/gcc/gcc/java/parse.y:1684 -#: /var/repo/gcc/gcc/java/parse.y:1752 /var/repo/gcc/gcc/java/parse.y:1858 -#: /var/repo/gcc/gcc/java/parse.y:1926 /var/repo/gcc/gcc/java/parse.y:2016 -#: /var/repo/gcc/gcc/java/parse.y:2018 /var/repo/gcc/gcc/java/parse.y:2026 -#: /var/repo/gcc/gcc/java/parse.y:2262 /var/repo/gcc/gcc/java/parse.y:2264 +#: ../../gcc-3cvs/gcc/java/parse.y:1544 ../../gcc-3cvs/gcc/java/parse.y:1572 +#: ../../gcc-3cvs/gcc/java/parse.y:1612 ../../gcc-3cvs/gcc/java/parse.y:1680 +#: ../../gcc-3cvs/gcc/java/parse.y:1748 ../../gcc-3cvs/gcc/java/parse.y:1869 +#: ../../gcc-3cvs/gcc/java/parse.y:1938 ../../gcc-3cvs/gcc/java/parse.y:2028 +#: ../../gcc-3cvs/gcc/java/parse.y:2030 ../../gcc-3cvs/gcc/java/parse.y:2038 +#: ../../gcc-3cvs/gcc/java/parse.y:2274 ../../gcc-3cvs/gcc/java/parse.y:2276 msgid "'(' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1618 +#: ../../gcc-3cvs/gcc/java/parse.y:1614 msgid "Missing term or ')'" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1665 +#: ../../gcc-3cvs/gcc/java/parse.y:1661 msgid "Missing or invalid constant expression" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1686 +#: ../../gcc-3cvs/gcc/java/parse.y:1682 msgid "Missing term and ')' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1725 +#: ../../gcc-3cvs/gcc/java/parse.y:1721 msgid "Invalid control expression" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1727 /var/repo/gcc/gcc/java/parse.y:1729 +#: ../../gcc-3cvs/gcc/java/parse.y:1723 ../../gcc-3cvs/gcc/java/parse.y:1725 msgid "Invalid update expression" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1754 +#: ../../gcc-3cvs/gcc/java/parse.y:1750 msgid "Invalid init statement" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1929 +#: ../../gcc-3cvs/gcc/java/parse.y:1941 msgid "Missing term or ')' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1971 +#: ../../gcc-3cvs/gcc/java/parse.y:1983 msgid "'class' or 'this' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:1973 /var/repo/gcc/gcc/java/parse.y:1975 +#: ../../gcc-3cvs/gcc/java/parse.y:1985 ../../gcc-3cvs/gcc/java/parse.y:1987 msgid "'class' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2020 +#: ../../gcc-3cvs/gcc/java/parse.y:2032 msgid "')' or term expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2139 +#: ../../gcc-3cvs/gcc/java/parse.y:2151 msgid "'[' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2217 +#: ../../gcc-3cvs/gcc/java/parse.y:2229 msgid "Field expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2274 /var/repo/gcc/gcc/java/parse.y:2284 +#: ../../gcc-3cvs/gcc/java/parse.y:2286 ../../gcc-3cvs/gcc/java/parse.y:2296 msgid "Missing term and ']' expected" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2388 +#: ../../gcc-3cvs/gcc/java/parse.y:2400 msgid "']' expected, invalid type expression" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2391 +#: ../../gcc-3cvs/gcc/java/parse.y:2403 msgid "Invalid type expression" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2503 +#: ../../gcc-3cvs/gcc/java/parse.y:2515 msgid "Invalid reference type" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2981 +#: ../../gcc-3cvs/gcc/java/parse.y:2993 msgid "Constructor invocation must be first thing in a constructor" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2983 +#: ../../gcc-3cvs/gcc/java/parse.y:2995 msgid "Only constructors can invoke constructors" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:2992 +#: ../../gcc-3cvs/gcc/java/parse.y:3004 #, c-format msgid ": `%s' JDK1.1(TM) feature" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:3052 /var/repo/gcc/gcc/java/parse.y:3054 +#: ../../gcc-3cvs/gcc/java/parse.y:3064 ../../gcc-3cvs/gcc/java/parse.y:3066 #, c-format msgid "" "%s.\n" "%s" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:6833 +#: ../../gcc-3cvs/gcc/java/parse.y:6867 #, c-format msgid "malformed .zip archive in CLASSPATH: %s" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:6904 +#: ../../gcc-3cvs/gcc/java/parse.y:6938 #, c-format msgid "" "Can't find default package `%s'. Check the CLASSPATH environment variable " "and the access to the archives" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:12228 +#: ../../gcc-3cvs/gcc/java/parse.y:12266 #, c-format msgid "missing static field `%s'" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:12233 +#: ../../gcc-3cvs/gcc/java/parse.y:12271 #, c-format msgid "not a static field `%s'" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:12276 +#: ../../gcc-3cvs/gcc/java/parse.y:12314 #, c-format msgid "No case for %s" msgstr "" -#: /var/repo/gcc/gcc/java/parse.y:13122 +#: ../../gcc-3cvs/gcc/java/parse.y:13240 #, c-format msgid "unregistered operator %s" msgstr "" @@ -19847,16 +20180,20 @@ msgstr "" msgid "junk at end of signature string" msgstr "" -#: java/verify.c:480 +#: java/verify.c:479 msgid "bad pc in exception_table" msgstr "" -#: java/verify.c:1392 +#: java/verify.c:485 +msgid "exception handler inside code that is being protected" +msgstr "" + +#: java/verify.c:1395 #, c-format msgid "unknown opcode %d@pc=%d during verification" msgstr "" -#: java/verify.c:1462 java/verify.c:1475 java/verify.c:1479 +#: java/verify.c:1465 java/verify.c:1478 java/verify.c:1482 #, c-format msgid "verification error at PC=%d" msgstr "" @@ -19925,122 +20262,132 @@ msgstr "" msgid "Use offset tables for virtual method calls" msgstr "" -#: objc/objc-act.c:567 -msgid "no class name specified as argument to -fconstant-string-class" -msgstr "" - -#: objc/objc-act.c:718 +#: objc/objc-act.c:651 #, c-format msgid "object does not conform to the `%s' protocol" msgstr "" -#: objc/objc-act.c:762 +#: objc/objc-act.c:737 objc/objc-act.c:810 #, c-format msgid "class `%s' does not implement the `%s' protocol" msgstr "" -#: objc/objc-act.c:843 +#: objc/objc-act.c:914 #, c-format msgid "`%s' cannot be statically allocated" msgstr "" -#: objc/objc-act.c:900 +#: objc/objc-act.c:963 #, c-format msgid "unexpected type for `id' (%s)" msgstr "" -#: objc/objc-act.c:905 +#: objc/objc-act.c:968 msgid "undefined type `id', please import <objc/objc.h>" msgstr "" -#: objc/objc-act.c:957 +#: objc/objc-act.c:1019 #, c-format msgid "protocol `%s' has circular dependency" msgstr "" -#: objc/objc-act.c:979 objc/objc-act.c:5187 +#: objc/objc-act.c:1041 objc/objc-act.c:5301 #, c-format msgid "cannot find protocol declaration for `%s'" msgstr "" -#: objc/objc-act.c:1237 objc/objc-act.c:5705 objc/objc-act.c:6035 -#: objc/objc-act.c:6084 objc/objc-act.c:6120 objc-parse.y:1764 +#: objc/objc-act.c:1289 objc/objc-act.c:5877 objc/objc-act.c:6195 +#: objc/objc-act.c:6244 objc/objc-act.c:6280 objc-parse.y:1800 #, c-format msgid "cannot find interface declaration for `%s'" msgstr "" -#: objc/objc-act.c:1262 +#: objc/objc-act.c:1328 #, c-format msgid "cannot find reference tag for class `%s'" msgstr "" -#: objc/objc-act.c:2272 +#: objc/objc-act.c:2050 +#, c-format +msgid "creating selector for non existant method %s" +msgstr "" + +#: objc/objc-act.c:2364 #, c-format msgid "cannot find class `%s'" msgstr "" -#: objc/objc-act.c:2274 +#: objc/objc-act.c:2366 #, c-format msgid "class `%s' already exists" msgstr "" #. fatal did not work with 2 args...should fix -#: objc/objc-act.c:2398 +#: objc/objc-act.c:2473 #, c-format msgid "cannot find interface declaration for `%s', superclass of `%s'" msgstr "" -#: objc/objc-act.c:2405 +#: objc/objc-act.c:2480 #, c-format msgid "circular inheritance in interface declaration for `%s'" msgstr "" -#: objc/objc-act.c:3458 objc/objc-act.c:3475 +#: objc/objc-act.c:3566 objc/objc-act.c:3583 msgid "inconsistent instance variable specification" msgstr "" -#: objc/objc-act.c:4668 +#: objc/objc-act.c:4580 +msgid "can not use an object as parameter to a method\n" +msgstr "" + +#: objc/objc-act.c:4780 #, c-format msgid "multiple declarations for method `%s'" msgstr "" -#: objc/objc-act.c:4834 +#: objc/objc-act.c:4946 #, c-format msgid "invalid receiver type `%s'" msgstr "" -#: objc/objc-act.c:4865 objc/objc-act.c:4891 objc/objc-act.c:4939 +#: objc/objc-act.c:4977 objc/objc-act.c:5003 objc/objc-act.c:5051 #, c-format msgid "`%s' does not respond to `%s'" msgstr "" -#: objc/objc-act.c:4871 objc/objc-act.c:7155 +#: objc/objc-act.c:4983 objc/objc-act.c:7318 #, c-format msgid "no super class declared in interface for `%s'" msgstr "" -#: objc/objc-act.c:4969 +#: objc/objc-act.c:5081 msgid "cannot find class (factory) method" msgstr "" -#: objc/objc-act.c:4970 objc/objc-act.c:5014 +#: objc/objc-act.c:5082 objc/objc-act.c:5126 #, c-format msgid "return type for `%s' defaults to id" msgstr "" -#: objc/objc-act.c:4987 +#: objc/objc-act.c:5099 #, c-format msgid "method `%s' not implemented by protocol" msgstr "" -#: objc/objc-act.c:4996 +#: objc/objc-act.c:5108 msgid "return type defaults to id" msgstr "" -#: objc/objc-act.c:5013 +#: objc/objc-act.c:5125 msgid "cannot find method" msgstr "" +#: objc/objc-act.c:5399 +#, c-format +msgid "undeclared selector `%s'" +msgstr "" + #. Historically, a class method that produced objects (factory #. method) would assign `self' to the instance that it #. allocated. This would effectively turn the class method into @@ -20050,108 +20397,108 @@ msgstr "" #. to an instance variable. It's better to catch the cases #. where this is done unknowingly than to support the above #. paradigm. -#: objc/objc-act.c:5256 +#: objc/objc-act.c:5443 #, c-format msgid "instance variable `%s' accessed in class method" msgstr "" -#: objc/objc-act.c:5506 +#: objc/objc-act.c:5678 #, c-format msgid "duplicate definition of class method `%s'" msgstr "" -#: objc/objc-act.c:5512 +#: objc/objc-act.c:5684 #, c-format msgid "duplicate declaration of class method `%s'" msgstr "" -#: objc/objc-act.c:5548 +#: objc/objc-act.c:5720 #, c-format msgid "duplicate definition of instance method `%s'" msgstr "" -#: objc/objc-act.c:5554 +#: objc/objc-act.c:5726 #, c-format msgid "duplicate declaration of instance method `%s'" msgstr "" -#: objc/objc-act.c:5594 +#: objc/objc-act.c:5766 #, c-format msgid "duplicate interface declaration for category `%s(%s)'" msgstr "" -#: objc/objc-act.c:5680 +#: objc/objc-act.c:5852 #, c-format msgid "instance variable `%s' is declared private" msgstr "" -#: objc/objc-act.c:5727 +#: objc/objc-act.c:5899 #, c-format msgid "instance variable `%s' is declared %s" msgstr "" -#: objc/objc-act.c:5737 +#: objc/objc-act.c:5909 msgid "static access to object of type `id'" msgstr "" -#: objc/objc-act.c:5774 objc/objc-act.c:5867 +#: objc/objc-act.c:5934 objc/objc-act.c:6027 #, c-format msgid "incomplete implementation of class `%s'" msgstr "" -#: objc/objc-act.c:5778 objc/objc-act.c:5872 +#: objc/objc-act.c:5938 objc/objc-act.c:6032 #, c-format msgid "incomplete implementation of category `%s'" msgstr "" -#: objc/objc-act.c:5783 objc/objc-act.c:5877 +#: objc/objc-act.c:5943 objc/objc-act.c:6037 #, c-format msgid "method definition for `%c%s' not found" msgstr "" -#: objc/objc-act.c:5921 +#: objc/objc-act.c:6081 #, c-format msgid "%s `%s' does not fully implement the `%s' protocol" msgstr "" -#: objc/objc-act.c:5979 objc/objc-act.c:8060 +#: objc/objc-act.c:6139 objc/objc-act.c:8249 msgid "`@end' missing in implementation context" msgstr "" -#: objc/objc-act.c:6007 +#: objc/objc-act.c:6167 #, c-format msgid "reimplementation of class `%s'" msgstr "" -#: objc/objc-act.c:6049 +#: objc/objc-act.c:6209 #, c-format msgid "conflicting super class name `%s'" msgstr "" -#: objc/objc-act.c:6064 +#: objc/objc-act.c:6224 #, c-format msgid "duplicate interface declaration for class `%s'" msgstr "" -#: objc/objc-act.c:6346 +#: objc/objc-act.c:6506 #, c-format msgid "duplicate declaration for protocol `%s'" msgstr "" -#: objc/objc-act.c:7196 +#: objc/objc-act.c:7363 msgid "[super ...] must appear in a method context" msgstr "" -#: objc/objc-act.c:8162 objc/objc-act.c:8178 +#: objc/objc-act.c:8354 objc/objc-act.c:8370 #, c-format msgid "potential selector conflict for method `%s'" msgstr "" -#: objc-parse.y:2617 +#: objc-parse.y:2656 msgid "`@end' must appear in an implementation context" msgstr "" -#: objc-parse.y:2891 +#: objc-parse.y:2932 msgid "method definition not in class context" msgstr "" @@ -20183,87 +20530,105 @@ msgstr "" msgid "Specify the name of the class for constant strings" msgstr "" -#: config/nextstep.h:160 config/nextstep.h:163 -msgid "-p profiling is no longer supported. Use -pg instead" +#. This is the contribution to the `lang_options' array in gcc.c for +#. treelang. +#: treelang/lang-options.h:26 +msgid "(debug) trace parsing process" msgstr "" -#: config/arm/arm.h:211 -msgid "-mapcs-26 and -mapcs-32 may not be used together" +#: treelang/lang-options.h:27 +msgid "(debug) trace lexical analysis" msgstr "" -#: config/arm/arm.h:223 -msgid "-msoft-float and -mhard_float may not be used together" +#: config/darwin.h:212 +msgid "-current_version only allowed with -dynamiclib" msgstr "" -#: config/arm/arm.h:234 -msgid "-mbig-endian and -mlittle-endian may not be used together" +#: config/darwin.h:215 +msgid "-install_name only allowed with -dynamiclib" msgstr "" -#: config/arm/arm.h:252 -msgid "incompatible interworking options" +#: config/darwin.h:220 +msgid "-bundle not allowed with -dynamiclib" msgstr "" -#: config/sparc/freebsd.h:31 config/ia64/freebsd.h:23 -#: config/alpha/freebsd.h:35 config/i386/freebsd-aout.h:223 -msgid "`-p' not supported; use `-pg' and gprof(1)" +#: config/darwin.h:221 +msgid "-bundle_loader not allowed with -dynamiclib" msgstr "" -#: config/sparc/linux64.h:254 config/sparc/linux64.h:265 -#: config/sparc/netbsd-elf.h:153 config/sparc/netbsd-elf.h:172 -#: config/sparc/sol2-bi.h:238 config/sparc/sol2-bi.h:248 -msgid "may not use both -m32 and -m64" +#: config/darwin.h:222 +msgid "-client_name not allowed with -dynamiclib" msgstr "" -#: config/mcore/mcore.h:60 -msgid "choose either big or little endian, not both" +#: config/darwin.h:225 +msgid "-force_cpusubtype_ALL not allowed with -dynamiclib" msgstr "" -#: config/mcore/mcore.h:63 -msgid "choose either m340 or m210 not both" +#: config/darwin.h:226 +msgid "-force_flat_namespace not allowed with -dynamiclib" msgstr "" -#: config/mcore/mcore.h:64 -msgid "the m210 does not have little endian support" +#: config/darwin.h:228 +msgid "-keep_private_externs not allowed with -dynamiclib" msgstr "" -#: gcc.c:673 f/lang-specs.h:35 +#: config/darwin.h:229 +msgid "-private_bundle not allowed with -dynamiclib" +msgstr "" + +#: f/lang-specs.h:38 gcc.c:689 msgid "GNU C does not support -C without using -E" msgstr "" -#: gcc.c:674 f/lang-specs.h:36 +#: f/lang-specs.h:39 gcc.c:690 msgid "GNU C does not support -CC without using -E" msgstr "" -#: gcc.c:701 java/jvspec.c:77 ada/lang-specs.h:38 -msgid "-pg and -fomit-frame-pointer are incompatible" +#: config/sparc/sol2-bi.h:168 config/sparc/sol2-bi.h:178 +#: config/sparc/linux64.h:197 config/sparc/linux64.h:208 +#: config/sparc/netbsd-elf.h:163 config/sparc/netbsd-elf.h:182 +msgid "may not use both -m32 and -m64" msgstr "" -#: gcc.c:846 -msgid "-E required when input is from standard input" +#: config/ia64/freebsd.h:23 config/sparc/freebsd.h:33 +#: config/i386/freebsd-aout.h:203 config/alpha/freebsd.h:42 +msgid "`-p' not supported; use `-pg' and gprof(1)" msgstr "" -#: gcc.c:850 -msgid "compilation of header file requested" +#: config/vax/vax.h:50 config/vax/vax.h:51 +msgid "profiling not supported with -mg\n" msgstr "" -#: config/mips/r3900.h:36 config/mips/r3900.h:42 -msgid "-mhard-float not supported" +#: config/mips/mips.h:954 +msgid "-pipe is not supported" msgstr "" -#: config/mips/r3900.h:38 config/mips/r3900.h:44 -msgid "-msingle-float and -msoft-float can not both be specified" +#: config/mips/mips.h:1147 config/arc/arc.h:63 +msgid "may not use both -EB and -EL" msgstr "" -#: config/i386/cygwin.h:106 +#: java/jvspec.c:77 gcc.c:716 ada/lang-specs.h:38 +msgid "-pg and -fomit-frame-pointer are incompatible" +msgstr "" + +#: config/rs6000/darwin.h:62 +msgid " conflicting code gen style switches are used" +msgstr "" + +#: config/i386/cygwin.h:115 msgid "mno-cygwin and mno-win32 are not compatible" msgstr "" -#: config/i386/cygwin.h:161 config/i386/mingw32.h:69 +#: config/i386/cygwin.h:170 config/i386/mingw32.h:84 msgid "shared and mdll are not compatible" msgstr "" -#: ada/lang-specs.h:41 -msgid "-c or -S required for Ada" +#: gcc.c:867 +msgid "-E required when input is from standard input" +msgstr "" + +#: gcc.c:871 +msgid "compilation of header file requested" msgstr "" #: java/lang-specs.h:33 @@ -20278,74 +20643,74 @@ msgstr "" msgid "-femit-class-file should used along with -fsyntax-only" msgstr "" -#: config/i860/fx2800.h:290 -msgid "-p option not supported: use -pg instead" +#: treelang/lang-specs.h:52 +msgid "-pg or -p and -fomit-frame-pointer are incompatible" +msgstr "" + +#: config/vax/netbsd-elf.h:42 +msgid "The -shared option is not currently supported for VAX ELF." msgstr "" -#: config/arm/riscix.h:73 config/arm/riscix.h:133 -msgid "-mbsd and -pedantic incompatible" +#: config/mcore/mcore.h:60 +msgid "choose either big or little endian, not both" msgstr "" -#: config/arm/riscix.h:74 config/arm/riscix.h:134 -msgid "-mbsd and -mxopen incompatible" +#: config/mcore/mcore.h:63 +msgid "choose either m340 or m210 not both" msgstr "" -#: config/arm/riscix.h:75 config/arm/riscix.h:135 -msgid "-mxopen and -pedantic incompatible" +#: config/mcore/mcore.h:64 +msgid "the m210 does not have little endian support" msgstr "" -#: config/arc/arc.h:59 config/mips/mips.h:1004 -msgid "may not use both -EB and -EL" +#: config/arm/arm.h:178 +msgid "-mapcs-26 and -mapcs-32 may not be used together" msgstr "" -#: config/vax/vax.h:42 config/vax/vax.h:43 -msgid "profiling not supported with -mg\n" +#: config/arm/arm.h:180 +msgid "-msoft-float and -mhard_float may not be used together" msgstr "" -#: config/mips/mips.h:834 -msgid "-pipe is not supported" +#: config/arm/arm.h:182 +msgid "-mbig-endian and -mlittle-endian may not be used together" msgstr "" -#: config/mips/mips.h:1000 -msgid "may not use both -mfp64 and -msingle-float" +#: config/mips/r3900.h:35 +msgid "-mhard-float not supported" msgstr "" -#: config/mips/mips.h:1001 -msgid "may not use both -mfp64 and -m4650" +#: config/mips/r3900.h:37 +msgid "-msingle-float and -msoft-float can not both be specified" msgstr "" -#: config/mips/mips.h:1003 -msgid "may not use both -mgp32 and -mfp64" +#: ada/lang-specs.h:41 +msgid "-c or -S required for Ada" msgstr "" -#: config/i386/sco5.h:658 config/i386/sco5.h:729 +#: config/i386/sco5.h:585 config/i386/sco5.h:666 msgid "-static not valid with -mcoff" msgstr "" -#: config/i386/sco5.h:659 config/i386/sco5.h:730 +#: config/i386/sco5.h:586 config/i386/sco5.h:667 msgid "-shared not valid with -mcoff" msgstr "" -#: config/i386/sco5.h:660 config/i386/sco5.h:731 +#: config/i386/sco5.h:587 config/i386/sco5.h:668 msgid "-symbolic not valid with -mcoff" msgstr "" -#: config/i386/sco5.h:696 +#: config/i386/sco5.h:636 msgid "-fpic is not valid with -mcoff" msgstr "" -#: config/i386/sco5.h:697 +#: config/i386/sco5.h:637 msgid "-fPIC is not valid with -mcoff" msgstr "" -#: config/i386/sco5.h:732 +#: config/i386/sco5.h:669 msgid "-fpic not valid with -mcoff" msgstr "" -#: config/i386/sco5.h:733 +#: config/i386/sco5.h:670 msgid "-fPIC not valid with -mcoff" msgstr "" - -#: config/mmix/mmix.h:112 -msgid "options -mabi=mmixware and -mabi=gnu are mutually exclusive" -msgstr "" diff --git a/gcc/predict.c b/gcc/predict.c index 7e581468dec..6ac8286f5a0 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -51,10 +51,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "target.h" #include "loop.h" -/* real constants: 0, 1, 1-1/REG_BR_PROB_BASE, REG_BR_PROB_BASE, 0.5, - REAL_BB_FREQ_MAX. */ +/* real constants: 0, 1, 1-1/REG_BR_PROB_BASE, REG_BR_PROB_BASE, + 1/REG_BR_PROB_BASE, 0.5, BB_FREQ_MAX. */ static REAL_VALUE_TYPE real_zero, real_one, real_almost_one, real_br_prob_base, - real_one_half, real_bb_freq_max; + real_inv_br_prob_base, real_one_half, real_bb_freq_max; /* Random guesstimation given names. */ #define PROB_VERY_UNLIKELY (REG_BR_PROB_BASE / 10 - 1) @@ -986,20 +986,25 @@ propagate_freq (loop) TYPE_MODE (double_type_node)); REAL_ARITHMETIC (tmp, MULT_EXPR, tmp, BLOCK_INFO (e->src)->frequency); - REAL_ARITHMETIC (tmp, RDIV_EXPR, tmp, real_br_prob_base); + REAL_ARITHMETIC (tmp, MULT_EXPR, tmp, real_inv_br_prob_base); REAL_ARITHMETIC (frequency, PLUS_EXPR, frequency, tmp); } - if (REAL_VALUES_LESS (real_almost_one, cyclic_probability)) - memcpy (&cyclic_probability, &real_almost_one, sizeof (real_zero)); + if (REAL_VALUES_IDENTICAL (cyclic_probability, real_zero)) + memcpy (&BLOCK_INFO (bb)->frequency, &frequency, sizeof (frequency)); + else + { + if (REAL_VALUES_LESS (real_almost_one, cyclic_probability)) + memcpy (&cyclic_probability, &real_almost_one, sizeof (real_zero)); - /* BLOCK_INFO (bb)->frequency = frequency / (1 - cyclic_probability) - */ + /* BLOCK_INFO (bb)->frequency = frequency / (1 - cyclic_probability) + */ - REAL_ARITHMETIC (cyclic_probability, MINUS_EXPR, real_one, + REAL_ARITHMETIC (cyclic_probability, MINUS_EXPR, real_one, cyclic_probability); - REAL_ARITHMETIC (BLOCK_INFO (bb)->frequency, - RDIV_EXPR, frequency, cyclic_probability); + REAL_ARITHMETIC (BLOCK_INFO (bb)->frequency, + RDIV_EXPR, frequency, cyclic_probability); + } } BLOCK_INFO (bb)->tovisit = 0; @@ -1018,7 +1023,7 @@ propagate_freq (loop) REAL_ARITHMETIC (tmp, MULT_EXPR, tmp, BLOCK_INFO (bb)->frequency); REAL_ARITHMETIC (EDGE_INFO (e)->back_edge_prob, - RDIV_EXPR, tmp, real_br_prob_base); + MULT_EXPR, tmp, real_inv_br_prob_base); } @@ -1149,11 +1154,9 @@ estimate_bb_frequencies (loops) REAL_VALUE_FROM_INT (real_br_prob_base, REG_BR_PROB_BASE, 0, double_mode); REAL_VALUE_FROM_INT (real_bb_freq_max, BB_FREQ_MAX, 0, double_mode); REAL_VALUE_FROM_INT (real_one_half, 2, 0, double_mode); - REAL_ARITHMETIC (real_one_half, RDIV_EXPR, real_one, real_one_half); - - REAL_ARITHMETIC (real_almost_one, RDIV_EXPR, real_one, real_br_prob_base); - REAL_ARITHMETIC (real_almost_one, MINUS_EXPR, real_one, real_almost_one); + REAL_ARITHMETIC (real_inv_br_prob_base, RDIV_EXPR, real_one, real_br_prob_base); + REAL_ARITHMETIC (real_almost_one, MINUS_EXPR, real_one, real_inv_br_prob_base); mark_dfs_back_edges (); /* Fill in the probability values in flowgraph based on the REG_BR_PROB @@ -1197,8 +1200,8 @@ estimate_bb_frequencies (loops) REAL_VALUE_FROM_INT (EDGE_INFO (e)->back_edge_prob, e->probability, 0, double_mode); REAL_ARITHMETIC (EDGE_INFO (e)->back_edge_prob, - RDIV_EXPR, EDGE_INFO (e)->back_edge_prob, - real_br_prob_base); + MULT_EXPR, EDGE_INFO (e)->back_edge_prob, + real_inv_br_prob_base); } } @@ -1213,13 +1216,14 @@ estimate_bb_frequencies (loops) memcpy (&freq_max, &BLOCK_INFO (bb)->frequency, sizeof (freq_max)); + REAL_ARITHMETIC (freq_max, RDIV_EXPR, real_bb_freq_max, freq_max); + FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) { REAL_VALUE_TYPE tmp; REAL_ARITHMETIC (tmp, MULT_EXPR, BLOCK_INFO (bb)->frequency, - real_bb_freq_max); - REAL_ARITHMETIC (tmp, RDIV_EXPR, tmp, freq_max); + freq_max); REAL_ARITHMETIC (tmp, PLUS_EXPR, tmp, real_one_half); bb->frequency = REAL_VALUE_UNSIGNED_FIX (tmp); } diff --git a/gcc/reload1.c b/gcc/reload1.c index 399b1f1de2d..d9e1332e299 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -7612,6 +7612,11 @@ delete_output_reload (insn, j, last_reload_reg) rtx i1; rtx substed; + /* It is possible that this reload has been only used to set another reload + we eliminated earlier and thus deleted this instruction too. */ + if (INSN_DELETED_P (output_reload_insn)) + return; + /* Get the raw pseudo-register referred to. */ while (GET_CODE (reg) == SUBREG) diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index c992c439bc3..4af2d80a0dd 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -2138,7 +2138,6 @@ volatile_insn_p (x) case REG: case SCRATCH: case CLOBBER: - case ASM_INPUT: case ADDR_VEC: case ADDR_DIFF_VEC: case CALL: @@ -2149,6 +2148,7 @@ volatile_insn_p (x) /* case TRAP_IF: This isn't clear yet. */ return 1; + case ASM_INPUT: case ASM_OPERANDS: if (MEM_VOLATILE_P (x)) return 1; @@ -2205,7 +2205,6 @@ volatile_refs_p (x) case REG: case SCRATCH: case CLOBBER: - case ASM_INPUT: case ADDR_VEC: case ADDR_DIFF_VEC: return 0; @@ -2214,6 +2213,7 @@ volatile_refs_p (x) return 1; case MEM: + case ASM_INPUT: case ASM_OPERANDS: if (MEM_VOLATILE_P (x)) return 1; @@ -2269,7 +2269,6 @@ side_effects_p (x) case PC: case REG: case SCRATCH: - case ASM_INPUT: case ADDR_VEC: case ADDR_DIFF_VEC: return 0; @@ -2292,6 +2291,7 @@ side_effects_p (x) return 1; case MEM: + case ASM_INPUT: case ASM_OPERANDS: if (MEM_VOLATILE_P (x)) return 1; diff --git a/gcc/stmt.c b/gcc/stmt.c index f283b7590c6..b4f8a0e5eea 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -1107,18 +1107,26 @@ n_occurrences (c, s) } /* Generate RTL for an asm statement (explicit assembler code). - BODY is a STRING_CST node containing the assembler code text, - or an ADDR_EXPR containing a STRING_CST. */ + STRING is a STRING_CST node containing the assembler code text, + or an ADDR_EXPR containing a STRING_CST. VOL nonzero means the + insn is volatile; don't optimize it. */ void -expand_asm (body) - tree body; +expand_asm (string, vol) + tree string; + int vol; { - if (TREE_CODE (body) == ADDR_EXPR) - body = TREE_OPERAND (body, 0); + rtx body; + + if (TREE_CODE (string) == ADDR_EXPR) + string = TREE_OPERAND (string, 0); + + body = gen_rtx_ASM_INPUT (VOIDmode, TREE_STRING_POINTER (string)); - emit_insn (gen_rtx_ASM_INPUT (VOIDmode, - TREE_STRING_POINTER (body))); + MEM_VOLATILE_P (body) = vol; + + emit_insn (body); + clear_last_expr (); } @@ -1597,6 +1605,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) bool is_inout; bool allows_reg; bool allows_mem; + rtx op; if (!parse_output_constraint (&constraints[i], i, ninputs, noutputs, &allows_mem, &allows_reg, @@ -1620,24 +1629,28 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) || ! allows_reg || is_inout) { - output_rtx[i] = expand_expr (val, NULL_RTX, VOIDmode, EXPAND_WRITE); + op = expand_expr (val, NULL_RTX, VOIDmode, EXPAND_WRITE); + if (GET_CODE (op) == MEM) + op = validize_mem (op); - if (! allows_reg && GET_CODE (output_rtx[i]) != MEM) + if (! allows_reg && GET_CODE (op) != MEM) error ("output number %d not directly addressable", i); - if ((! allows_mem && GET_CODE (output_rtx[i]) == MEM) - || GET_CODE (output_rtx[i]) == CONCAT) + if ((! allows_mem && GET_CODE (op) == MEM) + || GET_CODE (op) == CONCAT) { - real_output_rtx[i] = protect_from_queue (output_rtx[i], 1); - output_rtx[i] = gen_reg_rtx (GET_MODE (output_rtx[i])); + real_output_rtx[i] = protect_from_queue (op, 1); + op = gen_reg_rtx (GET_MODE (op)); if (is_inout) - emit_move_insn (output_rtx[i], real_output_rtx[i]); + emit_move_insn (op, real_output_rtx[i]); } } else { - output_rtx[i] = assign_temp (type, 0, 0, 1); - TREE_VALUE (tail) = make_tree (type, output_rtx[i]); + op = assign_temp (type, 0, 0, 1); + op = validize_mem (op); + TREE_VALUE (tail) = make_tree (type, op); } + output_rtx[i] = op; generating_concat_p = old_generating_concat_p; @@ -1689,6 +1702,8 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) /* Never pass a CONCAT to an ASM. */ if (GET_CODE (op) == CONCAT) op = force_reg (GET_MODE (op), op); + else if (GET_CODE (op) == MEM) + op = validize_mem (op); if (asm_operand_ok (op, constraint) <= 0) { @@ -1698,7 +1713,10 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) warning ("asm operand %d probably doesn't match constraints", i + noutputs); else if (CONSTANT_P (op)) - op = force_const_mem (TYPE_MODE (type), op); + { + op = force_const_mem (TYPE_MODE (type), op); + op = validize_mem (op); + } else if (GET_CODE (op) == REG || GET_CODE (op) == SUBREG || GET_CODE (op) == ADDRESSOF @@ -1708,7 +1726,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) (TYPE_QUALS (type) | TYPE_QUAL_CONST)); rtx memloc = assign_temp (qual_type, 1, 1, 1); - + memloc = validize_mem (memloc); emit_move_insn (memloc, op); op = memloc; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7fc603cc378..6e9a78fd58e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,126 @@ +2003-01-22 Mark Mitchell <mark@codesourcery.com> + + PR c++/9328 + * g++.dg/ext/typeof3.C: New test. + +2003-01-20 Kazu Hirata <kazu@cs.umass.edu> + + * gcc.c-torture/execute/20030120-1.c: New. + +2003-01-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gcc.c-torture/execute/builtin-constant.x: XFAIL the test. + +2003-01-15 Stephane Carrez <stcarrez@nerim.fr> + + * gcc.c-torture/compile/20000804-1.x: Don't execute this test at + all for HC11/HC12. + * gcc.c-torture/compile/20001205-1.x: Likewise. + * gcc.c-torture/compile/20001226-1.x: Likewise. + * gcc.c-torture/compile/920520-1.x: Likewise. + * gcc.c-torture/compile/961203-1.x: Likewise. + * gcc.c-torture/compile/20020604-1.x: Likewise. + +2003-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> + + * gcc.dg/i386-mmx-3.c: New test. + +2003-01-10 Josef Zlomek <zlomekj@suse.cz> + + * gcc.c-torture/compile/20030110-1.c: New test. + +2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr> + + * gcc.dg/old-style-asm-1.c: New test. + +2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr> + + * gcc.c-torture/execute/20030109-1.c: New test. + +2003-01-07 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/9030 + * g++.dg/template/friend12.C: New test. + * g++.dg/template/friend13.C: Likewise. + * g++.old-deja/g++.eh/spec6.C: Add missing error message. + * g++.old-deja/g++.other/defarg1.C: Change expected error message. + +2003-01-06 Mark Mitchell <mark@codesourcery.com> + + PR c++/9165 + * g++.dg/warn/Wunused-3.C: New test. + +2003-01-03 Nathan Sidwell <nathan@codesourcery.com> + + * g++.dg/template/ntp2.C: New test. + +2003-01-02 Kazu Hirata <kazu@cs.umass.edu> + + * gcc.dg/h8300-stack-1.c: New. + +2002-12-31 Janis Johnson <janis187@us.ibm.com> + + * lib/profopt.exp: Change the name of a global variable to avoid + possible clashes with other test suites. + +2002-12-26 Nathan Sidwell <nathan@codesourcery.com> + + * g++.dg/warn/inline1.C: New test. + * g++.old-deja/g++.brendan/crash64.C: Remove spurious inlines. + * g++.old-deja/g++.jason/synth10.C: Likewise. + * g++.old-deja/g++.mike/net31.C: Likewise. + * g++.old-deja/g++.mike/p8786.C: Likewise. + + * g++.dg/template/friend10.C: New test. + * g++.dg/template/conv5.C: New test. + +2002-12-24 Nathan Sidwell <nathan@codesourcery.com> + + * g++.dg/lookup/scoped3.C: New test. + + * g++.dg/lookup/decl1.C: New test. + * g++.dg/lookup/decl2.C: New test. + +2002-12-24 Joseph S. Myers <jsm@polyomino.org.uk> + + * g++.dg/init/new1.C, g++.dg/template/alignof1.C, + gcc.c-torture/compile/20021015-1.c, + gcc.c-torture/compile/20021015-2.c, + gcc.c-torture/compile/20021123-1.c, + gcc.c-torture/compile/20021123-2.c, + gcc.c-torture/compile/20021123-3.c, + gcc.c-torture/compile/20021123-4.c, + gcc.c-torture/execute/20021024-1.c: Add tests previously added + only to 3.1 or 3.2 branch. + +2002-12-22 Nathan Sidwell <nathan@codesourcery.com> + + * g++.dg/parse/conv_op1.C: New test. + +2002-12-19 Devang Patel <dpatel@apple.com> + + * gcc.dg/darwin-ld-5.c: Rewrite test to test -dynamic. + +2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr> + + * gcc.c-torture/execute/20021219-1.c: New test. + +2002-12-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/8099 + * g++.dg/template/friend9.C: New test. + +2002-12-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/3663 + * g++.dg/template/access7.C: New test. + +2002-12-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/8442 + * g++.dg/template/type2.C: New test. + * g++.dg/template/ttp3.C: Change expected error message. + 2002-12-12 Devang Patel <dpatel@apple.com> * gcc.dg/darwin-ld-1.c: New test. * gcc.dg/darwin-ld-2.c: New test. diff --git a/gcc/testsuite/g++.dg/ext/typeof3.C b/gcc/testsuite/g++.dg/ext/typeof3.C new file mode 100644 index 00000000000..cf78c7c6196 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/typeof3.C @@ -0,0 +1,4 @@ +double f(double); +float f(float); +void h(typeof(f) g) {} // { dg-error "" } + diff --git a/gcc/testsuite/g++.dg/init/new1.C b/gcc/testsuite/g++.dg/init/new1.C new file mode 100644 index 00000000000..24b60d3c409 --- /dev/null +++ b/gcc/testsuite/g++.dg/init/new1.C @@ -0,0 +1,20 @@ +// Origin: asharji@uwaterloo.ca + +// { dg-do compile } +// { dg-options "-fvolatile" } + +typedef __SIZE_TYPE__ size_t; + +class bar { + int i; + public : + void * operator new ( size_t , void * storage ); +}; + +class foo { + int storage[ 5 ]; + public: + void mem ( ) { + bar *s = new ( ( void * ) & storage ) bar; + } +}; diff --git a/gcc/testsuite/g++.dg/lookup/decl1.C b/gcc/testsuite/g++.dg/lookup/decl1.C new file mode 100644 index 00000000000..d9af65604cb --- /dev/null +++ b/gcc/testsuite/g++.dg/lookup/decl1.C @@ -0,0 +1,32 @@ +// { dg-do compile } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 24 Dec 2002 <nathan@codesourcery.com> + +// PR 8702. Failure to match templates. + +template <typename X> struct C1{}; + +template <typename X> +struct C2 { + template<typename Y> operator C1<Y>(); + template<typename Y> operator C2<Y>(); +}; + +template<typename X> template<typename Y> +C2<X>::operator C1<Y>() +{ + return C1<Y>(); +} + +struct A +{ + operator int (); // { dg-error "operator" "" } + operator float (); // { dg-error "operator" "" } + operator float () const; // { dg-error "operator" "" } + template <typename T> operator T * (); // { dg-error "candidates" "" } +}; + +A::operator short () { // { dg-error "prototype for" "" } + return 0; +} diff --git a/gcc/testsuite/g++.dg/lookup/decl2.C b/gcc/testsuite/g++.dg/lookup/decl2.C new file mode 100644 index 00000000000..75ce0967a4b --- /dev/null +++ b/gcc/testsuite/g++.dg/lookup/decl2.C @@ -0,0 +1,27 @@ +// { dg-do compile } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 24 Dec 2002 <nathan@codesourcery.com> +// Source Martin Buchholz martin@xemacs.org + +// PR 9053. Failed to consider templates that are disambiguated by +// return type. + +template <typename T> class bar; +template <> struct bar<const char*> { typedef void type; }; +template <typename T> class qux; +template <> struct qux<int> { typedef void type; }; + +template <typename T> +typename bar<T>::type foo (T t) { } + +template <typename T> +typename qux<T>::type foo (T t) { } + + +int +main (int argc, char *argv[]) +{ + foo ("foo"); + foo (7); +} diff --git a/gcc/testsuite/g++.dg/lookup/scoped3.C b/gcc/testsuite/g++.dg/lookup/scoped3.C new file mode 100644 index 00000000000..992f1d12809 --- /dev/null +++ b/gcc/testsuite/g++.dg/lookup/scoped3.C @@ -0,0 +1,23 @@ + +// { dg-do compile } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 24 Dec 2002 <nathan@codesourcery.com> + +// PR 7964. ICE with scoped method call + +struct A { + virtual void ostr() const; +}; + +class B : public virtual A {}; + +template<typename T> +struct C : public B +{ + void ostr() const + { B::ostr(); } +}; + + +template C<int>; diff --git a/gcc/testsuite/g++.dg/parse/conv_op1.C b/gcc/testsuite/g++.dg/parse/conv_op1.C new file mode 100644 index 00000000000..e892f01aadd --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/conv_op1.C @@ -0,0 +1,30 @@ + +// { dg-do compile } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 21 Dec 2002 <nathan@codesourcery.com> + +// PR 8572. ICE with templated conversion operators. + +template <typename T> struct A +{ + struct B { }; + operator B* () const; + B *Foo (); +}; + +template <typename T> typename A<T>::B *A<T>::Foo () +{ + return 0; +} + +template <typename T> A<T>::operator typename A<T>::B* () const +{ + return 0; +} + +void Foo (A<int> &p) +{ + p.Foo (); + static_cast <A<int>::B *> (p); +} diff --git a/gcc/testsuite/g++.dg/template/access7.C b/gcc/testsuite/g++.dg/template/access7.C new file mode 100644 index 00000000000..92d4c68db39 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/access7.C @@ -0,0 +1,18 @@ +// { dg-do compile } + +// PR c++/3663 +// Enforce access of nested type. + +template <typename A> +class S { + class T {}; // { dg-error "private" } +}; + +template <typename A> +typename A::T* f (A) { // { dg-error "this context" } + return 0; +} + +void g () { + f (S<int> ()); // { dg-error "context|instantiated" } +} diff --git a/gcc/testsuite/g++.dg/template/alignof1.C b/gcc/testsuite/g++.dg/template/alignof1.C new file mode 100644 index 00000000000..50a32183cfc --- /dev/null +++ b/gcc/testsuite/g++.dg/template/alignof1.C @@ -0,0 +1,13 @@ +template<typename T> +int my_alignof() +{ + return __alignof__(T); +} + +template<typename> +struct X { }; + +int main() +{ + return my_alignof<X<void> >(); +} diff --git a/gcc/testsuite/g++.dg/template/conv5.C b/gcc/testsuite/g++.dg/template/conv5.C new file mode 100644 index 00000000000..80835437a98 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/conv5.C @@ -0,0 +1,22 @@ +// { dg-do compile } + +// Copyright (C) 2001 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 26 Dec 2002 <nathan@codesourcery.com> + +// PR 764. Failed to find friend in overload resolution + +template <class T> +struct S +{ + friend bool operator== (const S&, const S&) { + return true; + } +}; + +int main () +{ + // S<int> s; + + const S<int> *p = 0; + *p == *p; // error +} diff --git a/gcc/testsuite/g++.dg/template/friend10.C b/gcc/testsuite/g++.dg/template/friend10.C new file mode 100644 index 00000000000..cab5e346f0b --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend10.C @@ -0,0 +1,45 @@ +// { dg-do run } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 24 Dec 2002 <nathan@codesourcery.com> + +// PR 5116. template instantiation can add a friend into a namespace, +// and thus change overload resolution. + +#include <iostream> + +static int right; +static int wrong; + +struct Buggy {}; + +template <typename T>struct Handle +{ + Handle(T* p) {} + + operator bool() const { wrong++; return true; } + + friend std::ostream& operator<<(std::ostream& ostr, const Handle& r) + { + right++; + + return ostr << "in operator<<(ostream&, const Handle&)"; + } +}; + +typedef Handle<Buggy> Buggy_h; + +bool cmp (const Buggy_h& b1, const Buggy_h& b2) +{ + std::cout << b1 << " " << b2 << std::endl; + return false; +} + +int main() +{ + Buggy o; + + cmp (&o, &o); + + return !(right == 2 && !wrong); +} diff --git a/gcc/testsuite/g++.dg/template/friend12.C b/gcc/testsuite/g++.dg/template/friend12.C new file mode 100644 index 00000000000..0cd561b5a2a --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend12.C @@ -0,0 +1,24 @@ +// { dg-do compile } + +// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu> + +// PR 9030. Perform access checking to parameter and return type of +// function template correctly when the template is friend. + +template <class T> class Outer { + private: + struct Inner {}; + + template <class T_> + friend typename Outer<T_>::Inner foo (); +}; + +template <class T> +typename Outer<T>::Inner +foo () { + return typename Outer<T>::Inner(); +} + +void f() { + foo<int>(); +} diff --git a/gcc/testsuite/g++.dg/template/friend13.C b/gcc/testsuite/g++.dg/template/friend13.C new file mode 100644 index 00000000000..6eebf6b951f --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend13.C @@ -0,0 +1,21 @@ +// { dg-do compile } + +// Perform access checking to parameter and return type of +// function template correctly when only specialization is friend. + +template <class T> +typename T::Inner +foo () { + return typename T::Inner(); +} + +class Outer { + private: + struct Inner {}; + + friend Outer::Inner foo<Outer> (); +}; + +void f() { + foo<Outer>(); +} diff --git a/gcc/testsuite/g++.dg/template/friend9.C b/gcc/testsuite/g++.dg/template/friend9.C new file mode 100644 index 00000000000..4464e5f8ee8 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend9.C @@ -0,0 +1,18 @@ +// { dg-do compile } +// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu> + +// PR c++/8099 +// Partial specialization as friend class + +template <int N, typename T> struct X; +template <typename T> struct X<1,T>; + +template <typename P> class Y { + static int i; + template <int N, typename T> friend struct X; + friend struct X<1,P>; +}; + +template <typename T> struct X<1,T> { + X () { Y<T>::i; }; // access private field +}; diff --git a/gcc/testsuite/g++.dg/template/ntp2.C b/gcc/testsuite/g++.dg/template/ntp2.C new file mode 100644 index 00000000000..42219e0fcb0 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/ntp2.C @@ -0,0 +1,16 @@ +// { dg-do compile } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 26 Dec 2002 <nathan@codesourcery.com> + +// PR 3784: We were confusing non-type template parms. + +template <unsigned N> class X { }; + +template <short N> void foo1(X<N>); +template <unsigned N> void foo2(X<N>); + +int main() { + X<2> x; + foo2(x); +} diff --git a/gcc/testsuite/g++.dg/template/ttp3.C b/gcc/testsuite/g++.dg/template/ttp3.C index 05bd44a172e..fe9bd9eb382 100644 --- a/gcc/testsuite/g++.dg/template/ttp3.C +++ b/gcc/testsuite/g++.dg/template/ttp3.C @@ -14,7 +14,7 @@ class OUTER { template <class T> class List { }; - vector<class List> data; // { dg-error "type/value mismatch|expected a type|ISO C" "" } + vector<class List> data; // { dg-error "argument is required|ISO C" "" } }; template <class T> diff --git a/gcc/testsuite/g++.dg/template/type2.C b/gcc/testsuite/g++.dg/template/type2.C new file mode 100644 index 00000000000..509c4820d6b --- /dev/null +++ b/gcc/testsuite/g++.dg/template/type2.C @@ -0,0 +1,16 @@ +// { dg-do compile } +// Origin: Juan Carlos Arevalo-Baeza <jcab@JCABs-Rumblings.com> + +// PR c++/8442 +// Type template parameter incorrectly treated as template template +// parameter. + +template <typename T> struct A {}; + +template <typename T> struct B +{ + template <typename U> struct C {}; + template <typename U> A<C<U> > foo(U); +}; + +B<void> b; diff --git a/gcc/testsuite/g++.dg/warn/Wunused-3.C b/gcc/testsuite/g++.dg/warn/Wunused-3.C new file mode 100644 index 00000000000..31009094352 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-3.C @@ -0,0 +1,11 @@ +// { dg-do compile } +// { dg-options "-Wunused -O" } + +void do_cleanups(); + +class Cleanup { +public: + ~Cleanup() { do_cleanups();} +}; + +static Cleanup dummy; diff --git a/gcc/testsuite/g++.dg/warn/inline1.C b/gcc/testsuite/g++.dg/warn/inline1.C new file mode 100644 index 00000000000..24836e744eb --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/inline1.C @@ -0,0 +1,23 @@ +// { dg-do compile } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 26 Dec 2002 <nathan@codesourcery.com> + +// PR 4803. Used inline functions must have a definition. + +inline void Foo1 (); // { dg-warning "inline function" "" } +inline void Bar1 (); +template <typename T> inline void Foo2(T); // { dg-warning "inline function" "" } +template <typename T> inline void Bar2(T); + +void Baz () +{ + Foo1 (); + Foo2 (1); + + Bar1 (); + Bar2 (1); +} + +inline void Bar1 () {} +template <typename T> inline void Bar2(T) {} diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C index ccba22e245a..6c2825802f4 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C @@ -4,8 +4,8 @@ typedef long unsigned int size_t; typedef void (*RF_Ptr)(void *); struct _im_pers_mem_spec { - inline _im_pers_mem_spec(void ); - inline _im_pers_mem_spec(auto int of, auto int n); + _im_pers_mem_spec(void ); + _im_pers_mem_spec(auto int of, auto int n); }; struct _type_desc { diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec6.C b/gcc/testsuite/g++.old-deja/g++.eh/spec6.C index 1bde4cb92b8..d9d4edf1f48 100644 --- a/gcc/testsuite/g++.old-deja/g++.eh/spec6.C +++ b/gcc/testsuite/g++.old-deja/g++.eh/spec6.C @@ -25,7 +25,7 @@ template<class T> void fnx(T *) throw(T){} // ERROR - invalid use of void expre void fx() { fnx((int *)0); - fnx((void *)0); + fnx((void *)0); // ERROR - instantiated from here } // [except.spec] 2, exception specifiers must be the same set of types (but diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth10.C b/gcc/testsuite/g++.old-deja/g++.jason/synth10.C index d94e6bdebe9..07a372586c0 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/synth10.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/synth10.C @@ -7,14 +7,14 @@ class A; class AH { public: - inline AH ( A * p = 0 ); + AH ( A * p = 0 ); AH ( const AH & from ) : pointer( from.pointer ) { inc(); } ~ AH () { dec(); } private: A * pointer; - inline void inc() const; - inline void dec() const; + void inc() const; + void dec() const; }; class A diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net31.C b/gcc/testsuite/g++.old-deja/g++.mike/net31.C index 3ecf81c7349..05617a8b4ff 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/net31.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/net31.C @@ -13,7 +13,7 @@ class foo_b { foo_b(); ~foo_b(); foo_b(const foo_b&); - inline double& operator()(int); + double& operator()(int); foo_b& operator=(foo_b&); void bar_a(int); }; diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8786.C b/gcc/testsuite/g++.old-deja/g++.mike/p8786.C index b5443c0fa6b..0565fb2558a 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p8786.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p8786.C @@ -4,7 +4,7 @@ class B { public: - inline ~B(); + ~B(); }; class D : public B { diff --git a/gcc/testsuite/g++.old-deja/g++.other/defarg1.C b/gcc/testsuite/g++.old-deja/g++.other/defarg1.C index f1f72a555f2..cbcbbbb04c5 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/defarg1.C +++ b/gcc/testsuite/g++.old-deja/g++.other/defarg1.C @@ -16,7 +16,7 @@ int h2 (int (*)(double) = f); // ERROR - no matching f template <class T> int j (T t) -{ +{ // ERROR - declared here extern void k (int i = j (t)); // ERROR - default argument uses local k (); diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb42.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb42.C deleted file mode 100644 index c27aa8d2df7..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb42.C +++ /dev/null @@ -1,19 +0,0 @@ -//Build don't link: -#include <vector> -#include <algorithm> - -template <class T> class Expr -{ -public : -Expr(){}; -Expr(const T&){}; -}; - -template <class T > -inline bool compare(const Expr<T> a, const Expr<T> b){ return true; }; - -int main() -{ - std::vector<int> a(3); - std::sort( a.begin(), a.end(), compare ); // ERROR - no matching function -} diff --git a/gcc/testsuite/gcc.c-torture/compile/20000804-1.x b/gcc/testsuite/gcc.c-torture/compile/20000804-1.x index d2c3cec91a2..458c8e720e3 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000804-1.x +++ b/gcc/testsuite/gcc.c-torture/compile/20000804-1.x @@ -1,9 +1,8 @@ # This does not work on m68hc11 due to the use of an asm statement # to force a 'long long' (64-bits) to go in a register. -global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { - set torture_compile_xfail "$target_triplet" + return 1 } return 0 diff --git a/gcc/testsuite/gcc.c-torture/compile/20001205-1.x b/gcc/testsuite/gcc.c-torture/compile/20001205-1.x index bde61fd93da..134cdf109fe 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001205-1.x +++ b/gcc/testsuite/gcc.c-torture/compile/20001205-1.x @@ -1,8 +1,7 @@ # This does not work on m68hc11 due to the asm statement which # forces two 'long' (32-bits) variables to go in registers. -global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { - set torture_compile_xfail "$target_triplet" + return 1 } return 0 diff --git a/gcc/testsuite/gcc.c-torture/compile/20001226-1.x b/gcc/testsuite/gcc.c-torture/compile/20001226-1.x index 13616c69f37..6e46f46724e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001226-1.x +++ b/gcc/testsuite/gcc.c-torture/compile/20001226-1.x @@ -3,7 +3,7 @@ global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { - set torture_compile_xfail "$target_triplet" + return 1 } # It doesn't work on Xtensa with -O0 because the function is larger diff --git a/gcc/testsuite/gcc.c-torture/compile/20020604-1.x b/gcc/testsuite/gcc.c-torture/compile/20020604-1.x index 4d4a49ef9e0..bced22f0f44 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020604-1.x +++ b/gcc/testsuite/gcc.c-torture/compile/20020604-1.x @@ -3,4 +3,8 @@ if { [istarget "h8300-*-*"] } { return 1; } +if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + return 1; +} + return 0 diff --git a/gcc/testsuite/gcc.c-torture/compile/20021015-1.c b/gcc/testsuite/gcc.c-torture/compile/20021015-1.c new file mode 100644 index 00000000000..789b8a8b176 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20021015-1.c @@ -0,0 +1,12 @@ +/* PR target/7370. */ + +int g (int *x, int *y); + +void f () +{ + int x, y; + char a[4000]; + + g (&x, &y); + x = x/y + x; +} diff --git a/gcc/testsuite/gcc.c-torture/compile/20021015-2.c b/gcc/testsuite/gcc.c-torture/compile/20021015-2.c new file mode 100644 index 00000000000..6b158c5bdc8 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20021015-2.c @@ -0,0 +1,7 @@ +/* PR target/8232. */ + +int f (char *p, char *q, int i) +{ + return bcmp (p, q, i); +} + diff --git a/gcc/testsuite/gcc.c-torture/compile/20021123-1.c b/gcc/testsuite/gcc.c-torture/compile/20021123-1.c new file mode 100644 index 00000000000..dd2aa7e09dd --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20021123-1.c @@ -0,0 +1,10 @@ +/* PR c/8439 */ +/* Verify that GCC properly handles null increments. */ + +struct empty { +}; + +void foo(struct empty *p) +{ + p++; +} diff --git a/gcc/testsuite/gcc.c-torture/compile/20021123-2.c b/gcc/testsuite/gcc.c-torture/compile/20021123-2.c new file mode 100644 index 00000000000..423f8ec1964 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20021123-2.c @@ -0,0 +1,9 @@ +/* PR c/8518 */ +/* Contributed by Volker Reichelt. */ + +/* Verify that GCC doesn't get confused by the + redefinition of an extern inline function. */ + +extern int inline foo () { return 0; } +extern int inline bar () { return 0; } +static int inline bar () { return foo(); } diff --git a/gcc/testsuite/gcc.c-torture/compile/20021123-3.c b/gcc/testsuite/gcc.c-torture/compile/20021123-3.c new file mode 100644 index 00000000000..51f0e257dfd --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20021123-3.c @@ -0,0 +1,9 @@ +/* PR c/8518 */ +/* Contributed by Volker Reichelt. */ + +/* Verify that GCC doesn't get confused by the + redefinition of an extern inline function. */ + +extern int inline foo () { return 0; } +extern int inline bar () { return 0; } +static int bar () { return foo(); } diff --git a/gcc/testsuite/gcc.c-torture/compile/20021123-4.c b/gcc/testsuite/gcc.c-torture/compile/20021123-4.c new file mode 100644 index 00000000000..d4306b89b99 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20021123-4.c @@ -0,0 +1,11 @@ +/* PR c/8588 */ +/* Contributed by Volker Reichelt. */ + +/* Verify that GCC converts integer constants + in shift operations. */ + +void foo() +{ + unsigned int i, j; + j = (i >> 0xf0); +} diff --git a/gcc/testsuite/gcc.c-torture/compile/20030110-1.c b/gcc/testsuite/gcc.c-torture/compile/20030110-1.c new file mode 100644 index 00000000000..1cbbaea3c10 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20030110-1.c @@ -0,0 +1,39 @@ +extern char bpp; + +void foo() +{ + if (bpp == 32) + { + if (2 < 8) + { + do + { + while (inb(0x9ae8) & (0x0100 >> (2 +1))); + } + while(0); + } + else + { + do + { + while (inb(0x9ae8) & (0x0100 >> (2))); + } + while(0); + } + } + else + do + { + while (inb(0x9ae8) & (0x0100 >> (1))); + } + while(0); + if (8 < 8) + { + do + { + while (inb(0x9ae8) & (0x0100 >> (8 +1))); + } + while(0); + } +} + diff --git a/gcc/testsuite/gcc.c-torture/compile/920520-1.x b/gcc/testsuite/gcc.c-torture/compile/920520-1.x index f7a13c87abc..3687bf6145d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920520-1.x +++ b/gcc/testsuite/gcc.c-torture/compile/920520-1.x @@ -3,8 +3,7 @@ set options "-S" # This does not work on m68hc11 due to the asm which forces a # float or a double to go in a register. -global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { - set torture_compile_xfail "$target_triplet" + return 1 } return 0 diff --git a/gcc/testsuite/gcc.c-torture/compile/961203-1.x b/gcc/testsuite/gcc.c-torture/compile/961203-1.x index e6fd4e41a70..e705ffe167a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/961203-1.x +++ b/gcc/testsuite/gcc.c-torture/compile/961203-1.x @@ -10,9 +10,8 @@ if { [istarget "h8300-*-*"] } { # Array 'a' in this test is too large to fit in 64K. -global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"]} { - set torture_compile_xfail "$target_triplet" + return 1 } return 0 diff --git a/gcc/testsuite/gcc.c-torture/execute/20021024-1.c b/gcc/testsuite/gcc.c-torture/execute/20021024-1.c new file mode 100644 index 00000000000..f7d98e929a2 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20021024-1.c @@ -0,0 +1,43 @@ +/* Origin: PR target/6981 from Mattias Engdegaard <mattias@virtutech.se>. */ + +void exit (int); +void abort (void); + +unsigned long long *cp, m; + +void foo (void) +{ +} + +void bar (unsigned rop, unsigned long long *r) +{ + unsigned rs1, rs2, rd; + +top: + rs2 = (rop >> 23) & 0x1ff; + rs1 = (rop >> 9) & 0x1ff; + rd = rop & 0x1ff; + + *cp = 1; + m = r[rs1] + r[rs2]; + *cp = 2; + foo(); + if (!rd) + goto top; + r[rd] = 1; +} + +int main(void) +{ + static unsigned long long r[64]; + unsigned long long cr; + cp = &cr; + + r[4] = 47; + r[8] = 11; + bar((8 << 23) | (4 << 9) | 15, r); + + if (m != 47 + 11) + abort (); + exit (0); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20021219-1.c b/gcc/testsuite/gcc.c-torture/execute/20021219-1.c new file mode 100644 index 00000000000..2e658a5a885 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20021219-1.c @@ -0,0 +1,18 @@ +/* PR optimization/8988 */ +/* Contributed by Kevin Easton */ + +void foo(char *p1, char **p2) +{} + +int main(void) +{ + char str[] = "foo { xx }"; + char *ptr = str + 5; + + foo(ptr, &ptr); + + while (*ptr && (*ptr == 13 || *ptr == 32)) + ptr++; + + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20030109-1.c b/gcc/testsuite/gcc.c-torture/execute/20030109-1.c new file mode 100644 index 00000000000..1bea931f64c --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20030109-1.c @@ -0,0 +1,20 @@ +/* PR c/8032 */ +/* Verify that an empty initializer inside a partial + parent initializer doesn't confuse GCC. */ + +struct X +{ + int a; + int b; + int z[]; +}; + +struct X x = { .b = 40, .z = {} }; + +int main () +{ + if (x.b != 40) + abort (); + + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20030120-1.c b/gcc/testsuite/gcc.c-torture/execute/20030120-1.c new file mode 100644 index 00000000000..0ac0ecf7025 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20030120-1.c @@ -0,0 +1,50 @@ +/* On H8/300 port, NOTICE_UPDATE_CC had a bug that causes the final + pass to remove test insns that should be kept. */ + +unsigned short +test1 (unsigned short w) +{ + if ((w & 0xff00) == 0) + { + if (w == 0) + w = 2; + } + return w; +} + +unsigned long +test2 (unsigned long w) +{ + if ((w & 0xffff0000) == 0) + { + if (w == 0) + w = 2; + } + return w; +} + +int +test3 (unsigned short a) +{ + if (a & 1) + return 1; + else if (a) + return 1; + else + return 0; +} + +int +main () +{ + if (test1 (1) != 1) + abort (); + + if (test2 (1) != 1) + abort (); + + if (test3 (2) != 1) + abort (); + + exit (0); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20030120-2.c b/gcc/testsuite/gcc.c-torture/execute/20030120-2.c new file mode 100644 index 00000000000..298bc4f5b4f --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20030120-2.c @@ -0,0 +1,19 @@ +/* PR 8848 */ + +extern void abort (); + +int foo(int status) +{ + int s = 0; + if (status == 1) s=1; + if (status == 3) s=3; + if (status == 4) s=4; + return s; +} + +int main() +{ + if (foo (3) != 3) + abort (); + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-constant.x b/gcc/testsuite/gcc.c-torture/execute/builtin-constant.x new file mode 100644 index 00000000000..f1a6be7f02e --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/builtin-constant.x @@ -0,0 +1,11 @@ +set torture_eval_before_execute { + global compiler_conditional_xfail_data + set compiler_conditional_xfail_data { + "This test fails on all targets when optimizing." \ + { "*-*-*" } \ + { "*" } \ + { "-O0" } + } +} + +return 0 diff --git a/gcc/testsuite/gcc.dg/20030120-1.c b/gcc/testsuite/gcc.dg/20030120-1.c new file mode 100644 index 00000000000..05689ad0961 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20030120-1.c @@ -0,0 +1,10 @@ +/* PR 7154 */ +/* { dg-do compile } */ +/* { dg-options "-O -fpic" } */ +/* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* mmix-*-* } 0 } */ + +const int x[1]={ 1 }; +void foo(int i, int *p) +{ + asm volatile("" : "+r"(i) : "m" (x[0]), "r"(p)); +} diff --git a/gcc/testsuite/gcc.dg/darwin-ld-5.c b/gcc/testsuite/gcc.dg/darwin-ld-5.c index e32f1d9d3ca..0540f92bcbb 100644 --- a/gcc/testsuite/gcc.dg/darwin-ld-5.c +++ b/gcc/testsuite/gcc.dg/darwin-ld-5.c @@ -1,7 +1,7 @@ -/* Test Darwin linker option -bundle_loader. */ +/* Test Darwin linker option -dynamic. */ /* Developed by Devang Patel <dpatel@apple.com>. */ -/* { dg-options "-bundle -bundle_loader foo" } */ +/* { dg-options "-dynamic" } */ /* { dg-do link { target *-*-darwin* } } */ int main() diff --git a/gcc/testsuite/gcc.dg/h8300-stack-1.c b/gcc/testsuite/gcc.dg/h8300-stack-1.c new file mode 100644 index 00000000000..b63bde29c9c --- /dev/null +++ b/gcc/testsuite/gcc.dg/h8300-stack-1.c @@ -0,0 +1,14 @@ +/* Make sure that the H8 backend does not generate a non-atomic stack + adjustment. */ +/* { dg-do compile { target h8300-*-* } } */ +/* { dg-options "" } */ + +void foo (short, short, short, short, short, short); + +void +bar () +{ + foo (0, 0, 0, 0, 0, 0); +} + +/* { dg-final { scan-assembler-not "addx" } } */ diff --git a/gcc/testsuite/gcc.dg/i386-mmx-3.c b/gcc/testsuite/gcc.dg/i386-mmx-3.c new file mode 100644 index 00000000000..f44fa0fbfdd --- /dev/null +++ b/gcc/testsuite/gcc.dg/i386-mmx-3.c @@ -0,0 +1,17 @@ +/* PR target/8870 */ +/* Originator: otaylor@redhat.com */ +/* { dg-do compile { target i?86-*-* } } */ +/* { dg-options "-O1 -mmmx -march=i686" } */ + +typedef int v4hi __attribute__ ((mode (V4HI))); + +static inline v4hi cvtsi_v4hi (int i) +{ + long long tmp = i; + return (v4hi) tmp; +} + +v4hi bar (unsigned short a) +{ + return cvtsi_v4hi (a); +} diff --git a/gcc/testsuite/gcc.dg/old-style-asm-1.c b/gcc/testsuite/gcc.dg/old-style-asm-1.c new file mode 100644 index 00000000000..006cf0949b0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/old-style-asm-1.c @@ -0,0 +1,19 @@ +/* PR inline-asm/8832 */ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +/* Verify that GCC doesn't optimize + old style asm instructions. */ + +void foo(int v) +{ + if (v) + asm ("dummy1"); + + asm ("dummy2"); + + if (v) + asm ("dummy3"); +} + +/* { dg-final { scan-assembler "L2" } } */ diff --git a/gcc/testsuite/gcc.dg/tls/alias-1.c b/gcc/testsuite/gcc.dg/tls/alias-1.c new file mode 100644 index 00000000000..3372da3d10c --- /dev/null +++ b/gcc/testsuite/gcc.dg/tls/alias-1.c @@ -0,0 +1,21 @@ +/* { dg-do link } */ +/* Test that encode_section_info handles the change from externally + defined to locally defined (via hidden). Extracted from glibc. */ + +struct __res_state { + char x[123]; +}; + +extern __thread struct __res_state bar + __attribute__ ((tls_model ("initial-exec"))); + +int main() +{ + bar.x[0] = 0; + return 0; +} + +__thread struct __res_state foo; +extern __thread struct __res_state bar + __attribute__ ((alias ("foo"))) + __attribute__ ((visibility ("hidden"))); diff --git a/gcc/testsuite/lib/profopt.exp b/gcc/testsuite/lib/profopt.exp index 5ecf314977f..4d32ff2fdbe 100644 --- a/gcc/testsuite/lib/profopt.exp +++ b/gcc/testsuite/lib/profopt.exp @@ -66,7 +66,7 @@ if ![info exists PROFOPT_OPTIONS] { { -Os } ] } -set option_list $PROFOPT_OPTIONS +set prof_option_list $PROFOPT_OPTIONS # # profopt-cleanup -- remove profiling or performance results files. @@ -126,7 +126,7 @@ proc profopt-perf-value { testcase perf_ext optstr } { # proc profopt-execute { src } { global srcdir tmpdir - global option_list + global prof_option_list global tool profile_option feedback_option prof_ext perf_ext perf_delta global verbose @@ -142,7 +142,7 @@ proc profopt-execute { src } { set executable $tmpdir/[file tail [file rootname $src].x] set count 0 - foreach option $option_list { + foreach option $prof_option_list { set execname1 "${executable}${count}1" set execname2 "${executable}${count}2" set execname3 "${executable}${count}3" diff --git a/gcc/tree.h b/gcc/tree.h index 36e7fd4eeb3..68a670e62f1 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -2821,7 +2821,7 @@ extern void expand_decl_init PARAMS ((tree)); extern void clear_last_expr PARAMS ((void)); extern void expand_label PARAMS ((tree)); extern void expand_goto PARAMS ((tree)); -extern void expand_asm PARAMS ((tree)); +extern void expand_asm PARAMS ((tree, int)); extern void expand_start_cond PARAMS ((tree, int)); extern void expand_end_cond PARAMS ((void)); extern void expand_start_else PARAMS ((void)); diff --git a/gcc/treelang/ChangeLog b/gcc/treelang/ChangeLog index 138a96dd8fa..e44009f4bee 100644 --- a/gcc/treelang/ChangeLog +++ b/gcc/treelang/ChangeLog @@ -1,3 +1,18 @@ +2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> + + * treelang.texi: Use @copying. + +2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> + + * treelang.texi: Include gcc-common.texi. + * Make-lang.in ($(srcdir)/treelang/treelang.info, treelang.dvi): + Depend on gcc-common.texi. Add other missing dependencies. + (treelang.dvi): Use texi2dvi. + +2002-12-22 Joseph S. Myers <jsm@polyomino.org.uk> + + * treelang.texi: Use @ifnottex instead of @ifinfo. + 2002-09-09 Tim Josling <tej@melbpc.org.au> * treetree.c (objc_is_id): New. diff --git a/gcc/treelang/Make-lang.in b/gcc/treelang/Make-lang.in index a1337672872..0b22a41a854 100644 --- a/gcc/treelang/Make-lang.in +++ b/gcc/treelang/Make-lang.in @@ -134,15 +134,21 @@ treelang.rest.encap: .phony:treelang.info treelang.info: $(srcdir)/treelang/treelang.info -$(srcdir)/treelang/treelang.info: $(srcdir)/treelang/treelang.texi +$(srcdir)/treelang/treelang.info: $(srcdir)/treelang/treelang.texi \ + $(srcdir)/doc/include/gcc-common.texi \ + $(srcdir)/doc/include/gpl.texi \ + $(srcdir)/doc/include/fdl.texi \ + $(srcdir)/doc/include/funding.texi cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -Idoc/include \ -o treelang/treelang.info treelang/treelang.texi -treelang.dvi: $(srcdir)/treelang/treelang.texi - TEXINPUTS=$(srcdir)/treelang:$(srcdir):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/treelang/treelang.texi; \ - texindex treelang.??; \ - TEXINPUTS=$(srcdir)/treelang:$(srcdir):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/treelang/treelang.texi; \ - mv treelang.dvi treelang; +treelang.dvi: $(srcdir)/treelang/treelang.texi \ + $(srcdir)/doc/include/gcc-common.texi \ + $(srcdir)/doc/include/gpl.texi \ + $(srcdir)/doc/include/fdl.texi \ + $(srcdir)/doc/include/funding.texi + s=`cd $(srcdir); ${PWD}`; export s; \ + cd treelang && $(TEXI2DVI) -I $$s/doc/include $$s/treelang/treelang.texi treelang.generated-manpages: diff --git a/gcc/treelang/treelang.texi b/gcc/treelang/treelang.texi index 52bcb7ddd23..fc8d6d41502 100644 --- a/gcc/treelang/treelang.texi +++ b/gcc/treelang/treelang.texi @@ -8,15 +8,12 @@ @c %**start of header @setfilename treelang.info +@include gcc-common.texi + +@set version-treelang 1.0 + @set last-update 2001-07-30 @set copyrights-treelang 1995,1996,1997,1998,1999,2000,2001,2002 -@c DEVELOPMENT is set to indicate an in-development version, -@c as compared to a release version. When making a release -@c (e.g. a release branch in the CVS repository for GCC), -@c clear this and set the version information correctly. -@clear DEVELOPMENT -@set version-treelang 1.0 -@set version-GCC 3.0 @set email-general gcc@@gcc.gnu.org @set email-bugs gcc-bugs@@gcc.gnu.org or bug-gcc@@gnu.org @@ -46,14 +43,6 @@ @c and make sure the following does NOT begin with '@c': @c @clear USING -@c 6/27/96 FSF DO wants smallbook fmt for 1st bound edition. (from gcc.texi) -@c @smallbook - -@c i also commented out the finalout command, so if there *are* any -@c overfulls, you'll (hopefully) see the rectangle in the right hand -@c margin. -- burley 1999-03-13 (from mew's comment in GCC.texi). -@c @finalout - @ifset INTERNALS @ifset USING @settitle Using and Maintaining GNU Treelang @@ -92,7 +81,29 @@ @c \global\normaloffset =0.75in @c @end tex -@ifinfo +@copying +Copyright @copyright{} @value{copyrights-treelang} Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being ``GNU General Public License'', the Front-Cover +texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +``GNU Free Documentation License''. + +(a) The FSF's Front-Cover Text is: + + A GNU Manual + +(b) The FSF's Back-Cover Text is: + + You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. +@end copying + +@ifnottex @dircategory Programming @direntry * treelang: (treelang). The GNU Treelang compiler. @@ -118,26 +129,8 @@ Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA -Copyright (C) @value{copyrights-treelang} Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'', the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. -@end ifinfo +@insertcopying +@end ifnottex treelang was Contributed by Tim Josling (@email{@value{email-josling}}). Inspired by and based on the 'toy' language, written by Richard Kenner. @@ -168,8 +161,6 @@ documentation. @center for version @value{version-treelang} @page @vskip 0pt plus 1filll -Copyright @copyright{} @value{copyrights-treelang} Free Software Foundation, Inc. -@sp 2 For the @value{which-treelang} Version* @sp 1 Published by the Free Software Foundation @* @@ -179,27 +170,11 @@ Boston, MA 02111-1307, USA@* @c Printed copies are available for $? each.@* @c ISBN ??? @sp 1 -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``GNU General Public License'', the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -``GNU Free Documentation License''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. +@insertcopying @end titlepage @page -@ifinfo +@ifnottex @node Top, Copying,, (dir) @top Introduction @@ -226,7 +201,7 @@ new features and incompatibilities, and how to report bugs. It corresponds to the @value{which-treelang} version of @code{treelang}. @end ifclear -@end ifinfo +@end ifnottex @ifset DEVELOPMENT @emph{Warning:} This document is still under development, and might not diff --git a/gcc/unwind-dw2-fde.h b/gcc/unwind-dw2-fde.h index b7d96cfe992..7565c49f754 100644 --- a/gcc/unwind-dw2-fde.h +++ b/gcc/unwind-dw2-fde.h @@ -1,5 +1,5 @@ /* Subroutines needed for unwinding stack frames for exception handling. */ -/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Jason Merrill <jason@cygnus.com>. @@ -166,7 +166,7 @@ next_fde (fde *f) extern fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *); static inline int -last_fde (struct object *obj, fde *f) +last_fde (struct object *obj __attribute__ ((__unused__)), fde *f) { #ifdef DWARF2_OBJECT_END_PTR_EXTENSION return (char *)f == obj->fde_end || f->length == 0; diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c index 3c5feea4e03..2325e1396f4 100644 --- a/gcc/unwind-dw2.c +++ b/gcc/unwind-dw2.c @@ -1,5 +1,5 @@ /* DWARF2 exception handling and frame unwind runtime interface routines. - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -782,6 +782,9 @@ execute_cfa_program (const unsigned char *insn_ptr, case DW_CFA_undefined: case DW_CFA_same_value: + insn_ptr = read_uleb128 (insn_ptr, ®); + break; + case DW_CFA_nop: break; diff --git a/gcc/varasm.c b/gcc/varasm.c index 8b321af8296..2790862bff3 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1,6 +1,6 @@ /* Output variables, constants and external declarations, for GNU compiler. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, - 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -2859,9 +2859,6 @@ struct constant_descriptor_rtx GTY(()) /* More constant_descriptors with the same hash code. */ struct constant_descriptor_rtx *next; - /* The label of the constant. */ - const char *label; - /* A MEM for the constant. */ rtx rtl; diff --git a/gcc/version.c b/gcc/version.c index 0e2662e910f..d5ccf10e18f 100644 --- a/gcc/version.c +++ b/gcc/version.c @@ -6,7 +6,7 @@ please modify this string to indicate that, e.g. by putting your organization's name in parentheses at the end of the string. */ -const char version_string[] = "3.3 20021213 (experimental)"; +const char version_string[] = "3.3 20030123 (prerelease)"; /* This is the location of the online document giving instructions for reporting bugs. If you distribute a modified version of GCC, |