aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
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
commitc97564d510b43a37155944883c39c545a9f7c7ae (patch)
tree1b38b9fc44e946c781be7a3b22a432ad7cdb8a51 /gcc
parent964944fc854c1dd723f7b8150d0deac634aabdbb (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')
-rw-r--r--gcc/ChangeLog601
-rw-r--r--gcc/Makefile.in8
-rw-r--r--gcc/aclocal.m45
-rw-r--r--gcc/ada/ChangeLog17
-rw-r--r--gcc/ada/Make-lang.in20
-rw-r--r--gcc/ada/gnat_rm.texi52
-rw-r--r--gcc/ada/gnat_ug.texi71
-rw-r--r--gcc/ada/gnat_ug_unx.texi38
-rw-r--r--gcc/ada/gnat_ug_vms.texi38
-rw-r--r--gcc/ada/gnat_ug_vxw.texi38
-rw-r--r--gcc/ada/gnat_ug_wnt.texi38
-rw-r--r--gcc/alias.c6
-rw-r--r--gcc/basic-block.h4
-rw-r--r--gcc/c-semantics.c2
-rw-r--r--gcc/c-typeck.c25
-rw-r--r--gcc/calls.c56
-rw-r--r--gcc/cfganal.c21
-rw-r--r--gcc/cfgbuild.c5
-rw-r--r--gcc/combine.c2
-rw-r--r--gcc/config.gcc3
-rw-r--r--gcc/config/alpha/alpha.c10
-rw-r--r--gcc/config/alpha/alpha.md6
-rw-r--r--gcc/config/darwin.h6
-rw-r--r--gcc/config/h8300/h8300-protos.h5
-rw-r--r--gcc/config/h8300/h8300.c50
-rw-r--r--gcc/config/h8300/h8300.h2
-rw-r--r--gcc/config/h8300/h8300.md61
-rw-r--r--gcc/config/i386/i386.c80
-rw-r--r--gcc/config/i386/i386.md18
-rw-r--r--gcc/config/i386/linux64.h12
-rw-r--r--gcc/config/i386/scodbx.h84
-rw-r--r--gcc/config/i386/xm-dgux.h4
-rw-r--r--gcc/config/i386/xm-sun.h21
-rw-r--r--gcc/config/i386/xm-sysv3.h3
-rw-r--r--gcc/config/i386/xmmintrin.h8
-rw-r--r--gcc/config/ip2k/ip2k.c111
-rw-r--r--gcc/config/ip2k/ip2k.h14
-rw-r--r--gcc/config/m68hc11/m68hc11-protos.h12
-rw-r--r--gcc/config/m68hc11/m68hc11.c56
-rw-r--r--gcc/config/m68hc11/m68hc11.h39
-rw-r--r--gcc/config/m68hc11/m68hc11.md16
-rw-r--r--gcc/config/m68hc11/m68hc12.h16
-rw-r--r--gcc/config/mips/mips.h31
-rw-r--r--gcc/config/mips/mips.md10
-rw-r--r--gcc/config/pa/pa-hpux11.h18
-rw-r--r--gcc/config/pa/pa.c55
-rw-r--r--gcc/config/pa/pa.h5
-rw-r--r--gcc/config/pa/pa.md2
-rw-r--r--gcc/config/pa/pa64-hpux.h203
-rw-r--r--gcc/config/pa/som.h53
-rw-r--r--gcc/config/rs6000/altivec.h16
-rw-r--r--gcc/config/rs6000/altivec.md63
-rw-r--r--gcc/config/rs6000/darwin.h4
-rw-r--r--gcc/config/rs6000/rs6000.c21
-rw-r--r--gcc/config/rs6000/rs6000.h13
-rw-r--r--gcc/config/s390/s390-protos.h4
-rw-r--r--gcc/config/s390/s390.c16
-rw-r--r--gcc/config/s390/s390.h6
-rw-r--r--gcc/config/s390/s390.md141
-rw-r--r--gcc/config/sh/sh.c4
-rw-r--r--gcc/config/sh/sh.h4
-rwxr-xr-xgcc/configure602
-rw-r--r--gcc/configure.in16
-rw-r--r--gcc/cp/ChangeLog159
-rw-r--r--gcc/cp/call.c84
-rw-r--r--gcc/cp/class.c13
-rw-r--r--gcc/cp/cp-tree.h7
-rw-r--r--gcc/cp/decl.c52
-rw-r--r--gcc/cp/decl2.c258
-rw-r--r--gcc/cp/dump.c8
-rw-r--r--gcc/cp/error.c19
-rw-r--r--gcc/cp/friend.c29
-rw-r--r--gcc/cp/init.c34
-rw-r--r--gcc/cp/method.c2
-rw-r--r--gcc/cp/parse.y68
-rw-r--r--gcc/cp/pt.c153
-rw-r--r--gcc/cp/semantics.c20
-rw-r--r--gcc/cp/tree.c6
-rw-r--r--gcc/cp/typeck.c12
-rw-r--r--gcc/cselib.c7
-rw-r--r--gcc/cselib.h2
-rw-r--r--gcc/doc/cpp.texi18
-rw-r--r--gcc/doc/extend.texi4
-rw-r--r--gcc/doc/gcc.texi57
-rw-r--r--gcc/doc/gccint.texi52
-rw-r--r--gcc/doc/gcov.texi7
-rw-r--r--gcc/doc/gty.texi4
-rw-r--r--gcc/doc/include/gcc-common.texi5
-rw-r--r--gcc/doc/include/texinfo.tex859
-rw-r--r--gcc/doc/install.texi35
-rw-r--r--gcc/doc/invoke.texi434
-rw-r--r--gcc/doc/md.texi65
-rw-r--r--gcc/doc/passes.texi3
-rw-r--r--gcc/doc/rtl.texi2
-rw-r--r--gcc/doc/service.texi8
-rw-r--r--gcc/doc/sourcebuild.texi2
-rw-r--r--gcc/doc/standards.texi2
-rw-r--r--gcc/doc/tm.texi6
-rw-r--r--gcc/doc/trouble.texi73
-rw-r--r--gcc/expr.c7
-rw-r--r--gcc/f/ChangeLog47
-rw-r--r--gcc/f/Make-lang.in12
-rw-r--r--gcc/f/bugs.texi5
-rw-r--r--gcc/f/g77.texi98
-rw-r--r--gcc/f/intdoc.in6
-rw-r--r--gcc/f/intdoc.texi6
-rw-r--r--gcc/f/lang-specs.h2
-rw-r--r--gcc/f/news.texi8
-rw-r--r--gcc/f/root.texi9
-rw-r--r--gcc/f/stc.c11
-rw-r--r--gcc/f/ste.c12
-rw-r--r--gcc/fixinc/fixfixes.c66
-rwxr-xr-xgcc/gccbug.in2
-rw-r--r--gcc/gcse.c3
-rw-r--r--gcc/gengtype-lex.l5
-rw-r--r--gcc/ggc-page.c4
-rw-r--r--gcc/ifcvt.c7
-rw-r--r--gcc/integrate.c4
-rw-r--r--gcc/java/ChangeLog66
-rw-r--r--gcc/java/Make-lang.in37
-rw-r--r--gcc/java/decl.c4
-rw-r--r--gcc/java/expr.c4
-rw-r--r--gcc/java/gcj.texi120
-rw-r--r--gcc/java/jcf-write.c8
-rw-r--r--gcc/java/lang.c1
-rw-r--r--gcc/java/parse.y57
-rw-r--r--gcc/jump.c29
-rw-r--r--gcc/loop.c11
-rw-r--r--gcc/optabs.c27
-rw-r--r--gcc/po/ChangeLog4
-rw-r--r--gcc/po/gcc.pot10929
-rw-r--r--gcc/predict.c44
-rw-r--r--gcc/reload1.c5
-rw-r--r--gcc/rtlanal.c6
-rw-r--r--gcc/stmt.c56
-rw-r--r--gcc/testsuite/ChangeLog123
-rw-r--r--gcc/testsuite/g++.dg/ext/typeof3.C4
-rw-r--r--gcc/testsuite/g++.dg/init/new1.C20
-rw-r--r--gcc/testsuite/g++.dg/lookup/decl1.C32
-rw-r--r--gcc/testsuite/g++.dg/lookup/decl2.C27
-rw-r--r--gcc/testsuite/g++.dg/lookup/scoped3.C23
-rw-r--r--gcc/testsuite/g++.dg/parse/conv_op1.C30
-rw-r--r--gcc/testsuite/g++.dg/template/access7.C18
-rw-r--r--gcc/testsuite/g++.dg/template/alignof1.C13
-rw-r--r--gcc/testsuite/g++.dg/template/conv5.C22
-rw-r--r--gcc/testsuite/g++.dg/template/friend10.C45
-rw-r--r--gcc/testsuite/g++.dg/template/friend12.C24
-rw-r--r--gcc/testsuite/g++.dg/template/friend13.C21
-rw-r--r--gcc/testsuite/g++.dg/template/friend9.C18
-rw-r--r--gcc/testsuite/g++.dg/template/ntp2.C16
-rw-r--r--gcc/testsuite/g++.dg/template/ttp3.C2
-rw-r--r--gcc/testsuite/g++.dg/template/type2.C16
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-3.C11
-rw-r--r--gcc/testsuite/g++.dg/warn/inline1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash64.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec6.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth10.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net31.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8786.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/defarg1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb42.C19
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20000804-1.x3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20001205-1.x3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20001226-1.x2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20020604-1.x4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20021015-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20021015-2.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20021123-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20021123-2.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20021123-3.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20021123-4.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20030110-1.c39
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920520-1.x3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961203-1.x3
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20021024-1.c43
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20021219-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030109-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030120-1.c50
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030120-2.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtin-constant.x11
-rw-r--r--gcc/testsuite/gcc.dg/20030120-1.c10
-rw-r--r--gcc/testsuite/gcc.dg/darwin-ld-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/h8300-stack-1.c14
-rw-r--r--gcc/testsuite/gcc.dg/i386-mmx-3.c17
-rw-r--r--gcc/testsuite/gcc.dg/old-style-asm-1.c19
-rw-r--r--gcc/testsuite/gcc.dg/tls/alias-1.c21
-rw-r--r--gcc/testsuite/lib/profopt.exp6
-rw-r--r--gcc/tree.h2
-rw-r--r--gcc/treelang/ChangeLog15
-rw-r--r--gcc/treelang/Make-lang.in18
-rw-r--r--gcc/treelang/treelang.texi89
-rw-r--r--gcc/unwind-dw2-fde.h4
-rw-r--r--gcc/unwind-dw2.c5
-rw-r--r--gcc/varasm.c5
-rw-r--r--gcc/version.c2
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, &reg);
+ 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,